commit:     4ca5410ef9f7e96556900cc9e2240d856f913e7a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 12 16:36:24 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 12 16:36:24 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ca5410e

net-analyzer/tcpdump: fix configure tests with Clang 15

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

 .../files/tcpdump-4.99.1-clang15-configure.patch   | 57 ++++++++++++++++++++++
 ...cpdump-9999.ebuild => tcpdump-4.99.1-r1.ebuild} | 14 ++++--
 net-analyzer/tcpdump/tcpdump-9999.ebuild           |  2 +-
 3 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/net-analyzer/tcpdump/files/tcpdump-4.99.1-clang15-configure.patch 
b/net-analyzer/tcpdump/files/tcpdump-4.99.1-clang15-configure.patch
new file mode 100644
index 000000000000..ed8a353d8c98
--- /dev/null
+++ b/net-analyzer/tcpdump/files/tcpdump-4.99.1-clang15-configure.patch
@@ -0,0 +1,57 @@
+https://github.com/the-tcpdump-group/tcpdump/pull/1007
+
+From 4fa4e8db882b6298f5504d866665441ba7594df3 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Mon, 12 Sep 2022 17:28:58 +0100
+Subject: [PATCH] configure.ac: fix configure tests broken with Clang 15
+ (implicit function declarations)
+
+Clang 15 makes implicit function declarations fatal by default which
+leads to some of tcpdump's configure tests silently failing/returning
+the wrong result.
+
+This adds the needed #includes to various tests for the functions used,
+resolving the following errors:
+```
+net-analyzer/tcpdump-4.99.1/clang15.log:47:error: type specifier missing, 
defaults to 'int'; ISO C99 and later do not support implicit int 
[-Wimplicit-int]
+net-analyzer/tcpdump-4.99.1/clang15.log:51:error: call to undeclared library 
function 'strcmp' with type 'int (const char *, const char *)'; ISO C99 and 
later do not support implicit function declarations 
[-Wimplicit-function-declaration]
+net-analyzer/tcpdump-4.99.1/clang15.log:55:error: call to undeclared library 
function 'sscanf' with type 'int (const char *restrict, const char *restrict, 
...)'; ISO C99 and later do not support implicit function declarations 
[-Wimplicit-function-declaration]
+net-analyzer/tcpdump-4.99.1/clang15.log:68:error: call to undeclared library 
function 'memset' with type 'void *(void *, int, unsigned long)'; ISO C99 and 
later do not support implicit function declarations 
[-Wimplicit-function-declaration]
+net-analyzer/tcpdump-4.99.1/clang15.log:112:error: call to undeclared function 
'ether_ntohost'; ISO C99 and later do not support implicit function 
declarations [-Wimplicit-function-declaration]
+net-analyzer/tcpdump-4.99.1/clang15.log:115:error: call to undeclared library 
function 'exit' with type 'void (int) __attribute__((noreturn))'; ISO C99 and 
later do not support implicit function declarations 
[-Wimplicit-function-declaration]
+```
+
+Signed-off-by: Sam James <[email protected]>
+--- a/configure.ac
++++ b/configure.ac
+@@ -87,8 +87,11 @@ if test "x$with_smi" != "xno" ; then
+                       AC_TRY_RUN(
+                               [
+ /* libsmi available check */
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <smi.h>
+-main()
++int main()
+ {
+   int current, revision, age, n;
+   const int required = 2;
+@@ -264,6 +267,7 @@ AC_COMPILE_IFELSE(
+     [
+       AC_LANG_SOURCE(
+       [[
++#include <string.h>
+ /* AF_INET6 available check */
+ #include <sys/types.h>
+ #ifdef _WIN32
+@@ -473,6 +477,8 @@ AC_CHECK_FUNCS(ether_ntohost, [
+     AC_CACHE_CHECK(for buggy ether_ntohost, ac_cv_buggy_ether_ntohost, [
+       AC_TRY_RUN([
+               #include <netdb.h>
++              #include <netinet/ether.h>
++              #include <stdlib.h>
+               #include <sys/types.h>
+               #include <sys/param.h>
+               #include <sys/socket.h>
+

diff --git a/net-analyzer/tcpdump/tcpdump-9999.ebuild 
b/net-analyzer/tcpdump/tcpdump-4.99.1-r1.ebuild
similarity index 80%
copy from net-analyzer/tcpdump/tcpdump-9999.ebuild
copy to net-analyzer/tcpdump/tcpdump-4.99.1-r1.ebuild
index ac9b01e80aa8..9f6735a93cdc 100644
--- a/net-analyzer/tcpdump/tcpdump-9999.ebuild
+++ b/net-analyzer/tcpdump/tcpdump-4.99.1-r1.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 inherit autotools
 
@@ -16,10 +16,12 @@ else
        VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/tcpdump.asc
        inherit verify-sig
 
-       SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz";
-       SRC_URI+=" verify-sig? ( 
https://www.tcpdump.org/release/${P}.tar.gz.sig )"
+       # Note: drop -upstream on bump, this is just because we switched to the 
official
+       # distfiles for verify-sig
+       SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz -> 
${P}-upstream.tar.gz"
+       SRC_URI+=" verify-sig? ( 
https://www.tcpdump.org/release/${P}.tar.gz.sig -> ${P}-upstream.tar.gz.sig )"
 
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
 fi
 
 LICENSE="BSD"
@@ -27,8 +29,9 @@ SLOT="0"
 IUSE="+drop-root +smi +ssl +samba suid test"
 REQUIRED_USE="test? ( samba )"
 
+RESTRICT="!test? ( test )"
 # Assorted failures: bug #768498
-RESTRICT="test"
+#RESTRICT="test"
 
 RDEPEND="
        >=net-libs/libpcap-1.10.1
@@ -60,6 +63,7 @@ fi
 
 PATCHES=(
        "${FILESDIR}"/${PN}-9999-libdir.patch
+       "${FILESDIR}"/${PN}-4.99.1-clang15-configure.patch
 )
 
 src_prepare() {

diff --git a/net-analyzer/tcpdump/tcpdump-9999.ebuild 
b/net-analyzer/tcpdump/tcpdump-9999.ebuild
index ac9b01e80aa8..63bf6ed96b92 100644
--- a/net-analyzer/tcpdump/tcpdump-9999.ebuild
+++ b/net-analyzer/tcpdump/tcpdump-9999.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 inherit autotools
 

Reply via email to