summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabi Falk <gabifalk@gmx.com>2024-05-11 09:00:00 +0000
committerSam James <sam@gentoo.org>2024-05-21 12:48:20 +0100
commitf51d73e7859d3df6589908082be198bdc34e4871 (patch)
tree14306174f4a93ae2f3982191289c9d07140a3871 /sys-apps
parentnet-misc/openssh: fix implicit function declaraions with USE=xmss (diff)
downloadgentoo-f51d73e7859d3df6589908082be198bdc34e4871.tar.gz
gentoo-f51d73e7859d3df6589908082be198bdc34e4871.tar.bz2
gentoo-f51d73e7859d3df6589908082be198bdc34e4871.zip
sys-apps/iproute2: fix compilation on musl-based systems with modern C (C99)
Closes: https://bugs.gentoo.org/922622 Signed-off-by: Gabi Falk <gabifalk@gmx.com> Closes: https://github.com/gentoo/gentoo/pull/36638 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch75
-rw-r--r--sys-apps/iproute2/iproute2-6.6.0-r1.ebuild1
-rw-r--r--sys-apps/iproute2/iproute2-6.6.0-r3.ebuild1
-rw-r--r--sys-apps/iproute2/iproute2-6.6.0.ebuild1
-rw-r--r--sys-apps/iproute2/iproute2-6.8.0-r2.ebuild1
5 files changed, 79 insertions, 0 deletions
diff --git a/sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch b/sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch
new file mode 100644
index 000000000000..c277bd6d1128
--- /dev/null
+++ b/sys-apps/iproute2/files/iproute2-6.6.0-musl-c99.patch
@@ -0,0 +1,75 @@
+From 12416003e4c691afc732d26f0a07c3890c24b396 Mon Sep 17 00:00:00 2001
+From: Gabi Falk <gabifalk@gmx.com>
+Date: Fri, 10 May 2024 14:36:12 +0000
+Subject: [PATCH] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl
+ systems
+
+On glibc based systems the definition of 'struct timeval' is pulled in
+with inclusion of <stdlib.h> header, but on musl based systems it
+doesn't work this way. Missing definition triggers an
+incompatible-pointer-types error with gcc 14 (warning on previous
+versions of gcc):
+
+../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
+ 80 | _PRINT_FUNC(tv, const struct timeval *)
+ | ^~~~~~~
+../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC'
+ 50 | type value); \
+ | ^~~~
+../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
+ 80 | _PRINT_FUNC(tv, const struct timeval *)
+ | ^~~~~~~
+../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC'
+ 55 | type value) \
+ | ^~~~
+../include/json_print.h: In function 'print_tv':
+../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types]
+ 58 | value); \
+ | ^~~~~
+ | |
+ | const struct timeval *
+
+Link: https://lore.kernel.org/netdev/20240510143613.1531283-1-gabifalk@gmx.com/T/#u
+Signed-off-by: Gabi Falk <gabifalk@gmx.com>
+---
+ bridge/vlan.c | 1 +
+ bridge/vni.c | 1 +
+ vdpa/vdpa.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/bridge/vlan.c b/bridge/vlan.c
+index 5352eb24..0a7e6c45 100644
+--- a/bridge/vlan.c
++++ b/bridge/vlan.c
+@@ -4,6 +4,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/socket.h>
++#include <sys/time.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <linux/if_bridge.h>
+diff --git a/bridge/vni.c b/bridge/vni.c
+index a7abe6de..e1f981fc 100644
+--- a/bridge/vni.c
++++ b/bridge/vni.c
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <sys/socket.h>
++#include <sys/time.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <linux/if_link.h>
+diff --git a/vdpa/vdpa.c b/vdpa/vdpa.c
+index 6e4a9c11..43f87824 100644
+--- a/vdpa/vdpa.c
++++ b/vdpa/vdpa.c
+@@ -3,6 +3,7 @@
+ #include <stdio.h>
+ #include <getopt.h>
+ #include <errno.h>
++#include <sys/time.h>
+ #include <linux/genetlink.h>
+ #include <linux/if_ether.h>
+ #include <linux/vdpa.h>
diff --git a/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild b/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild
index f56e79070a8f..816d583a2935 100644
--- a/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild
+++ b/sys-apps/iproute2/iproute2-6.6.0-r1.ebuild
@@ -53,6 +53,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
"${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727
"${FILESDIR}"/${PN}-6.6.0-configure-Add-_GNU_SOURCE-to-strlcpy-configure-test.patch
+ "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
)
src_prepare() {
diff --git a/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild b/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild
index fc029883a9e9..9a1ab6a3936e 100644
--- a/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild
+++ b/sys-apps/iproute2/iproute2-6.6.0-r3.ebuild
@@ -55,6 +55,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.6.0-configure-Add-_GNU_SOURCE-to-strlcpy-configure-test.patch
"${FILESDIR}"/${PN}-6.6.0-revert-CONF_USR_DIR.patch
"${FILESDIR}"/${PN}-6.6.0-makefile-use-usr-share-config.patch
+ "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
)
src_prepare() {
diff --git a/sys-apps/iproute2/iproute2-6.6.0.ebuild b/sys-apps/iproute2/iproute2-6.6.0.ebuild
index 97cae73173e9..45e7ac2e7a0b 100644
--- a/sys-apps/iproute2/iproute2-6.6.0.ebuild
+++ b/sys-apps/iproute2/iproute2-6.6.0.ebuild
@@ -52,6 +52,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.5.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727
"${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
"${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727
+ "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
)
src_prepare() {
diff --git a/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild b/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild
index c5ab1aee142e..d74ccd7658b0 100644
--- a/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild
+++ b/sys-apps/iproute2/iproute2-6.8.0-r2.ebuild
@@ -52,6 +52,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727
"${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
"${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727
+ "${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
)
src_prepare() {