commit:     57b376b20e81abfae126488de392390bb52f5acd
Author:     NHOrus <jy6x2b32pie9 <AT> yahoo <DOT> com>
AuthorDate: Thu Feb 20 15:27:52 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Feb 22 23:47:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57b376b2

net-analyzer/fragroute: update EAPI 7 -> 8, fix build problem

Fail-deadly workaround for ancient compilers that was deprecated
and always failed.

Bug: https://bugs.gentoo.org/880843
Closes: https://bugs.gentoo.org/945195
Signed-off-by: NHOrus <jy6x2b32pie9 <AT> yahoo.com>
Closes: https://github.com/gentoo/gentoo/pull/40674
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/fragroute-1.2.6-missing-includes.patch   | 34 +++++++++++++
 net-analyzer/fragroute/fragroute-1.2.6-r5.ebuild   | 55 ++++++++++++++++++++++
 2 files changed, 89 insertions(+)

diff --git 
a/net-analyzer/fragroute/files/fragroute-1.2.6-missing-includes.patch 
b/net-analyzer/fragroute/files/fragroute-1.2.6-missing-includes.patch
new file mode 100644
index 000000000000..193d228e18c7
--- /dev/null
+++ b/net-analyzer/fragroute/files/fragroute-1.2.6-missing-includes.patch
@@ -0,0 +1,34 @@
+Add missing includes needed for compilation, including ones in sed
+command in previous ebuild.
+https://bugs.gentoo.org/945195
+Remove terrible hack in bget.h for ancient compilers. I wonder why they 
forgotten
+to put AC_C_PROTOTYPES in configure.ac... But that macro is dead and 
unsupported.
+--- a/bget.h
++++ b/bget.h
+@@ -4,13 +4,7 @@
+ 
+ */
+ 
+-#ifndef _
+-#ifdef PROTOTYPES
+ #define  _(x)  x                    /* If compiler knows prototypes */
+-#else
+-#define  _(x)  ()                     /* It it doesn't */
+-#endif /* PROTOTYPES */
+-#endif
+ 
+-typedef long bufsize;
++typedef size_t bufsize;
+ void  bpool       _((void *buffer, bufsize len));
+
+sed -i -e "/#define IPUTIL_H/a#include <stdio.h>\n#include <stdint.h>" 
iputil.h || die
+--- a/iputil.h
++++ b/iputil.h
+@@ -1,5 +1,7 @@
+ #ifndef IPUTIL_H
+ #define IPUTIL_H
++#include <stdio.h>
++#include <stdint.h>
+ 
+ ssize_t inet_add_option(uint16_t eth_type, void *buf, size_t len,
+                 int proto, const void *optbuf, size_t optlen);

diff --git a/net-analyzer/fragroute/fragroute-1.2.6-r5.ebuild 
b/net-analyzer/fragroute/fragroute-1.2.6-r5.ebuild
new file mode 100644
index 000000000000..37655c29d469
--- /dev/null
+++ b/net-analyzer/fragroute/fragroute-1.2.6-r5.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+MY_P="${P}-ipv6"
+
+inherit autotools
+
+DESCRIPTION="Testing of network intrusion detection systems, firewalls and 
TCP/IP stacks"
+HOMEPAGE="https://github.com/stsi/fragroute-ipv6";
+SRC_URI="https://fragroute-ipv6.googlecode.com/files/${MY_P}.tar.gz";
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+       >=dev-libs/libdnet-1.14-r1
+       dev-libs/libevent:=
+       net-libs/libpcap
+       dev-libs/libbsd
+
+"
+DEPEND="
+       ${RDEPEND}
+"
+BDEPEND="
+       app-alternatives/awk
+"
+DOCS=( INSTALL README TODO )
+PATCHES=(
+       "${FILESDIR}"/${P}-libdir.patch
+       "${FILESDIR}"/${P}-pcap_open.patch
+       "${FILESDIR}"/${P}-missing-includes.patch
+)
+
+src_prepare() {
+       default
+
+       # Remove broken and old files, autotools will regen needed files
+       rm *.m4 acconfig.h missing Makefile.in || die
+
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               DNETINC='' \
+               DNETLIB=-ldnet \
+               EVENTINC='' \
+               EVENTLIB=-levent \
+               PCAPINC='' \
+               PCAPLIB=-lpcap
+}

Reply via email to