From c3d3a026966dbb4245543951ab61f7db413bf8ed Mon Sep 17 00:00:00 2001 From: Sam James Date: Thu, 24 Nov 2022 08:40:25 +0000 Subject: net-analyzer/tcpreplay: fix configure w/ clang 16 Signed-off-by: Sam James --- .../files/tcpreplay-4.4.2-configure-clang16.patch | 60 +++++++++++++++ net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild | 87 ++++++++++++++++++++++ net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild | 86 --------------------- 3 files changed, 147 insertions(+), 86 deletions(-) create mode 100644 net-analyzer/tcpreplay/files/tcpreplay-4.4.2-configure-clang16.patch create mode 100644 net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild delete mode 100644 net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild (limited to 'net-analyzer/tcpreplay') 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 +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 +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 + #include + #include ++ #include + 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-r1.ebuild b/net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild new file mode 100644 index 000000000000..2cc1e8f862c3 --- /dev/null +++ b/net-analyzer/tcpreplay/tcpreplay-4.4.2-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="Utilities for editing and replaying previously captured network traffic" +HOMEPAGE="http://tcpreplay.appneta.com/ https://github.com/appneta/tcpreplay" +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://github.com/appneta/tcpreplay" + inherit git-r3 +else + SRC_URI="https://github.com/appneta/${PN}/releases/download/v${PV}/${P}.tar.xz" + KEYWORDS="amd64 ~arm ~sparc x86" +fi + +S="${WORKDIR}"/${P/_/-} + +LICENSE="BSD GPL-3" +SLOT="0" +IUSE="debug pcapnav +tcpdump" + +# libpcapnav for pcapnav-config +BDEPEND=" + net-libs/libpcapnav + >=sys-devel/autogen-5.18.4[libopts] +" +DEPEND=" + dev-libs/libdnet + >=net-libs/libpcap-0.9 + elibc_musl? ( sys-libs/fts-standalone ) + pcapnav? ( net-libs/libpcapnav ) + tcpdump? ( net-analyzer/tcpdump ) +" +RDEPEND="${DEPEND}" + +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() { + default + + sed -i \ + -e 's|#include |#include |g' \ + src/common/sendpacket.c || die + sed -i \ + -e 's|@\([A-Z_]*\)@|$(\1)|g' \ + -e '/tcpliveplay_CFLAGS/s|$| $(LDNETINC)|g' \ + -e '/tcpliveplay_LDADD/s|$| $(LDNETLIB)|g' \ + src/Makefile.am || die + + eautoreconf +} + +src_configure() { + use elibc_musl && append-flags "-lfts" + # By default it uses static linking. Avoid that, bug #252940 + econf \ + $(use_enable debug) \ + $(use_with pcapnav pcapnav-config "${BROOT}"/usr/bin/pcapnav-config) \ + $(use_with tcpdump tcpdump "${ESYSROOT}"/usr/sbin/tcpdump) \ + --enable-dynamic-link \ + --enable-local-libopts \ + --enable-shared \ + --with-libdnet \ + --with-testnic2=lo \ + --with-testnic=lo +} + +src_test() { + if [[ ! ${EUID} -eq 0 ]] ; then + ewarn "Some tests were disabled due to FEATURES=userpriv" + ewarn "To run all tests issue the following command as root:" + ewarn " # make -C ${S}/test" + emake -j1 -C test tcpprep + else + emake -j1 test || { + ewarn "Note that some tests require eth0 iface to be up." + die "self test failed - see ${S}/test/test.log" + } + fi +} diff --git a/net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild b/net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild deleted file mode 100644 index aebdcc9142d9..000000000000 --- a/net-analyzer/tcpreplay/tcpreplay-4.4.2.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic - -DESCRIPTION="Utilities for editing and replaying previously captured network traffic" -HOMEPAGE="http://tcpreplay.appneta.com/ https://github.com/appneta/tcpreplay" -if [[ ${PV} == *9999* ]] ; then - EGIT_REPO_URI="https://github.com/appneta/tcpreplay" - inherit git-r3 -else - SRC_URI="https://github.com/appneta/${PN}/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="amd64 ~arm ~sparc x86" -fi - -S="${WORKDIR}"/${P/_/-} - -LICENSE="BSD GPL-3" -SLOT="0" -IUSE="debug pcapnav +tcpdump" - -# libpcapnav for pcapnav-config -BDEPEND=" - net-libs/libpcapnav - >=sys-devel/autogen-5.18.4[libopts] -" -DEPEND=" - dev-libs/libdnet - >=net-libs/libpcap-0.9 - elibc_musl? ( sys-libs/fts-standalone ) - pcapnav? ( net-libs/libpcapnav ) - tcpdump? ( net-analyzer/tcpdump ) -" -RDEPEND="${DEPEND}" - -DOCS=( docs/{CHANGELOG,CREDIT,HACKING,TODO} ) - -PATCHES=( - "${FILESDIR}"/${PN}-4.3.0-enable-pcap_findalldevs.patch -) - -src_prepare() { - default - - sed -i \ - -e 's|#include |#include |g' \ - src/common/sendpacket.c || die - sed -i \ - -e 's|@\([A-Z_]*\)@|$(\1)|g' \ - -e '/tcpliveplay_CFLAGS/s|$| $(LDNETINC)|g' \ - -e '/tcpliveplay_LDADD/s|$| $(LDNETLIB)|g' \ - src/Makefile.am || die - - eautoreconf -} - -src_configure() { - use elibc_musl && append-flags "-lfts" - # By default it uses static linking. Avoid that, bug #252940 - econf \ - $(use_enable debug) \ - $(use_with pcapnav pcapnav-config "${BROOT}"/usr/bin/pcapnav-config) \ - $(use_with tcpdump tcpdump "${ESYSROOT}"/usr/sbin/tcpdump) \ - --enable-dynamic-link \ - --enable-local-libopts \ - --enable-shared \ - --with-libdnet \ - --with-testnic2=lo \ - --with-testnic=lo -} - -src_test() { - if [[ ! ${EUID} -eq 0 ]] ; then - ewarn "Some tests were disabled due to FEATURES=userpriv" - ewarn "To run all tests issue the following command as root:" - ewarn " # make -C ${S}/test" - emake -j1 -C test tcpprep - else - emake -j1 test || { - ewarn "Note that some tests require eth0 iface to be up." - die "self test failed - see ${S}/test/test.log" - } - fi -} -- cgit v1.2.3-65-gdbad