net-libs/libtirpc: fix build with gcc 10
authorMike Gilbert <floppym@gentoo.org>
Sun, 19 Jan 2020 22:09:40 +0000 (17:09 -0500)
committerMike Gilbert <floppym@gentoo.org>
Sun, 19 Jan 2020 22:10:17 +0000 (17:10 -0500)
Closes: https://bugs.gentoo.org/705896
Package-Manager: Portage-2.3.84_p2, Repoman-2.3.20_p24
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
net-libs/libtirpc/files/libtirpc-1.2.5-avoid-multiple-definition.patch [new file with mode: 0644]
net-libs/libtirpc/libtirpc-1.2.5.ebuild

diff --git a/net-libs/libtirpc/files/libtirpc-1.2.5-avoid-multiple-definition.patch b/net-libs/libtirpc/files/libtirpc-1.2.5-avoid-multiple-definition.patch
new file mode 100644 (file)
index 0000000..a5fecc5
--- /dev/null
@@ -0,0 +1,44 @@
+From 69682de06816de9b9014441d23bda1918ee2e2fb Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 19 Jan 2020 16:57:45 -0500
+Subject: [PATCH] Avoid multiple-definiton with gcc -fno-common
+
+GCC 10 enables -fno-common by default.
+
+Bug: https://bugs.gentoo.org/705896
+---
+ src/rpc_com.h | 3 +--
+ src/svc.c     | 3 +++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/rpc_com.h b/src/rpc_com.h
+index 10bec79..76badef 100644
+--- a/src/rpc_com.h
++++ b/src/rpc_com.h
+@@ -61,8 +61,7 @@ void __xprt_unregister_unlocked(SVCXPRT *);
+ void __xprt_set_raddr(SVCXPRT *, const struct sockaddr_storage *);
+-SVCXPRT **__svc_xports;
+-int __svc_maxrec;
++extern int __svc_maxrec;
+ #ifdef __cplusplus
+ }
+diff --git a/src/svc.c b/src/svc.c
+index b59467b..6db164b 100644
+--- a/src/svc.c
++++ b/src/svc.c
+@@ -57,6 +57,9 @@
+ #define max(a, b) (a > b ? a : b)
++static SVCXPRT **__svc_xports;
++int __svc_maxrec;
++
+ /*
+  * The services list
+  * Each entry represents a set of procedures (an rpc program).
+-- 
+2.25.0
+
index 5d80a874a922865ef766c97f5917f9bfc4c8e4a4..9970a7e625504de70e5ca9cb92b39760890b665c 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -23,6 +23,9 @@ BDEPEND="
 
 src_prepare() {
        cp -r "${WORKDIR}"/tirpc "${S}"/ || die
+       local PATCHES=(
+               "${FILESDIR}"/libtirpc-1.2.5-avoid-multiple-definition.patch
+       )
        default
        eautoreconf
 }