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
