commit:     c3d3a026966dbb4245543951ab61f7db413bf8ed
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 24 08:40:25 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 08:40:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3d3a026

net-analyzer/tcpreplay: fix configure w/ clang 16

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/tcpreplay-4.4.2-configure-clang16.patch  | 60 ++++++++++++++++++++++
 ...play-4.4.2.ebuild => tcpreplay-4.4.2-r1.ebuild} |  1 +
 2 files changed, 61 insertions(+)

diff --git 
a/net-analyzer/tcpreplay/files/tcpreplay-4.4.2-configure-clang16.patch 
b/net-analyzer/tcpreplay/files/tcpreplay-4.4.2-configure-clang16.patch
new file mode 100644
index 000000000000..81a5a0086958
--- /dev/null
+++ b/net-analyzer/tcpreplay/files/tcpreplay-4.4.2-configure-clang16.patch
@@ -0,0 +1,60 @@
+https://github.com/appneta/tcpreplay/pull/757
+
+From 096197e584ebb7d646eef75e5a8654f7192a0af2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <[email protected]>
+Date: Thu, 24 Nov 2022 07:30:28 +0100
+Subject: [PATCH] configure.ac: Avoid implicit int, implicit function
+ declarations
+
+Do not call exit without declaring it.  Add #include <unistd.h>
+for fork.  Add missing int type to the definition of main.
+
+Implicit ints and implicit function declarations were removed from
+C in 1999 and will not be supported by future compilers.
+--- a/configure.ac
++++ b/configure.ac
+@@ -1681,8 +1681,8 @@ int
+ main (int argc, char *argv[])
+ {
+     if (strncmp(PCAPNAV_VERSION, PCAPNAV_TEST, 3) >= 0)
+-        exit(0);
+-    exit(1);
++        return 0;
++    return 1;
+ }           ]])],[libpcapnav_ver=yes
+             AC_MSG_RESULT(>= 0.4)],[libpcapnav_ver=no
+             AC_MSG_RESULT(< 0.4)],[libpcapnav_ver=no
+@@ -1726,26 +1726,27 @@ case "$host_os" in
+         #include <sys/types.h>
+         #include <sys/wait.h>
+         #include <stdio.h>
++        #include <unistd.h>
+         unsigned char a[[5]] = { 1, 2, 3, 4, 5 };
+-        main() {
++        int main() {
+             unsigned int i;
+             pid_t pid;
+             int status;
+             /* avoid "core dumped" message */
+             pid = fork();
+             if (pid <  0)
+-                exit(2);
++                return 2;
+             if (pid > 0) {
+                 /* parent */
+                 pid = waitpid(pid, &status, 0);
+                 if (pid < 0)
+-                        exit(3);
+-                exit(!WIFEXITED(status));
++                        return 3;
++                return !WIFEXITED(status);
+             }
+             /* child */
+             i = *(unsigned int *)&a[[1]];
+             printf("%d\n", i);
+-            exit(0);
++            return 0;
+         }
+ EOF
+         ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \
+

diff --git a/net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild 
b/net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild
similarity index 97%
rename from net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild
rename to net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild
index aebdcc9142d9..2cc1e8f862c3 100644
--- a/net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild
+++ b/net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild
@@ -39,6 +39,7 @@ DOCS=( docs/{CHANGELOG,CREDIT,HACKING,TODO} )
 
 PATCHES=(
        "${FILESDIR}"/${PN}-4.3.0-enable-pcap_findalldevs.patch
+       "${FILESDIR}"/${PN}-4.4.2-configure-clang16.patch
 )
 
 src_prepare() {

Reply via email to