commit:     6d5f2daeee8249439d1c59bd3e0c6e023e2f5e5b
Author:     jinqiang zhang <peeweep <AT> 0x0 <DOT> ee>
AuthorDate: Tue Mar  7 07:51:03 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 11 17:15:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d5f2dae

net-libs/zeromq: fix compile failed under riscv64 qemu-user

Closes: https://bugs.gentoo.org/899986
Signed-off-by: jinqiang zhang <peeweep <AT> 0x0.ee>
Closes: https://github.com/gentoo/gentoo/pull/29972
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/zeromq/files/zeromq-4.3.4-qemu-user.patch | 52 ++++++++++++++++++++++
 net-libs/zeromq/zeromq-4.3.4-r2.ebuild             |  1 +
 2 files changed, 53 insertions(+)

diff --git a/net-libs/zeromq/files/zeromq-4.3.4-qemu-user.patch 
b/net-libs/zeromq/files/zeromq-4.3.4-qemu-user.patch
new file mode 100644
index 000000000000..8374496e39e1
--- /dev/null
+++ b/net-libs/zeromq/files/zeromq-4.3.4-qemu-user.patch
@@ -0,0 +1,52 @@
+UPSTREAM: https://github.com/zeromq/libzmq/pull/4486
+BUG: https://bugs.gentoo.org/899986
+From: Han Gao <[email protected]>
+
+In qemu-user, CACHELINE_SIZE probe is undefined
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8672d61799..072a6507e9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -481,7 +481,8 @@ execute_process(
+   ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(CACHELINE_SIZE STREQUAL ""
+    OR CACHELINE_SIZE EQUAL 0
+-   OR CACHELINE_SIZE EQUAL -1)
++   OR CACHELINE_SIZE EQUAL -1
++   OR CACHELINE_SIZE EQUAL "undefined")
+   set(ZMQ_CACHELINE_SIZE 64)
+ else()
+   set(ZMQ_CACHELINE_SIZE ${CACHELINE_SIZE})
+diff --git a/RELICENSE/hangao.md b/RELICENSE/hangao.md
+new file mode 100644
+index 0000000000..de100bb59a
+--- /dev/null
++++ b/RELICENSE/hangao.md
+@@ -0,0 +1,13 @@
++# Permission to Relicense under MPLv2 or any other OSI approved license 
chosen by the current ZeroMQ BDFL
++
++This is a statement by Han Gao that grants permission to relicense its 
copyrights in the libzmq C++
++library (ZeroMQ) under the Mozilla Public License v2 (MPLv2) or any other 
++Open Source Initiative approved license chosen by the current ZeroMQ 
++BDFL (Benevolent Dictator for Life).
++
++A portion of the commits made by the Github handle "Rabenda", with
++commit author "Han Gao <[email protected]>" or "Han Gao 
<[email protected]>", are copyright of Han Gao .
++This document hereby grants the libzmq project team to relicense libzmq, 
++including all past, present and future contributions of the author listed 
above.
++
++Han Gao 2023/01/10
+diff --git a/acinclude.m4 b/acinclude.m4
+index ac55776e53..f27fc8e831 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1254,7 +1254,7 @@ AC_DEFUN([LIBZMQ_CHECK_CACHELINE], [{
+     AC_CHECK_TOOL(libzmq_getconf, getconf)
+     if ! test "x$libzmq_getconf" = "x"; then
+         zmq_cacheline_size=$($libzmq_getconf LEVEL1_DCACHE_LINESIZE 
2>/dev/null || echo 64)
+-        if test "x$zmq_cacheline_size" = "x0" -o  "x$zmq_cacheline_size" = 
"x-1"; then
++        if test "x$zmq_cacheline_size" = "x0" -o  "x$zmq_cacheline_size" = 
"x-1" -o "x$zmq_cacheline_size" = "xundefined"; then
+             # getconf on some architectures does not know the size, try to 
fallback to
+             # the value the kernel knows on Linux
+             zmq_cacheline_size=$(cat 
/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size 2>/dev/null || 
echo 64)

diff --git a/net-libs/zeromq/zeromq-4.3.4-r2.ebuild 
b/net-libs/zeromq/zeromq-4.3.4-r2.ebuild
index 06892942f602..7cb568736d2d 100644
--- a/net-libs/zeromq/zeromq-4.3.4-r2.ebuild
+++ b/net-libs/zeromq/zeromq-4.3.4-r2.ebuild
@@ -34,6 +34,7 @@ BDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/${P}-gcc-13.patch
+       "${FILESDIR}"/${P}-qemu-user.patch
 )
 
 src_prepare() {

Reply via email to