net-analyzer/wireshark: Version 3.1.1
authorJeroen Roovers <jer@gentoo.org>
Tue, 19 Nov 2019 06:19:54 +0000 (07:19 +0100)
committerJeroen Roovers <jer@gentoo.org>
Tue, 19 Nov 2019 06:20:48 +0000 (07:20 +0100)
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
net-analyzer/wireshark/Manifest
net-analyzer/wireshark/wireshark-3.1.1.ebuild [new file with mode: 0644]

index a49ccbdf0a1e4b24d727635b563744e8427833da..52785d9c223fc2889e8c5c949ba08b315021b1ac 100644 (file)
@@ -3,3 +3,4 @@ DIST wireshark-3.0.4.tar.xz 30938336 BLAKE2B ab97cbfd9999a4e326787639debb67f0d0b
 DIST wireshark-3.0.5.tar.xz 30929864 BLAKE2B 0e3d8eb37e6d1d1976e8084176fc9c75dab43a74f65f8247c9b18b85cdd82d207791b839743a59c4ad299d63f5f41a94f931901e9245dbfb3d4a239046c874c4 SHA512 237ee66cfe0a7073f0e3623f327f7eb7204d1cd274e006dcc6890972d4135c2baa6c9d2426ea03ee64b7fc6dc45cb4cfe823e5cfc6f90e252d35b3ad7750884e
 DIST wireshark-3.0.6.tar.xz 30846672 BLAKE2B c20bef980edb470564dff15e0133e6d65c3273e400a136faeabf92f6e4b907236f88f025baad6d4d592703d2063e56b42de28849c84ce7babeeece950e4afdb8 SHA512 fcd621c1434db69e6319e5932e2dcc378e004055378123f86bdce8dec095bbffbf2b85a880c7f46c69555fe3c9ddb7c79ee59ca2576e0fdf2cfb7eb6ce775b25
 DIST wireshark-3.1.0.tar.xz 31052040 BLAKE2B 96ede4dcbb3f5c4ecf1d935737bb26dcaecabe24e0767b34914febd31a1402d2428580e8b26c145bc98a71ef01fddcfca6e4f5709d9a8d90634ea6ed4789bb20 SHA512 df7ca131d0e0f00ec00ef0934cf070c7f6d06e55830777e5ab62f4b1c5588b57bfb45e69009f8ab0c3f405f9dd730bf35671d09f46a9a846a09154ec47caffc9
