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 + + + /*