commit:     c5d15ae7a8562758324929aec51ee08c6c8b8ac5
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  5 16:43:37 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Mon Jul  5 16:53:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5d15ae7

sys-process/numactl: keyword 2.0.14 for ~riscv

Needed a backported upstream patch to link against libatomic
but with that in place, builds and installs just fine.

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../numactl/files/numactl-2.0.14-latomic.patch     | 50 ++++++++++++++++++++++
 sys-process/numactl/numactl-2.0.14.ebuild          |  3 +-
 2 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/sys-process/numactl/files/numactl-2.0.14-latomic.patch 
b/sys-process/numactl/files/numactl-2.0.14-latomic.patch
new file mode 100644
index 00000000000..61655f40996
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.14-latomic.patch
@@ -0,0 +1,50 @@
+From e0de0d9e981ddb53bdeb4a4b9dc43046c9ff4ff9 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <[email protected]>
+Date: Thu, 6 May 2021 23:08:36 +0200
+Subject: [PATCH] link with -latomic if needed
+
+numactl unconditionally uses __atomic_fetch_and but some architectures
+(e.g. sparc) needs to link with -latomic to be able to use it. So check
+if -latomic is needed and update numa.pc accordingly
+
+Signed-off-by: Fabrice Fontaine <[email protected]>
+---
+ Makefile.am  | 1 +
+ configure.ac | 2 ++
+ numa.pc.in   | 1 +
+ 3 files changed, 4 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 44d0d76..34f6815 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -151,6 +151,7 @@ SED_PROCESS = \
+         -e 's,@exec_prefix\@,$(exec_prefix),g' \
+         -e 's,@libdir\@,$(libdir),g' \
+         -e 's,@includedir\@,$(includedir),g' \
++        -e 's,@LIBS\@,$(LIBS),g' \
+         < $< > $@ || rm $@
+ 
+ %.pc: %.pc.in Makefile
+diff --git a/configure.ac b/configure.ac
+index 659a765..e3b0eb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -24,6 +24,8 @@ AM_CONDITIONAL([HAVE_TREE_VECTORIZE], [test 
x"${tree_vectorize}" = x"true"])
+ 
+ AC_CONFIG_FILES([Makefile])
+ 
++AC_SEARCH_LIBS([__atomic_fetch_and_1], [atomic])
++
+ # GCC tries to be "helpful" and only issue a warning for unrecognized
+ # attributes.  So we compile the test with Werror, so that if the
+ # attribute is not recognized the compilation fails
+diff --git a/numa.pc.in b/numa.pc.in
+index 8a0f202..cc04d50 100644
+--- a/numa.pc.in
++++ b/numa.pc.in
+@@ -8,3 +8,4 @@ Description: NUMA policy library
+ Version: @VERSION@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -lnuma
++Libs.Private: @LIBS@

diff --git a/sys-process/numactl/numactl-2.0.14.ebuild 
b/sys-process/numactl/numactl-2.0.14.ebuild
index 05dee9031d2..e6f89bb776d 100644
--- a/sys-process/numactl/numactl-2.0.14.ebuild
+++ b/sys-process/numactl/numactl-2.0.14.ebuild
@@ -13,7 +13,7 @@ if [[ "${PV}" == 9999 ]] ; then
 else
        
SRC_URI="https://github.com/numactl/numactl/releases/download/v${PV}/${P}.tar.gz";
        # ARM lacks the __NR_migrate_pages syscall.
-       KEYWORDS="~alpha amd64 -arm arm64 ~ia64 ~mips ppc ppc64 sparc x86 
~amd64-linux"
+       KEYWORDS="~alpha amd64 -arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc 
x86 ~amd64-linux"
 fi
 
 LICENSE="GPL-2"
@@ -21,6 +21,7 @@ SLOT="0"
 IUSE="static-libs"
 
 PATCHES=(
+       "${FILESDIR}"/${PN}-2.0.14-latomic.patch
        "${FILESDIR}"/${PN}-2.0.14-numademo-cflags.patch #540856
 )
 

Reply via email to