+DIST wireshark-3.1.1.tar.xz 31499140 BLAKE2B e99b525472d04bc3f8a66f02b809c0c0e91255dce6cd3423e37eb5ad77edbbe96df39fd23d354c73910c65298ea3f5895ccef005204f93bdcf56facedf0e05bd SHA512 db5dd8931459412ebaf07a6a1337f6e27aaccf35d63321f171fae6b104ea5c953d42ff2f8ea33e69466fa2c25552fa9d3393e9e0b6bb7233c3eb8fd3241f9248
diff --git a/net-analyzer/wireshark/wireshark-3.1.1.ebuild b/net-analyzer/wireshark/wireshark-3.1.1.ebuild
new file mode 100644 (file)
index 0000000..4d9324a
--- /dev/null
@@ -0,0 +1,250 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{5,6,7} )
+inherit fcaps flag-o-matic multilib python-any-r1 qmake-utils user xdg-utils cmake-utils
+
+DESCRIPTION="A network protocol analyzer formerly known as ethereal"
+HOMEPAGE="https://www.wireshark.org/"
+SRC_URI="${HOMEPAGE}download/src/all-versions/${P/_/}.tar.xz"
+LICENSE="GPL-2"
+
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="
+       adns androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc
+       dpauxmon +dumpcap +editcap http2 kerberos libxml2 lua lz4 maxminddb
+       +mergecap +minizip +netlink +plugins plugin-ifdemo +pcap +qt5 +randpkt
+       +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl
+       sdjournal +text2pcap tfshark +tshark +udpdump zlib
+"
+S=${WORKDIR}/${P/_/}
+
+CDEPEND="
+       >=dev-libs/glib-2.32:2
+       dev-libs/libgcrypt:0
+       adns? ( >=net-dns/c-ares-1.5 )
+       bcg729? ( media-libs/bcg729 )
+       brotli? ( app-arch/brotli )
+       ciscodump? ( >=net-libs/libssh-0.6 )
+       filecaps? ( sys-libs/libcap )
+       http2? ( net-libs/nghttp2 )
+       kerberos? ( virtual/krb5 )
+       libxml2? ( dev-libs/libxml2 )
+       lua? ( >=dev-lang/lua-5.1:* )
+       lz4? ( app-arch/lz4 )
+       maxminddb? ( dev-libs/libmaxminddb )
+       minizip? ( sys-libs/zlib[minizip] )
+       netlink? ( dev-libs/libnl:3 )
+       pcap? ( net-libs/libpcap )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtmultimedia:5
+               dev-qt/qtprintsupport:5
+               dev-qt/qtwidgets:5
+               x11-misc/xdg-utils
+       )
+       sbc? ( media-libs/sbc )
+       sdjournal? ( sys-apps/systemd )
+       smi? ( net-libs/libsmi )
+       snappy? ( app-arch/snappy )
+       spandsp? ( media-libs/spandsp )
+       sshdump? ( >=net-libs/libssh-0.6 )
+       ssl? ( net-libs/gnutls:= )
+       zlib? ( sys-libs/zlib )
+"
+# We need perl for `pod2html`. The rest of the perl stuff is to block older
+# and broken installs. #455122
+DEPEND="
+       ${CDEPEND}
+       ${PYTHON_DEPS}
+"
+BDEPEND="
+       !<perl-core/Pod-Simple-3.170
+       !<virtual/perl-Pod-Simple-3.170
+       dev-lang/perl
+       sys-devel/bison
+       sys-devel/flex
+       virtual/pkgconfig
+       doc? (
+               app-doc/doxygen
+               dev-ruby/asciidoctor
+       )
+       qt5? (
+               dev-qt/linguist-tools:5
+       )
+"
+RDEPEND="
+       ${CDEPEND}
+       qt5? ( virtual/freedesktop-icon-theme )
+       selinux? ( sec-policy/selinux-wireshark )
+"
+REQUIRED_USE="
+       plugin-ifdemo? ( plugins )
+"
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.4-androiddump.patch
+       "${FILESDIR}"/${PN}-2.6.0-redhat.patch
+       "${FILESDIR}"/${PN}-2.9.0-tfshark-libm.patch
+       "${FILESDIR}"/${PN}-99999999-androiddump-wsutil.patch
+       "${FILESDIR}"/${PN}-99999999-qtsvg.patch
+       "${FILESDIR}"/${PN}-99999999-ui-needs-wiretap.patch
+)
+
+pkg_setup() {
+       enewgroup wireshark
+}
+
+src_configure() {
+       local mycmakeargs
+
+       # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
+       # --with-ssl to ./configure. (Mimics code from acinclude.m4).
+       if use kerberos; then
+               case $(krb5-config --libs) in
+                       *-lcrypto*)
+                               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."
+                               mycmakeargs+=( -DENABLE_GNUTLS=$(usex ssl) )
+                               ;;
+               esac
+       fi
+
+       if use qt5; then
+               export QT_MIN_VERSION=5.3.0
+               append-cxxflags -fPIC -DPIC
+       fi
+
+       python_setup
+
+       mycmakeargs+=(
+               $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=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 '')
+               -DBUILD_androiddump=$(usex androiddump)
+               -DBUILD_capinfos=$(usex capinfos)
+               -DBUILD_captype=$(usex captype)
+               -DBUILD_ciscodump=$(usex ciscodump)
+               -DBUILD_dftest=$(usex dftest)
+               -DBUILD_dpauxmon=$(usex dpauxmon)
+               -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_sdjournal=$(usex sdjournal)
+               -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)
+               -DCMAKE_INSTALL_DOCDIR="${EROOT%/}/usr/share/doc/${PF}"
+               -DDISABLE_WERROR=yes
+               -DENABLE_BCG729=$(usex bcg729)
+               -DENABLE_BROTLI=$(usex brotli)
+               -DENABLE_CAP=$(usex filecaps caps)
+               -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_MINIZIP=$(usex minizip)
+               -DENABLE_NETLINK=$(usex netlink)
+               -DENABLE_NGHTTP2=$(usex http2)
+               -DENABLE_PCAP=$(usex pcap)
+               -DENABLE_PLUGINS=$(usex plugins)
+               -DENABLE_PLUGIN_IFDEMO=$(usex plugin-ifdemo)
+               -DENABLE_SBC=$(usex sbc)
+               -DENABLE_SMI=$(usex smi)
+               -DENABLE_SNAPPY=$(usex snappy)
+               -DENABLE_SPANDSP=$(usex spandsp)
+               -DENABLE_ZLIB=$(usex zlib)
+       )
+
+       cmake-utils_src_configure
+}
+
+src_test() {
+       cmake-utils_src_test
+}
+
+src_install() {
+       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*
+
+       # install headers
+       insinto /usr/include/wireshark
+       doins ws_diag_control.h ws_symbol_export.h \
+               "${BUILD_DIR}"/config.h "${BUILD_DIR}"/version.h
+
+       local dir dirs=(
+               epan
+               epan/crypt
+               epan/dfilter
+               epan/dissectors
+               epan/ftypes
+               epan/wmem
+               wiretap
+               wsutil
+       )
+       for dir in "${dirs[@]}"
+       do
+               insinto /usr/include/wireshark/${dir}
+               doins ${dir}/*.h
+       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
+
+       if use qt5; then
+               local s
+               for s in 16 32 48 64 128 256 512 1024; do
+                       insinto /usr/share/icons/hicolor/${s}x${s}/apps
+                       newins image/wsicon${s}.png wireshark.png
+               done
+               for s in 16 24 32 48 64 128 256 ; do
+                       insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes
+                       newins image/WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png
+               done
+       fi
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+       xdg_mimeinfo_database_update
+
+       # Add group for users allowed to sniff.
+       enewgroup wireshark
+       chgrp wireshark "${EROOT}"/usr/bin/dumpcap
+
+       if use dumpcap && use pcap; then
+               fcaps -o 0 -g wireshark -m 4710 -M 0710 \
+                       cap_dac_read_search,cap_net_raw,cap_net_admin \
+                       "${EROOT}"/usr/bin/dumpcap
+       fi
+
+       ewarn "NOTE: To capture traffic with wireshark as normal user you have to"
+       ewarn "add yourself to the wireshark group. This security measure ensures"
+       ewarn "that only trusted users are allowed to sniff your traffic."
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+       xdg_mimeinfo_database_update
+}