commit:     e9af315c8c78839177c0bee41ad17d7a3600d4ab
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 24 11:49:47 2019 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sat Aug 24 11:53:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9af315c

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 <AT> gentoo.org>

 dev-perl/Net-Pcap/Net-Pcap-0.180.0-r1.ebuild       | 34 ++++++++++++++++++
 .../files/Net-Pcap-0.18-libpcap-1.9.0.patch        | 41 ++++++++++++++++++++++
 2 files changed, 75 insertions(+)

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 00000000000..e3b237b2e2b
--- /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 00000000000..2495600e5d0
--- /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
+ 
+ 
+ /*

Reply via email to