commit: daf9eab9a7d7834f98dbe348a9714c5609a6797f
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sat Mar 26 07:28:19 2022 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Mar 26 07:28:19 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=daf9eab9
dev-libs/memkind: add 1.13.0
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
dev-libs/memkind/Manifest | 1 +
dev-libs/memkind/memkind-1.13.0.ebuild | 83 ++++++++++++++++++++++++++++++++++
dev-libs/memkind/metadata.xml | 1 +
3 files changed, 85 insertions(+)
diff --git a/dev-libs/memkind/Manifest b/dev-libs/memkind/Manifest
index ccd278dda..a753c820a 100644
--- a/dev-libs/memkind/Manifest
+++ b/dev-libs/memkind/Manifest
@@ -1 +1,2 @@
DIST memkind-1.11.0.tar.gz 1072455 BLAKE2B
2de2cf053687ba2150f694e8c4143eeca74fc377feee2b6892067b661d8c58d7d5fcacb021fc92a47dad27f52aa4cbc6408cfede3141ab1f8ae81147b49aa6a7
SHA512
0b5bde35b3565c730fa954aebfe2ccbecd1e120c920d05acdbc0a74914731a90aeef8d57101f1f47bd35fd310bc143fa517bc871b32e592b8412384ff652fc05
+DIST memkind-1.13.0.tar.gz 1111767 BLAKE2B
fb2b0ca70b6da32b2bf42cba68f549c279f301f2c9b2eb2f7dfcb2909105bb1eb84bd6abdf15dfcb5f45a5e0bab7fbd0aef95ce090b06b02bc8ae099bdf1b0ca
SHA512
509d49e3c67321496b322469d4bb13aa8b9038e94dc9bdfb379c38e86a5705ba13bc015443da8291be49711e14bce9845b697f62cfcc981168f255f9fb515b0e
diff --git a/dev-libs/memkind/memkind-1.13.0.ebuild
b/dev-libs/memkind/memkind-1.13.0.ebuild
new file mode 100644
index 000000000..ac1b42959
--- /dev/null
+++ b/dev-libs/memkind/memkind-1.13.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit autotools linux-info python-any-r1 toolchain-funcs
+
+DESCRIPTION="user extensible heap manager built on top of jemalloc"
+HOMEPAGE="https://memkind.github.io/memkind"
+SRC_URI="https://github.com/memkind/memkind/archive/v${PV}.tar.gz ->
${P}.tar.gz"
+KEYWORDS="~amd64"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+daxctl debug decorators filelog +heap-manager hwloc initial-exec-tls
openmp secure test +tls"
+
+RDEPEND="
+ daxctl? ( sys-block/ndctl )
+ hwloc? ( sys-apps/hwloc )
+ sys-process/numactl
+"
+DEPEND="
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-respect-ar.patch" )
+RESTRICT="test" # ERROR: ./test/test.sh requires a NUMA enabled system with
more than one node.
+#RESTRICT="!test? ( test )"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use daxctl; then
+ CONFIG_CHECK_MODULES+="DEV_DAX_KMEM "
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module}
needs to be enabled"
+ done
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+ cd jemalloc && eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+ local myconf=(
+ --disable-debug
+ --disable-gcov
+ --enable-shared
+ --enable-static
+ $(use_enable daxctl)
+ $(use_enable decorators)
+ $(use_enable debug debug-jemalloc)
+ $(use_enable heap-manager)
+ $(use_enable hwloc)
+ $(use_enable initial-exec-tls memkind-initial-exec-tls)
+ $(use_enable logging-to-file filelog)
+ $(use_enable openmp)
+ $(use_enable secure)
+ $(use_enable tls)
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name '*.a' -delete || die
+}
+
+src_test() {
+ addwrite /proc/sys/vm/nr_hugepages
+ echo 3000 > /proc/sys/vm/nr_hugepages
+ emake check
+}
diff --git a/dev-libs/memkind/metadata.xml b/dev-libs/memkind/metadata.xml
index 1c0d07d52..c063cd6ec 100644
--- a/dev-libs/memkind/metadata.xml
+++ b/dev-libs/memkind/metadata.xml
@@ -19,6 +19,7 @@ The memkind library is a user extensible heap manager built
on top of jemalloc w
<flag name="decorators">Enable decorators</flag>
<flag name="heap-manager">Allow switching allocator at
runtime</flag>
<flag name="hwloc">Build library with hwloc support</flag>
+ <flag name="filelog">Log to file for each process</flag>
<flag name="initial-exec-tls">Build library with
initial-exec-tls support</flag>
<flag name="secure">Build libraries with security
enhancements</flag>
<flag name="tls">Enable thread local storage</flag>