Skip to content

Commit

Permalink
net-analyzer/wireshark: Version 3.2.0_rc2
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Jeroen Roovers <[email protected]>
  • Loading branch information
Jeroen Roovers committed Dec 12, 2019
1 parent 0ea4258 commit 129e4b8
Show file tree
Hide file tree
Showing 2 changed files with 250 additions and 0 deletions.
1 change: 1 addition & 0 deletions net-analyzer/wireshark/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
DIST wireshark-3.0.3.tar.xz 30923980 BLAKE2B 05f29f55061d0bed9be284e145d260fca5e0051893c044b1389e1389f2c9865c7ec4c548ea040c6bd853d4fe1c482c5c86fdb23aa79d588ad34b91ed1901bcf0 SHA512 78d4aa68e47a72b641cb2a694028de743c195a41c42fb58f510402581a213c1239f63cad1f9163b13d64608fcedf64c7367a4888021b80613cb7e9a6ddbf8750
DIST wireshark-3.0.7.tar.xz 30851928 BLAKE2B 98d31a260b2f5f74a567161e9dc0c136bb6bb29bcd4fc303f099c8b1379668194c2463e0661041061fe4c462db20c846694beae9286d322ce887332cce45341b SHA512 64e242510865ca69e688677e3ee1f72d3efa2155f07bc1aacc6de19ffab06f26b1ef8a3f91a90e91a6612b10d75651aea6400f8c5852e6a7e82e5d3f3e88e031
DIST wireshark-3.2.0rc1.tar.xz 31426064 BLAKE2B e7fd605701aec50bf982f3775902ca6289862422a2e69dc42308f5955b8a74c3b059553fd187de66b2c771f27062517c6b690fd9af787dfdea44e589759f856a SHA512 6dfc1f46f8555798dbb1d1e6ba49cdebb497155559af6733e38819882059aa6db6fc0e72a84e30b5255ec46dda5b2245de905035415c0ef24b71a616c4b94111
DIST wireshark-3.2.0rc2.tar.xz 31454312 BLAKE2B 41c25634d89c4e107a65278d679a17c7b21f8b9c566b394ae8b410a8ed38c4ccce4244b12f95c24c2d50c21bba05077cf068ec1e59f3d9c29bc58207c7020afc SHA512 c24bc0358127105f00efe9c79b012eb4f5b5fafd987f3cd47bf5079cb4d4f92810fd5fda207385d031ebe5afd2b26804f911509b85cbc672fa5c2d1d8e69130d
249 changes: 249 additions & 0 deletions net-analyzer/wireshark/wireshark-3.2.0_rc2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
# 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="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz"
LICENSE="GPL-2"

SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~x86"
IUSE="
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
>=net-dns/c-ares-1.5
dev-libs/libgcrypt:0
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_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
}

0 comments on commit 129e4b8

Please sign in to comment.