summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/wireshark/wireshark-99999999.ebuild')
-rw-r--r--net-analyzer/wireshark/wireshark-99999999.ebuild190
1 files changed, 74 insertions, 116 deletions
diff --git a/net-analyzer/wireshark/wireshark-99999999.ebuild b/net-analyzer/wireshark/wireshark-99999999.ebuild
index e39d7345ef9..c658f9ec1c6 100644
--- a/net-analyzer/wireshark/wireshark-99999999.ebuild
+++ b/net-analyzer/wireshark/wireshark-99999999.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit autotools eutils fcaps flag-o-matic git-r3 gnome2-utils multilib qmake-utils user xdg-utils
+inherit cmake-utils eutils fcaps flag-o-matic git-r3 gnome2-utils ltprune multilib qmake-utils user xdg-utils
DESCRIPTION="A network protocol analyzer formerly known as ethereal"
HOMEPAGE="https://www.wireshark.org/"
@@ -12,15 +12,11 @@ LICENSE="GPL-2"
SLOT="0/${PV}"
KEYWORDS=""
IUSE="
- adns androiddump bcg729 +capinfos +caps +captype ciscodump
- cpu_flags_x86_sse4_2 +dftest doc doc-pdf +dumpcap +editcap geoip gtk
- kerberos libssh libxml2 lua lz4 +mergecap +netlink nghttp2 +pcap portaudio
- +qt5 +randpkt +randpktdump +reordercap sbc selinux +sharkd smi snappy
- spandsp sshdump ssl +text2pcap tfshark +tshark +udpdump zlib
-"
-REQUIRED_USE="
- ciscodump? ( libssh )
- sshdump? ( libssh )
+ adns androiddump bcg729 +capinfos +caps +captype ciscodump +dftest doc
+ +dumpcap +editcap gtk kerberos libxml2 lua lz4 maxminddb +mergecap +netlink
+ nghttp2 +pcap portaudio +qt5 +randpkt +randpktdump +reordercap sbc selinux
+ +sharkd smi snappy spandsp sshdump ssl +text2pcap tfshark +tshark +udpdump
+ zlib
"
S=${WORKDIR}/${P/_/}
@@ -32,7 +28,6 @@ CDEPEND="
adns? ( >=net-dns/c-ares-1.5 )
bcg729? ( media-libs/bcg729 )
caps? ( sys-libs/libcap )
- geoip? ( dev-libs/geoip )
gtk? (
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
@@ -40,10 +35,12 @@ CDEPEND="
x11-misc/xdg-utils
)
kerberos? ( virtual/krb5 )
- libssh? ( >=net-libs/libssh-0.6 )
+ sshdump? ( >=net-libs/libssh-0.6 )
+ ciscodump? ( >=net-libs/libssh-0.6 )
libxml2? ( dev-libs/libxml2 )
lua? ( >=dev-lang/lua-5.1:* )
lz4? ( app-arch/lz4 )
+ maxminddb? ( dev-libs/libmaxminddb )
nghttp2? ( net-libs/nghttp2 )
pcap? ( net-libs/libpcap )
portaudio? ( media-libs/portaudio )
@@ -64,7 +61,7 @@ CDEPEND="
ssl? ( net-libs/gnutls:= )
zlib? ( sys-libs/zlib !=sys-libs/zlib-1.2.4 )
"
-# We need perl for `pod2html`. The rest of the perl stuff is to block older
+# We need perl for `pod2html`. The rest of the perl stuff is to block older
# and broken installs. #455122
DEPEND="
${CDEPEND}
@@ -73,11 +70,7 @@ DEPEND="
!<perl-core/Pod-Simple-3.170
doc? (
app-doc/doxygen
- app-text/asciidoc
- dev-libs/libxml2
- dev-libs/libxslt
- doc-pdf? ( dev-java/fop )
- www-client/lynx
+ dev-ruby/asciidoctor
)
qt5? (
dev-qt/linguist-tools:5
@@ -93,28 +86,16 @@ RDEPEND="
selinux? ( sec-policy/selinux-wireshark )
"
PATCHES=(
- "${FILESDIR}"/${PN}-1.99.8-qtchooser.patch
- "${FILESDIR}"/${PN}-2.1.0-sse4_2-r1.patch
"${FILESDIR}"/${PN}-2.4-androiddump.patch
- "${FILESDIR}"/${PN}-99999999-androiddump.patch
+ "${FILESDIR}"/${PN}-2.6.0-androiddump-wsutil.patch
)
pkg_setup() {
enewgroup wireshark
}
-src_unpack() {
- git-r3_src_unpack
-}
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
src_configure() {
- local myconf
+ local mycmakeargs
# Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
# --with-ssl to ./configure. (Mimics code from acinclude.m4).
@@ -124,109 +105,75 @@ src_configure() {
ewarn "Kerberos was built with ssl support: linkage with openssl is enabled."
ewarn "Note there are annoying license incompatibilities between the OpenSSL"
ewarn "license and the GPL, so do your check before distributing such package."
- myconf+=( "--with-ssl" )
+ mycmakeargs+=( -DENABLE_GNUTLS=$(usex ssl) )
;;
esac
fi
- # Enable wireshark binary with any supported GUI toolkit (bug #473188)
- if use gtk || use qt5; then
- myconf+=( "--enable-wireshark" )
- else
- myconf+=( "--disable-wireshark" )
- fi
-
- if ! use qt5; then
- myconf+=( "--with-qt=no" )
- fi
-
if use qt5; then
export QT_MIN_VERSION=5.3.0
append-cxxflags -fPIC -DPIC
fi
- # Hack around inability to disable doxygen/fop doc generation
- use doc || export ac_cv_prog_HAVE_DOXYGEN=false
- use doc-pdf || export ac_cv_prog_HAVE_FOP=false
-
- econf \
- $(use androiddump && use pcap && echo --enable-androiddump-use-libpcap=yes) \
- $(use dumpcap && use_with pcap dumpcap-group wireshark) \
- $(use_enable androiddump) \
- $(use_enable capinfos) \
- $(use_enable captype) \
- $(use_enable ciscodump) \
- $(use_enable dftest) \
- $(use_enable dumpcap) \
- $(use_enable editcap) \
- $(use_enable mergecap) \
- $(use_enable randpkt) \
- $(use_enable randpktdump) \
- $(use_enable reordercap) \
- $(use_enable sharkd) \
- $(use_enable sshdump) \
- $(use_enable text2pcap) \
- $(use_enable tfshark) \
- $(use_enable tshark) \
- $(use_enable udpdump) \
- $(use_with adns c-ares) \
- $(use_with bcg729) \
- $(use_with caps libcap) \
- $(use_with geoip) \
- $(use_with gtk gtk 3) \
- $(use_with kerberos krb5) \
- $(use_with libssh) \
- $(use_with libxml2) \
- $(use_with lua) \
- $(use_with lz4) \
- $(use_with nghttp2) \
- $(use_with pcap) \
- $(use_with portaudio) \
- $(use_with sbc) \
- $(use_with smi libsmi) \
- $(use_with snappy) \
- $(use_with spandsp) \
- $(use_with ssl gnutls) \
- $(use_with zlib) \
- $(usex cpu_flags_x86_sse4_2 --enable-sse4_2 '') \
- $(usex netlink --with-libnl=3 --without-libnl) \
- $(usex qt5 --with-qt=5 '') \
- $(usex qt5 LRELEASE=$(qt5_get_bindir)/lrelease '') \
- $(usex qt5 MOC=$(qt5_get_bindir)/moc '') \
- $(usex qt5 RCC=$(qt5_get_bindir)/rcc '') \
- $(usex qt5 UIC=$(qt5_get_bindir)/uic '') \
- --disable-warnings-as-errors \
- --sysconfdir="${EPREFIX}"/etc/wireshark \
- ${myconf[@]}
-}
-
-src_compile() {
- default
+ mycmakeargs+=(
+ -DBUILD_androiddump=$(usex androiddump)
+ -DBUILD_capinfos=$(usex capinfos)
+ -DBUILD_captype=$(usex captype)
+ -DBUILD_ciscodump=$(usex ciscodump)
+ -DBUILD_dftest=$(usex dftest)
+ -DBUILD_dumpcap=$(usex dumpcap)
+ -DBUILD_editcap=$(usex editcap)
+ -DBUILD_mergecap=$(usex mergecap)
+ -DBUILD_mmdbresolve=$(usex maxminddb)
+ -DBUILD_randpkt=$(usex randpkt)
+ -DBUILD_randpktdump=$(usex randpktdump)
+ -DBUILD_reordercap=$(usex reordercap)
+ -DBUILD_sharkd=$(usex sharkd)
+ -DBUILD_sshdump=$(usex sshdump)
+ -DBUILD_text2pcap=$(usex text2pcap)
+ -DBUILD_tfshark=$(usex tfshark)
+ -DBUILD_tshark=$(usex tshark)
+ -DBUILD_udpdump=$(usex udpdump)
+ -DBUILD_wireshark=$(usex qt5)
+ -DBUILD_wireshark_gtk=$(usex gtk)
+ -DENABLE_BCG729=$(usex bcg729)
+ -DENABLE_CARES=$(usex adns)
+ -DENABLE_GNUTLS=$(usex ssl)
+ -DENABLE_KERBEROS=$(usex kerberos)
+ -DENABLE_LIBXML2=$(usex libxml2)
+ -DENABLE_LUA=$(usex lua)
+ -DENABLE_LZ4=$(usex lz4)
+ -DENABLE_NGHTTP2=$(usex nghttp2)
+ -DENABLE_PCAP=$(usex pcap)
+ -DENABLE_PORTAUDIO=$(usex portaudio)
+ -DENABLE_SBC=$(usex sbc)
+ -DENABLE_SMI=$(usex smi)
+ -DENABLE_SNAPPY=$(usex snappy)
+ -DENABLE_SPANDSP=$(usex spandsp)
+ -DENABLE_ZLIB=$(usex zlib)
+ -DENABLE_NETLINK=$(usex netlink)
+ $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes)
+ -DENABLE_CAP=$(usex caps)
+ -DDUMPCAP_INSTALL_OPTION=$(usex caps capabilities suid)
+ -DDISABLE_WERROR=yes
+ $(usex qt5 LRELEASE=$(qt5_get_bindir)/lrelease '')
+ $(usex qt5 MOC=$(qt5_get_bindir)/moc '')
+ $(usex qt5 RCC=$(qt5_get_bindir)/rcc '')
+ $(usex qt5 UIC=$(qt5_get_bindir)/uic '')
+ )
- if use doc; then
- emake -j1 -C docbook
- if use doc-pdf; then
- addpredict "/root/.java"
- emake -C docbook all-pdf
- fi
- fi
+ cmake-utils_src_configure
}
src_install() {
- default
+ cmake-utils_src_install
# FAQ is not required as is installed from help/faq.txt
dodoc AUTHORS ChangeLog NEWS README* doc/randpkt.txt doc/README*
- if use doc-pdf; then
- docinto /usr/share/doc/${PF}/pdf/
- dodoc docbook/{developer,user}-guide.pdf
- fi
-
# install headers
local wsheader
for wsheader in \
- config.h \
epan/*.h \
epan/crypt/*.h \
epan/dfilter/*.h \
@@ -238,11 +185,22 @@ src_install() {
ws_symbol_export.h \
wsutil/*.h
do
+ echo "Installing ${wsheader}"
insinto /usr/include/wireshark/$( dirname ${wsheader} )
doins ${wsheader}
done
- #with the above this really shouldn't be needed, but things may be looking in wiretap/ instead of wireshark/wiretap/
+ for wsheader in \
+ ../${P}_build/config.h \
+ ../${P}_build/version.h
+ do
+ echo "Installing ${wsheader}"
+ insinto /usr/include/wireshark
+ doins ${wsheader}
+ done
+
+ #with the above this really shouldn't be needed, but things may be looking
+ # in wiretap/ instead of wireshark/wiretap/
insinto /usr/include/wiretap
doins wiretap/wtap.h