Files
guru/dev-libs/memkind/memkind-1.13.0.ebuild
Alessandro Barbieri daf9eab9a7 dev-libs/memkind: add 1.13.0
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
2022-03-26 08:28:19 +01:00

84 lines
1.8 KiB
Bash

# 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
}