Gentoo Archives: gentoo-commits

From: Haelwenn Monnier <contact@×××××××××.me>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-libs/memkind/
Date: Tue, 07 Sep 2021 02:58:58
Message-Id: 1630823608.9d64d349f1b52d953d9cbb0378b5b9163893c3ad.lanodan@gentoo
1 commit: 9d64d349f1b52d953d9cbb0378b5b9163893c3ad
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Sun Sep 5 06:33:28 2021 +0000
4 Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
5 CommitDate: Sun Sep 5 06:33:28 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9d64d349
7
8 dev-libs/memkind: more useflags
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 ...d-1.11.0-r1.ebuild => memkind-1.11.0-r2.ebuild} | 33 +++++++++++++++++++---
13 dev-libs/memkind/metadata.xml | 9 ++++++
14 2 files changed, 38 insertions(+), 4 deletions(-)
15
16 diff --git a/dev-libs/memkind/memkind-1.11.0-r1.ebuild b/dev-libs/memkind/memkind-1.11.0-r2.ebuild
17 similarity index 58%
18 rename from dev-libs/memkind/memkind-1.11.0-r1.ebuild
19 rename to dev-libs/memkind/memkind-1.11.0-r2.ebuild
20 index a3e239b54..45310e91a 100644
21 --- a/dev-libs/memkind/memkind-1.11.0-r1.ebuild
22 +++ b/dev-libs/memkind/memkind-1.11.0-r2.ebuild
23 @@ -14,10 +14,11 @@ KEYWORDS="~amd64"
24
25 LICENSE="BSD"
26 SLOT="0"
27 -IUSE="+heap-manager openmp secure test +tls" #daxctl
28 +IUSE="+daxctl debug decorators +heap-manager hwloc initial-exec-tls openmp secure test +tls"
29
30 RDEPEND="
31 - sys-block/ndctl
32 + daxctl? ( sys-block/ndctl )
33 + hwloc? ( sys-apps/hwloc )
34 sys-process/numactl
35 "
36 DEPEND="
37 @@ -29,6 +30,19 @@ PATCHES=( "${FILESDIR}/${PN}-respect-ar.patch" )
38 RESTRICT="test" # ERROR: ./test/test.sh requires a NUMA enabled system with more than one node.
39 #RESTRICT="!test? ( test )"
40
41 +pkg_pretend() {
42 + linux-info_pkg_setup
43 + CONFIG_CHECK_MODULES=""
44 + if use daxctl; then
45 + CONFIG_CHECK_MODULES+="DEV_DAX_KMEM "
46 + fi
47 + if linux_config_exists; then
48 + for module in ${CONFIG_CHECK_MODULES}; do
49 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
50 + done
51 + fi
52 +}
53 +
54 src_prepare() {
55 default
56 eautoreconf
57 @@ -38,11 +52,16 @@ src_prepare() {
58 src_configure() {
59 tc-export AR
60 local myconf=(
61 - --disable-silent-rules
62 + --disable-debug
63 + --disable-gcov
64 --enable-shared
65 --enable-static
66 - --enable-daxctl
67 + $(use_enable daxctl)
68 + $(use_enable decorators)
69 + $(use_enable debug debug-jemalloc)
70 $(use_enable heap-manager)
71 + $(use_enable hwloc)
72 + $(use_enable initial-exec-tls memkind-initial-exec-tls)
73 $(use_enable openmp)
74 $(use_enable secure)
75 $(use_enable tls)
76 @@ -50,6 +69,12 @@ src_configure() {
77 econf "${myconf[@]}"
78 }
79
80 +src_install() {
81 + default
82 + find "${ED}" -name '*.la' -delete || die
83 + find "${ED}" -name '*.a' -delete || die
84 +}
85 +
86 src_test() {
87 addwrite /proc/sys/vm/nr_hugepages
88 echo 3000 > /proc/sys/vm/nr_hugepages
89
90 diff --git a/dev-libs/memkind/metadata.xml b/dev-libs/memkind/metadata.xml
91 index 85632a06d..1c0d07d52 100644
92 --- a/dev-libs/memkind/metadata.xml
93 +++ b/dev-libs/memkind/metadata.xml
94 @@ -1,16 +1,25 @@
95 <?xml version="1.0" encoding="UTF-8"?>
96 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
97 <pkgmetadata>
98 + <longdescription lang="en">
99 +The memkind library is a user extensible heap manager built on top of jemalloc which enables control of memory characteristics and a partitioning of the heap between kinds of memory. The kinds of memory are defined by operating system memory policies that have been applied to virtual address ranges. Memory characteristics supported by memkind without user extension include control of NUMA and page size features. The jemalloc non-standard interface has been extended to enable specialized arenas to make requests for virtual memory from the operating system through the memkind partition interface. Through the other memkind interfaces the user can control and extend memory partition features and allocate memory while selecting enabled features. Memkind interface allows to create and control file-backed memory (PMEM kind) on specified device.
100 + </longdescription>
101 <maintainer type="person">
102 <description>co-maintainers welcome</description>
103 <email>lssndrbarbieri@×××××.com</email>
104 <name>Alessandro Barbieri</name>
105 </maintainer>
106 <upstream>
107 + <bugs-to>https://github.com/memkind/memkind/issues</bugs-to>
108 <remote-id type="github">memkind/memkind</remote-id>
109 </upstream>
110 <use>
111 + <flag name="daxctl">Build library with daxctl support</flag>
112 + <flag name="debug">Build debugging jemalloc code</flag>
113 + <flag name="decorators">Enable decorators</flag>
114 <flag name="heap-manager">Allow switching allocator at runtime</flag>
115 + <flag name="hwloc">Build library with hwloc support</flag>
116 + <flag name="initial-exec-tls">Build library with initial-exec-tls support</flag>
117 <flag name="secure">Build libraries with security enhancements</flag>
118 <flag name="tls">Enable thread local storage</flag>
119 </use>