sys-apps/iproute2: musl compilefix
authorRobin H. Johnson <robbat2@gentoo.org>
Tue, 11 Jun 2019 15:16:49 +0000 (08:16 -0700)
committerRobin H. Johnson <robbat2@gentoo.org>
Tue, 11 Jun 2019 15:16:49 +0000 (08:16 -0700)
Package-Manager: Portage-2.3.67, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
sys-apps/iproute2/files/iproute2-5.1.0-portability.patch [new file with mode: 0644]
sys-apps/iproute2/iproute2-5.1.0.ebuild

diff --git a/sys-apps/iproute2/files/iproute2-5.1.0-portability.patch b/sys-apps/iproute2/files/iproute2-5.1.0-portability.patch
new file mode 100644 (file)
index 0000000..e704f65
--- /dev/null
@@ -0,0 +1,32 @@
+From 202d79fcf4e184818bd074f8c06e94e700670898 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Tue, 11 Jun 2019 01:48:01 -0500
+Subject: [PATCH] including sysinfo.h from kernel.h makes no sense whatsoever,
+ but removing it breaks glibc's userspace header, which includes kernel.h
+ instead of sysinfo.h from their sys/sysinfo.h. this seems to be a historical
+ mistake. on musl, including any header that uses kernel.h directly or
+ indirectly plus sys/sysinfo.h will produce a compile error due to
+ redefinition of struct sysinfo. so for now, only include it on glibc in order
+ not to break their headers.
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ include/uapi/linux/kernel.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/uapi/linux/kernel.h b/include/uapi/linux/kernel.h
+index d99ffa1..f917115 100644
+--- a/include/uapi/linux/kernel.h
++++ b/include/uapi/linux/kernel.h
+@@ -2,7 +2,9 @@
+ #ifndef _LINUX_KERNEL_H
+ #define _LINUX_KERNEL_H
++#ifdef __GLIBC__
+ #include <linux/sysinfo.h>
++#endif
+ /*
+  * 'kernel.h' contains some often-used function prototypes etc
+-- 
+2.22.0
index 5db7d040eeeeb5bb8c6be4b0e6c9e89abb883a28..f2771e5b49e4568fdd2dbbbd91a61d05e0e1107b 100644 (file)
@@ -47,6 +47,7 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
        "${FILESDIR}"/${PN}-4.20.0-configure-nomagic.patch # bug 643722
+       "${FILESDIR}"/${PN}-5.1.0-portability.patch
 )
 
 src_prepare() {