summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-process')
-rw-r--r--sys-process/numactl/Manifest1
-rw-r--r--sys-process/numactl/files/numactl-2.0.14-numademo-cflags.patch15
-rw-r--r--sys-process/numactl/numactl-2.0.14.ebuild70
3 files changed, 86 insertions, 0 deletions
diff --git a/sys-process/numactl/Manifest b/sys-process/numactl/Manifest
index 318046859f0a..fdd5d49a0d19 100644
--- a/sys-process/numactl/Manifest
+++ b/sys-process/numactl/Manifest
@@ -1,2 +1,3 @@
DIST numactl-2.0.12.tar.gz 423020 BLAKE2B 39d33612591df805715c51280bf34b8328ba6fc49bdaf9dd3bd67e076f9d319c9622ef72766c12e319f4be27ee9ec7f5ecb054a6e8c7c3cf568a69aea624d511 SHA512 316b10f50e6eee4cee9cf191f19381ec4a61980354eec3f9fe43fef21465bee28a82adeb9c235d4877e82950ccd14c9473b79fd1e2f5a7f598ec2fac230780ff
DIST numactl-2.0.13.tar.gz 438096 BLAKE2B f615fafdb366930c6cdee1e4ef3d1e1d5e21f8f1c09aa904c0ebfa56972a99144991c6907127ef35794ca19d711e41b54488c5bfaeca8a0149ab9697d8c1ef75 SHA512 f7b747eb8f3ded9f3661cb0fc7b65b5ed490677f881f8fe6a000baf714747515853b4e5c8781b014241180bf16e9f0bfdf2c6f758725e34b4938696ba496b72a
+DIST numactl-2.0.14.tar.gz 439000 BLAKE2B 5f2abe25061ac29ecad8a6b24fe800d72c3538d9a155358f4b329ed1140053c7dbd93f01891904f76db94ed01113a34b4ebcbbf40e4060caf747958785ac9590 SHA512 28b95985d6b2f26c5f6f15fe235224c998c86f534adf5fdaa355a292cf2fd65515c91ba2a76c899d552d439b18ea1209a1712bd6755f8ee3a442f3935993b2e6
diff --git a/sys-process/numactl/files/numactl-2.0.14-numademo-cflags.patch b/sys-process/numactl/files/numactl-2.0.14-numademo-cflags.patch
new file mode 100644
index 000000000000..de7ad2894ddc
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.14-numademo-cflags.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/540856
+
+respect user CFLAGS
+
+--- numactl-2.0.14/Makefile.am
++++ numactl-2.0.14/Makefile.am
+@@ -24,7 +24,7 @@
+
+ numademo_SOURCES = numademo.c stream_lib.c stream_lib.h mt.c mt.h clearcache.c clearcache.h
+ numademo_CPPFLAGS = $(AM_CPPFLAGS) -DHAVE_STREAM_LIB -DHAVE_MT -DHAVE_CLEAR_CACHE
+-numademo_CFLAGS = $(AM_CFLAGS) -O3 -ffast-math -funroll-loops
++numademo_CFLAGS = $(AM_CFLAGS) -ffast-math -funroll-loops
+ if HAVE_TREE_VECTORIZE
+ numademo_CFLAGS += -ftree-vectorize
+ endif
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
+}