diff options
author | Sam James <sam@gentoo.org> | 2024-03-17 03:48:27 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-03-17 03:48:27 +0000 |
commit | 045f53b876e965362d806a2400afa5e18f14bcf7 (patch) | |
tree | 20395c993b5898cee2802d21d88001a5c0cc2846 /dev-perl | |
parent | media-libs/libsdl2: add 2.30.1 (diff) | |
download | gentoo-045f53b876e965362d806a2400afa5e18f14bcf7.tar.gz gentoo-045f53b876e965362d806a2400afa5e18f14bcf7.tar.bz2 gentoo-045f53b876e965362d806a2400afa5e18f14bcf7.zip |
dev-perl/Net-RawIP: fix modern C issues
Closes: https://bugs.gentoo.org/871597
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-perl')
4 files changed, 209 insertions, 0 deletions
diff --git a/dev-perl/Net-RawIP/Net-RawIP-0.250.0-r4.ebuild b/dev-perl/Net-RawIP/Net-RawIP-0.250.0-r4.ebuild new file mode 100644 index 000000000000..3c9b746fde28 --- /dev/null +++ b/dev-perl/Net-RawIP/Net-RawIP-0.250.0-r4.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DIST_AUTHOR=SAPER +DIST_VERSION=0.25 +DIST_EXAMPLES=("examples/*") +inherit perl-module + +DESCRIPTION="Raw IP packets manipulation Module" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~sparc ~x86" + +RDEPEND="net-libs/libpcap" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" + +PERL_RM_FILES=( "t/90-pod.t" "t/91-pod-coverage.t" "t/99-critic.t" ) + +PATCHES=( + "${FILESDIR}/${PN}-0.25-no-network-tests.patch" + "${FILESDIR}/${PN}-0.25-Declare-used-function.patch" + "${FILESDIR}/${PN}-0.25-Silent-compiler-warnings.patch" + "${FILESDIR}/${PN}-0.25-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch" +) diff --git a/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Declare-used-function.patch b/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Declare-used-function.patch new file mode 100644 index 000000000000..29ba94b9a884 --- /dev/null +++ b/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Declare-used-function.patch @@ -0,0 +1,57 @@ +https://bugs.gentoo.org/871597 +https://rt.cpan.org/Public/Bug/Display.html?id=124134 + +From ebb883cb2e2f0031fd947bf36c0f089e5a5352ea Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> +Date: Fri, 19 Jan 2018 15:47:40 +0100 +Subject: [PATCH] Decalare used function +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC warns about implicit declarations of functions used in RawIP.xs +but defined in eth.c. This patch adds their declarations into eth.h. + +Signed-off-by: Petr Písař <ppisar@redhat.com> +--- + MANIFEST | 1 + + RawIP.xs | 1 + + eth.h | 3 +++ + 3 files changed, 5 insertions(+) + create mode 100644 eth.h + +diff --git a/MANIFEST b/MANIFEST +index 9bfa0ee..1211b02 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -18,6 +18,7 @@ lib/Net/RawIP/udphdr.pm + RawIP.xs + RawIP/libpcap.pod + eth.c ++eth.h + ifaddrlist.c + ifaddrlist.h + ip.h +diff --git a/RawIP.xs b/RawIP.xs +index cddc523..234ea5d 100644 +--- a/RawIP.xs ++++ b/RawIP.xs +@@ -31,6 +31,7 @@ extern "C" { + #include <sys/cdefs.h> + #endif + #include "ifaddrlist.h" ++#include "eth.h" + #include <sys/types.h> + #include <sys/socket.h> + #include <pcap.h> +diff --git a/eth.h b/eth.h +new file mode 100644 +index 0000000..ab28b45 +--- /dev/null ++++ b/eth.h +@@ -0,0 +1,3 @@ ++int tap(char *dev,unsigned int *my_eth_ip,unsigned char *my_eth_mac); ++int mac_disc(unsigned int addr,unsigned char * eth_mac); ++void send_eth_packet(int fd, char* eth_device, u_char *pkt, int len, int flag); +-- +2.13.6 diff --git a/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Silent-compiler-warnings.patch b/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Silent-compiler-warnings.patch new file mode 100644 index 000000000000..564914b821c7 --- /dev/null +++ b/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Silent-compiler-warnings.patch @@ -0,0 +1,94 @@ +https://bugs.gentoo.org/871597 +https://rt.cpan.org/Public/Bug/Display.html?id=124134 + +From ee4e010724ea0106f0ebdf572c6b55573122f12b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> +Date: Fri, 19 Jan 2018 15:56:05 +0100 +Subject: [PATCH] Silent compiler warnings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Písař <ppisar@redhat.com> +--- + RawIP.xs | 12 +++--------- + eth.c | 5 ++++- + ifaddrlist.c | 3 +-- + 3 files changed, 8 insertions(+), 12 deletions(-) + +diff --git a/RawIP.xs b/RawIP.xs +index 234ea5d..143c65f 100644 +--- a/RawIP.xs ++++ b/RawIP.xs +@@ -166,14 +166,6 @@ u_long host_to_ip (char *host_name); + void pkt_send(int fd, unsigned char *sock, u_char *pkt, int size); + int linkoffset(int); + +-static int +-not_here(s) +- char *s; +-{ +- croak("%s not implemented on this architecture", s); +- return -1; +-} +- + static double + constant(name, arg) + char *name; +@@ -592,6 +584,8 @@ CODE: + memset(dev,0,16); + len = ip_rt_dev(addr,dev); + RETVAL = newSVpv(dev,len); ++#else ++ PERL_UNUSED_ARG(addr); + #endif + #if !defined(_LINUX_) && !defined(_BPF_) + croak("rdev() is not implemented on this system"); +@@ -689,7 +683,7 @@ send_eth_packet(fd,eth_device,pkt,flag) + SV* pkt + int flag + CODE: +- send_eth_packet(fd, eth_device, (char*)SvPV(pkt,PL_na), SvCUR(pkt),flag); ++ send_eth_packet(fd, eth_device, (unsigned char*)SvPV(pkt,PL_na), SvCUR(pkt),flag); + + AV * + eth_parse(pkt) +diff --git a/eth.c b/eth.c +index 48aeed2..a36a9ab 100644 +--- a/eth.c ++++ b/eth.c +@@ -235,7 +235,10 @@ int + tap(char *dev,unsigned int *my_eth_ip,unsigned char *my_eth_mac) + { + +- int fd,v,s; ++ int fd; ++#ifdef _BPF_ ++ int v,s; ++#endif + struct ifreq ifr; + (void)strcpy(ifr.ifr_name, dev); + #ifndef _BPF_ +diff --git a/ifaddrlist.c b/ifaddrlist.c +index 0729b2b..b60ef3c 100644 +--- a/ifaddrlist.c ++++ b/ifaddrlist.c +@@ -41,7 +41,7 @@ ifaddrlist(register struct ifaddrlist **ipaddrp, register char *errbuf) + #ifdef HAVE_SOCKADDR_SA_LEN + register int n; + #endif +- register struct ifreq *ifrp, *ifend, *ifnext, *mp; ++ register struct ifreq *ifrp, *ifend, *ifnext; + register struct sockaddr_in *sin; + register struct ifaddrlist *al; + struct ifconf ifc; +@@ -71,7 +71,6 @@ ifaddrlist(register struct ifaddrlist **ipaddrp, register char *errbuf) + ifend = (struct ifreq *)((char *)ibuf + ifc.ifc_len); + + al = ifaddrlist; +- mp = NULL; + nipaddr = 0; + for (; ifrp < ifend; ifrp = ifnext) + { +-- +2.13.6 diff --git a/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch b/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch new file mode 100644 index 000000000000..362a126f552e --- /dev/null +++ b/dev-perl/Net-RawIP/files/Net-RawIP-0.25-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch @@ -0,0 +1,31 @@ +https://bugs.gentoo.org/871597 +https://rt.cpan.org/Public/Bug/Display.html?id=124134 + +From 32cfda724ce867d1b4a3e581b4b305b300ddfed2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> +Date: Fri, 19 Jan 2018 15:39:16 +0100 +Subject: [PATCH] Use _DEFAULT_SOURCE instead of _BSD_SOURCE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +_BSD_SOURCE is deprecated in glibc since 2.20 version. + +Signed-off-by: Petr Písař <ppisar@redhat.com> +--- + ifaddrlist.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ifaddrlist.c b/ifaddrlist.c +index 41183d3..0729b2b 100644 +--- a/ifaddrlist.c ++++ b/ifaddrlist.c +@@ -1,5 +1,5 @@ + #ifdef _LINUX_ +-#define _BSD_SOURCE 1 ++#define _DEFAULT_SOURCE 1 + #define __FAVOR_BSD 1 + #endif + +-- +2.13.6 |