diff options
-rw-r--r-- | net-libs/libpcap/libpcap-1.9.1-r3.ebuild | 82 | ||||
-rw-r--r-- | net-libs/libpcap/libpcap-9999.ebuild | 4 | ||||
-rw-r--r-- | net-libs/libpcap/metadata.xml | 1 |
3 files changed, 86 insertions, 1 deletions
diff --git a/net-libs/libpcap/libpcap-1.9.1-r3.ebuild b/net-libs/libpcap/libpcap-1.9.1-r3.ebuild new file mode 100644 index 000000000000..71cfe9d377ec --- /dev/null +++ b/net-libs/libpcap/libpcap-1.9.1-r3.ebuild @@ -0,0 +1,82 @@ +# 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="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="bluetooth dbus netlink rdma -remote static-libs usb -yydebug" + +RDEPEND=" + bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) + rdma? ( sys-cluster/rdma-core ) + usb? ( virtual/libusb:1[${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 rdma) \ + $(use_enable remote) \ + $(use_enable usb) \ + $(use_enable yydebug) \ + $(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 a6571d9395c0..b8aa26910221 100644 --- a/net-libs/libpcap/libpcap-9999.ebuild +++ b/net-libs/libpcap/libpcap-9999.ebuild @@ -13,13 +13,14 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -IUSE="bluetooth dbus netlink -remote static-libs usb -yydebug" +IUSE="bluetooth dbus netlink rdma -remote static-libs usb -yydebug" KEYWORDS="" RDEPEND=" bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) + rdma? ( sys-cluster/rdma-core ) usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] ) " DEPEND=" @@ -45,6 +46,7 @@ multilib_src_configure() { econf \ $(use_enable bluetooth) \ $(use_enable dbus) \ + $(use_enable rdma) \ $(use_enable remote) \ $(use_enable usb) \ $(use_enable yydebug) \ diff --git a/net-libs/libpcap/metadata.xml b/net-libs/libpcap/metadata.xml index 6fb2c6c97aed..9c9e8fcf34ea 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="rdma">Enable RDMA capture support using <pkg>sys-cluster/rdma-core</pkg></flag> <flag name="remote">Enable remote packet capture which may expose libpcap-based applications to attacks by malicious remote capture servers!</flag> <flag name="yydebug">Enable parser debugging code</flag> </use> |