summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2019-08-24 13:49:47 +0200
committerJeroen Roovers <jer@gentoo.org>2019-08-24 13:53:07 +0200
commite9af315c8c78839177c0bee41ad17d7a3600d4ab (patch)
tree9dda06ceafc7318c228d058676f7f205bad76f0d /dev-perl/Net-Pcap
parentnet-analyzer/tcpstat: EAPI=7 (diff)
downloadgentoo-e9af315c8c78839177c0bee41ad17d7a3600d4ab.tar.gz
gentoo-e9af315c8c78839177c0bee41ad17d7a3600d4ab.tar.bz2
gentoo-e9af315c8c78839177c0bee41ad17d7a3600d4ab.zip
dev-perl/Net-Pcap: Fix building against net-libs/libpcap-1.9.0
Package-Manager: Portage-2.3.72, Repoman-2.3.17 Fixes: https://bugs.gentoo.org/661726 Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'dev-perl/Net-Pcap')
-rw-r--r--dev-perl/Net-Pcap/Net-Pcap-0.180.0-r1.ebuild34
-rw-r--r--dev-perl/Net-Pcap/files/Net-Pcap-0.18-libpcap-1.9.0.patch41
2 files changed, 75 insertions, 0 deletions
diff --git a/dev-perl/Net-Pcap/Net-Pcap-0.180.0-r1.ebuild b/dev-perl/Net-Pcap/Net-Pcap-0.180.0-r1.ebuild
new file mode 100644
index 000000000000..e3b237b2e2b4
--- /dev/null
+++ b/dev-perl/Net-Pcap/Net-Pcap-0.180.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_AUTHOR=SAPER
+DIST_VERSION=0.18
+DIST_EXAMPLES=( "eg/*" )
+inherit perl-module
+
+DESCRIPTION="Interface to the pcap(3) LBL packet capture library"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="net-libs/libpcap
+ dev-perl/IO-Interface"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-${DIST_VERSION}-libpcap-1.9.0.patch"
+ "${FILESDIR}/${PN}-${DIST_VERSION}-test-error.patch"
+)
+
+src_test() {
+ if [[ $EUID != 0 ]]; then
+ elog "Comprehensive testing of this module requires root permissions."
+ elog "For details, see:"
+ elog "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}"
+ fi
+ perl_rm_files t/pod{,cover,spell}.t t/distchk.t t/portfs.t
+ perl-module_src_test
+}
diff --git a/dev-perl/Net-Pcap/files/Net-Pcap-0.18-libpcap-1.9.0.patch b/dev-perl/Net-Pcap/files/Net-Pcap-0.18-libpcap-1.9.0.patch
new file mode 100644
index 000000000000..2495600e5d0a
--- /dev/null
+++ b/dev-perl/Net-Pcap/files/Net-Pcap-0.18-libpcap-1.9.0.patch
@@ -0,0 +1,41 @@
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -106,7 +106,7 @@ REASON
+ # We also store the list of available functions in a file for skipping the
+ # corresponding tests.
+ my @funcs = have_functions(find_functions());
+-$options{DEFINE} .= cpp_defines(@funcs);
++$options{DEFINE} .= cpp_defines(@funcs). "-DHAVE_PCAP_SETSAMPLING";
+ open(FUNCS, '>funcs.txt') or warn "warning: can't write 'funcs.txt': $!\n";
+ print FUNCS join("\n", @funcs), "\n";
+ close(FUNCS);
+--- a/stubs.inc
++++ b/stubs.inc
+@@ -354,11 +354,6 @@ int pcap_parsesrcstr(const char *source,
+ #ifdef _MSC_VER
+ #pragma message( "Warning: the function pcap_open() is not available" )
+ #endif
+-struct pcap_rmtauth {
+- int type;
+- char *username;
+- char *password;
+-};
+
+ pcap_t * pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *err);
+ pcap_t * pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *err) {
+@@ -511,6 +511,7 @@ HANDLE pcap_getevent(pcap_t *p) {
+ #ifdef _MSC_VER
+ #pragma message( "Warning: the function pcap_setsampling() is not available" )
+ #endif
++#if 0
+ struct pcap_samp {
+ int method;
+ int value;
+@@ -522,6 +523,7 @@ struct pcap_samp *pcap_setsampling(pcap_
+ return NULL;
+ }
+ #endif
++#endif
+
+
+ /*