Skip to content

Commit

Permalink
net-analyzer/wireshark: Version 3.3.1
Browse files Browse the repository at this point in the history
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Jeroen Roovers <[email protected]>
  • Loading branch information
Jeroen Roovers committed Oct 1, 2020
1 parent b6f1a71 commit 6afadd9
Show file tree
Hide file tree
Showing 2 changed files with 261 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.2.6.tar.xz 31635628 BLAKE2B 216623d4f357e755b9c032bef45b30c373bb0e2de773daabb78725491bd8eb0290d25a9016081dc62844c1be63e3afd273a8a6b8d16e70e589465fd837cc7442 SHA512 71905836370b916a92e7a76e4f93cb10a658374c7a95aa47b607b2b142abebdb0d1562f642782a5a946a167dfb28169572330a7603cf0d7ab6016ce7f12fac78
DIST wireshark-3.2.7.tar.xz 31659996 BLAKE2B 69ed148e5cc6403b3948f4851164033163d0817626feaeaa0abf09b749c9e37c036786ed91f04add1ceeb80b69b7d05316b648d339c8c86f0818e0ee0afdf4ad SHA512 c17913fe6c193ccc6b0dbf86932d625a1f3b670aef805296e5db2639118218e06d513910ad50ab3926204f94a0010425b0d498176f987516d64fdd6a52d2517b
DIST wireshark-3.3.0.tar.xz 32795500 BLAKE2B 1f5b7711e76464403a9ed11f2f72a858716e177334b036bf5f2b2aa9f41b197fded04ff18a3841f3d6fdab9acf331a5bc4dfee3adc8eca775c4eeedbbc163ece SHA512 1ca59d951b3b3c18f55f21023a775124639fbc99a0396e3b2ecf3569213659a039836c6bdaf82b802668b5108f455106a22e83ab26ee18ed882dfa564594df5a
DIST wireshark-3.3.1.tar.xz 32876876 BLAKE2B d8973b9724bece1b9890ed468280bcef56f2ac4f1022882f520140db98dab1e81071f3621fda247a80a8e51ad18a77c606f077efbb3d0e13dea47f986a5300e5 SHA512 d6f50c14e79dff0fb902f5b06a2fb5a6975e5b17461205ab3275b05a53df606a5b1e488e8472cc644541b653df7d5f4a3c7009e38a2f75242af4ea2f59af061f
260 changes: 260 additions & 0 deletions net-analyzer/wireshark/wireshark-3.3.1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit fcaps flag-o-matic multilib python-any-r1 qmake-utils user xdg-utils cmake

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 ilbc kerberos libxml2 lto lua lz4 maxminddb
+mergecap +minizip +netlink +plugins plugin-ifdemo +pcap +qt5 +randpkt
+randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl
sdjournal test +text2pcap tfshark +tshark +udpdump zlib +zstd
"
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 )
ilbc? ( media-libs/libilbc )
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 )
zstd? ( app-arch/zstd )
"
# We need perl for `pod2html`. The rest of the perl stuff is to block older
# and broken installs. #455122
DEPEND="
${CDEPEND}
${PYTHON_DEPS}
"
BDEPEND="
dev-lang/perl
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
doc? (
app-doc/doxygen
dev-ruby/asciidoctor
)
qt5? (
dev-qt/linguist-tools:5
)
test? (
dev-python/pytest
dev-python/pytest-xdist
)
"
RDEPEND="
${CDEPEND}
qt5? ( virtual/freedesktop-icon-theme )
selinux? ( sec-policy/selinux-wireshark )
"
REQUIRED_USE="
plugin-ifdemo? ( plugins )
"
RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-2.6.0-redhat.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_ILBC=$(usex ilbc)
-DENABLE_KERBEROS=$(usex kerberos)
-DENABLE_LIBXML2=$(usex libxml2)
-DENABLE_LTO=$(usex lto)
-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)
-DENABLE_ZSTD=$(usex zstd)
)

cmake_src_configure
}

src_test() {
cmake_build test-programs

myctestargs=( --disable-capture --skip-missing-programs=all --verbose )
cmake_src_test
}

src_install() {
cmake_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

if [[ -d "${D}"/usr/share/appdata ]]; then
rm -r "${D}"/usr/share/appdata || die
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 6afadd9

Please sign in to comment.