diff options
author | Gabi Falk <gabifalk@gmx.com> | 2024-05-11 09:00:00 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-05-21 12:48:20 +0100 |
commit | f51d73e7859d3df6589908082be198bdc34e4871 (patch) | |
tree | 14306174f4a93ae2f3982191289c9d07140a3871 /sys-apps | |
parent | net-misc/openssh: fix implicit function declaraions with USE=xmss (diff) | |
download | gentoo-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.patch | 75 | ||||
-rw-r--r-- | sys-apps/iproute2/iproute2-6.6.0-r1.ebuild | 1 | ||||
-rw-r--r-- | sys-apps/iproute2/iproute2-6.6.0-r3.ebuild | 1 | ||||
-rw-r--r-- | sys-apps/iproute2/iproute2-6.6.0.ebuild | 1 | ||||
-rw-r--r-- | sys-apps/iproute2/iproute2-6.8.0-r2.ebuild | 1 |
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() { |