diff options
Diffstat (limited to 'sys-process')
-rw-r--r-- | sys-process/numactl/Manifest | 1 | ||||
-rw-r--r-- | sys-process/numactl/files/numactl-2.0.14-numademo-cflags.patch | 15 | ||||
-rw-r--r-- | sys-process/numactl/numactl-2.0.14.ebuild | 70 |
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 +} |