diff options
Diffstat (limited to 'sys-process/numactl/numactl-2.0.14.ebuild')
-rw-r--r-- | sys-process/numactl/numactl-2.0.14.ebuild | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/sys-process/numactl/numactl-2.0.14.ebuild b/sys-process/numactl/numactl-2.0.14.ebuild new file mode 100644 index 000000000000..10a7d7f07962 --- /dev/null +++ b/sys-process/numactl/numactl-2.0.14.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic toolchain-funcs multilib-minimal + +DESCRIPTION="Utilities and libraries for NUMA systems" +HOMEPAGE="https://github.com/numactl/numactl" +if [[ "${PV}" == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/numactl/numactl.git" +else + SRC_URI="https://github.com/numactl/numactl/releases/download/v${PV}/${P}.tar.gz" + # ARM lacks the __NR_migrate_pages syscall. + KEYWORDS="~amd64 -arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="static-libs" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.14-numademo-cflags.patch #540856 +) + +src_prepare() { + default + + # lto not supported yet + # gcc-9 with -flto leads to link failures: #692254 + filter-flags -flto* + + eautoreconf + # We need to copy the sources or else tests will fail + multilib_copy_sources +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf $(use_enable static-libs static) +} + +multilib_src_compile() { + multilib_is_native_abi && default || emake libnuma.la +} + +multilib_src_test() { + if multilib_is_native_abi ; then + if [[ -d /sys/devices/system/node ]] ; then + einfo "The only generically safe test is regress2." + einfo "The other test cases require 2 NUMA nodes." + emake regress2 + else + ewarn "You do not have baseline NUMA support in your kernel, skipping tests." + fi + fi +} + +multilib_src_install() { + emake DESTDIR="${D}" \ + install$(multilib_is_native_abi || echo "-libLTLIBRARIES install-includeHEADERS") + find "${ED}"/usr/ -type f -name libnuma.la -delete || die +} + +multilib_src_install_all() { + local DOCS=( README.md ) + einstalldocs + # delete man pages provided by the man-pages package #238805 + rm -r "${ED}"/usr/share/man/man[25] || die +} |