Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: dev-libs/memkind/
Date: Sat, 26 Mar 2022 07:36:40
Message-Id: 1648279699.daf9eab9a7d7834f98dbe348a9714c5609a6797f.Alessandro-Barbieri@gentoo
1 commit: daf9eab9a7d7834f98dbe348a9714c5609a6797f
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Sat Mar 26 07:28:19 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Sat Mar 26 07:28:19 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=daf9eab9
7
8 dev-libs/memkind: add 1.13.0
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 dev-libs/memkind/Manifest | 1 +
13 dev-libs/memkind/memkind-1.13.0.ebuild | 83 ++++++++++++++++++++++++++++++++++
14 dev-libs/memkind/metadata.xml | 1 +
15 3 files changed, 85 insertions(+)
16
17 diff --git a/dev-libs/memkind/Manifest b/dev-libs/memkind/Manifest
18 index ccd278dda..a753c820a 100644
19 --- a/dev-libs/memkind/Manifest
20 +++ b/dev-libs/memkind/Manifest
21 @@ -1 +1,2 @@
22 DIST memkind-1.11.0.tar.gz 1072455 BLAKE2B 2de2cf053687ba2150f694e8c4143eeca74fc377feee2b6892067b661d8c58d7d5fcacb021fc92a47dad27f52aa4cbc6408cfede3141ab1f8ae81147b49aa6a7 SHA512 0b5bde35b3565c730fa954aebfe2ccbecd1e120c920d05acdbc0a74914731a90aeef8d57101f1f47bd35fd310bc143fa517bc871b32e592b8412384ff652fc05
23 +DIST memkind-1.13.0.tar.gz 1111767 BLAKE2B fb2b0ca70b6da32b2bf42cba68f549c279f301f2c9b2eb2f7dfcb2909105bb1eb84bd6abdf15dfcb5f45a5e0bab7fbd0aef95ce090b06b02bc8ae099bdf1b0ca SHA512 509d49e3c67321496b322469d4bb13aa8b9038e94dc9bdfb379c38e86a5705ba13bc015443da8291be49711e14bce9845b697f62cfcc981168f255f9fb515b0e
24
25 diff --git a/dev-libs/memkind/memkind-1.13.0.ebuild b/dev-libs/memkind/memkind-1.13.0.ebuild
26 new file mode 100644
27 index 000000000..ac1b42959
28 --- /dev/null
29 +++ b/dev-libs/memkind/memkind-1.13.0.ebuild
30 @@ -0,0 +1,83 @@
31 +# Copyright 1999-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=8
35 +
36 +PYTHON_COMPAT=( python3_{8..10} pypy3 )
37 +
38 +inherit autotools linux-info python-any-r1 toolchain-funcs
39 +
40 +DESCRIPTION="user extensible heap manager built on top of jemalloc"
41 +HOMEPAGE="https://memkind.github.io/memkind"
42 +SRC_URI="https://github.com/memkind/memkind/archive/v${PV}.tar.gz -> ${P}.tar.gz"
43 +KEYWORDS="~amd64"
44 +
45 +LICENSE="BSD"
46 +SLOT="0"
47 +IUSE="+daxctl debug decorators filelog +heap-manager hwloc initial-exec-tls openmp secure test +tls"
48 +
49 +RDEPEND="
50 + daxctl? ( sys-block/ndctl )
51 + hwloc? ( sys-apps/hwloc )
52 + sys-process/numactl
53 +"
54 +DEPEND="
55 + ${RDEPEND}
56 + ${PYTHON_DEPS}
57 +"
58 +
59 +PATCHES=( "${FILESDIR}/${PN}-respect-ar.patch" )
60 +RESTRICT="test" # ERROR: ./test/test.sh requires a NUMA enabled system with more than one node.
61 +#RESTRICT="!test? ( test )"
62 +
63 +pkg_pretend() {
64 + linux-info_pkg_setup
65 + CONFIG_CHECK_MODULES=""
66 + if use daxctl; then
67 + CONFIG_CHECK_MODULES+="DEV_DAX_KMEM "
68 + fi
69 + if linux_config_exists; then
70 + for module in ${CONFIG_CHECK_MODULES}; do
71 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
72 + done
73 + fi
74 +}
75 +
76 +src_prepare() {
77 + default
78 + eautoreconf
79 + cd jemalloc && eautoreconf
80 +}
81 +
82 +src_configure() {
83 + tc-export AR
84 + local myconf=(
85 + --disable-debug
86 + --disable-gcov
87 + --enable-shared
88 + --enable-static
89 + $(use_enable daxctl)
90 + $(use_enable decorators)
91 + $(use_enable debug debug-jemalloc)
92 + $(use_enable heap-manager)
93 + $(use_enable hwloc)
94 + $(use_enable initial-exec-tls memkind-initial-exec-tls)
95 + $(use_enable logging-to-file filelog)
96 + $(use_enable openmp)
97 + $(use_enable secure)
98 + $(use_enable tls)
99 + )
100 + econf "${myconf[@]}"
101 +}
102 +
103 +src_install() {
104 + default
105 + find "${ED}" -name '*.la' -delete || die
106 + find "${ED}" -name '*.a' -delete || die
107 +}
108 +
109 +src_test() {
110 + addwrite /proc/sys/vm/nr_hugepages
111 + echo 3000 > /proc/sys/vm/nr_hugepages
112 + emake check
113 +}
114
115 diff --git a/dev-libs/memkind/metadata.xml b/dev-libs/memkind/metadata.xml
116 index 1c0d07d52..c063cd6ec 100644
117 --- a/dev-libs/memkind/metadata.xml
118 +++ b/dev-libs/memkind/metadata.xml
119 @@ -19,6 +19,7 @@ The memkind library is a user extensible heap manager built on top of jemalloc w
120 <flag name="decorators">Enable decorators</flag>
121 <flag name="heap-manager">Allow switching allocator at runtime</flag>
122 <flag name="hwloc">Build library with hwloc support</flag>
123 + <flag name="filelog">Log to file for each process</flag>
124 <flag name="initial-exec-tls">Build library with initial-exec-tls support</flag>
125 <flag name="secure">Build libraries with security enhancements</flag>
126 <flag name="tls">Enable thread local storage</flag>