| # Copyright 1999-2021 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| |
| inherit autotools flag-o-matic 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="*" |
| fi |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| IUSE="static-libs" |
| |
| PATCHES=( |
| "${FILESDIR}"/${PN}-2.0.14-latomic.patch |
| "${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 |
| } |