diff options
author | 2020-01-09 13:53:45 +0100 | |
---|---|---|
committer | 2020-01-09 14:39:04 +0100 | |
commit | ce7ef2269c36d8f07ae4f578b84dda2454dee5e4 (patch) | |
tree | 6446056eb23c698a740fe08f5044cb7b8e8725a9 /net-libs | |
parent | www-servers/h2o: add libh2o USE flag (diff) | |
download | gentoo-ce7ef2269c36d8f07ae4f578b84dda2454dee5e4.tar.gz gentoo-ce7ef2269c36d8f07ae4f578b84dda2454dee5e4.tar.bz2 gentoo-ce7ef2269c36d8f07ae4f578b84dda2454dee5e4.zip |
net-libs/libpcap: USE=remote, EAPI=7, strip pcap-config -L/usr/lib
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/libpcap/files/libpcap-1.9.1-pcap-config.patch | 43 | ||||
-rw-r--r-- | net-libs/libpcap/libpcap-1.9.1-r1.ebuild | 78 | ||||
-rw-r--r-- | net-libs/libpcap/libpcap-9999.ebuild | 12 | ||||
-rw-r--r-- | net-libs/libpcap/metadata.xml | 1 |
4 files changed, 129 insertions, 5 deletions
diff --git a/net-libs/libpcap/files/libpcap-1.9.1-pcap-config.patch b/net-libs/libpcap/files/libpcap-1.9.1-pcap-config.patch new file mode 100644 index 000000000000..937273c43ff0 --- /dev/null +++ b/net-libs/libpcap/files/libpcap-1.9.1-pcap-config.patch @@ -0,0 +1,43 @@ +--- a/pcap-config.in ++++ b/pcap-config.in +@@ -59,16 +59,16 @@ + # + if [ "$show_cflags" = 1 -a "$show_libs" = 1 ] + then +- echo "-I$includedir -L$libdir -lpcap $LIBS" ++ echo "-lpcap $LIBS" + elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ] + then +- echo "-I$includedir -L$libdir $LIBS" ++ echo "$LIBS" + elif [ "$show_cflags" = 1 ] + then +- echo "-I$includedir" ++ echo "" + elif [ "$show_libs" = 1 ] + then +- echo "-L$libdir -lpcap $LIBS" ++ echo "-lpcap $LIBS" + elif [ "$show_additional_libs" = 1 ] + then + echo "$LIBS" +@@ -80,15 +80,15 @@ + # + if [ "$show_cflags" = 1 -a "$show_libs" = 1 ] + then +- echo "-I$includedir -L$libdir $RPATH -l$PACKAGE_NAME" ++ echo " $RPATH -l$PACKAGE_NAME" + elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ] + then +- echo "-I$includedir" ++ echo "" + elif [ "$show_cflags" = 1 ] + then +- echo "-I$includedir" ++ echo "" + elif [ "$show_libs" = 1 ] + then +- echo "-L$libdir $RPATH -l$PACKAGE_NAME" ++ echo "$RPATH -l$PACKAGE_NAME" + fi + fi diff --git a/net-libs/libpcap/libpcap-1.9.1-r1.ebuild b/net-libs/libpcap/libpcap-1.9.1-r1.ebuild new file mode 100644 index 000000000000..bf2ab94c1396 --- /dev/null +++ b/net-libs/libpcap/libpcap-1.9.1-r1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib-minimal + +DESCRIPTION="A system-independent library for user-level network packet capture" +HOMEPAGE=" + https://www.tcpdump.org/ + https://github.com/the-tcpdump-group/libpcap +" +SRC_URI=" + https://github.com/the-tcpdump-group/${PN}/archive/${P/_}.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="bluetooth dbus netlink -remote static-libs usb" + +RDEPEND=" + bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + sys-devel/flex + virtual/yacc + dbus? ( virtual/pkgconfig[${MULTILIB_USEDEP}] ) +" + +S=${WORKDIR}/${PN}-${P/_} + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.1-usbmon.patch + "${FILESDIR}"/${PN}-1.9.1-pcap-config.patch +) + +src_prepare() { + default + + echo ${PV} > VERSION || die + + eautoreconf +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable bluetooth) \ + $(use_enable dbus) \ + $(use_enable remote) \ + $(use_enable usb) \ + $(use_with netlink libnl) \ + --enable-ipv6 +} + +multilib_src_compile() { + emake all shared +} + +multilib_src_install_all() { + dodoc CREDITS CHANGES VERSION TODO README.* doc/README.* + + # remove static libraries (--disable-static does not work) + if ! use static-libs; then + find "${ED}" -name '*.a' -exec rm {} + || die + fi + + find "${ED}" -name '*.la' -delete || die + + # We need this to build pppd on G/FBSD systems + if [[ "${USERLAND}" == "BSD" ]]; then + insinto /usr/include + doins pcap-int.h portability.h + fi +} diff --git a/net-libs/libpcap/libpcap-9999.ebuild b/net-libs/libpcap/libpcap-9999.ebuild index f240ac606d96..1a75013c5b77 100644 --- a/net-libs/libpcap/libpcap-9999.ebuild +++ b/net-libs/libpcap/libpcap-9999.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit autotools git-r3 multilib-minimal ltprune +EAPI=7 +inherit autotools git-r3 multilib-minimal DESCRIPTION="A system-independent library for user-level network packet capture" EGIT_REPO_URI="https://github.com/the-tcpdump-group/libpcap" @@ -13,7 +13,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -IUSE="bluetooth dbus netlink static-libs usb" +IUSE="bluetooth dbus netlink -remote static-libs usb" KEYWORDS="" RDEPEND=" @@ -45,6 +45,7 @@ multilib_src_configure() { econf \ $(use_enable bluetooth) \ $(use_enable dbus) \ + $(use_enable remote) \ $(use_enable usb) \ $(use_with netlink libnl) } @@ -60,7 +61,8 @@ multilib_src_install_all() { if ! use static-libs; then find "${ED}" -name '*.a' -exec rm {} + || die fi - prune_libtool_files + + find "${ED}" -name '*.la' -delete || die # We need this to build pppd on G/FBSD systems if [[ "${USERLAND}" == "BSD" ]]; then diff --git a/net-libs/libpcap/metadata.xml b/net-libs/libpcap/metadata.xml index 241fb6113b5f..54d027060e7b 100644 --- a/net-libs/libpcap/metadata.xml +++ b/net-libs/libpcap/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <use> <flag name="netlink">Use <pkg>dev-libs/libnl</pkg> to put wireless interfaces in monitor mode.</flag> +<flag name="remote">Enable remote packet capture which may expose libpcap-based applications to attacks by malicious remote capture servers!</flag> </use> <upstream> <remote-id type="cpe">cpe:/a:tcpdump:libpcap</remote-id> |