From 8b4f7a0189a7403613443bb7b514ba9334c2b616 Mon Sep 17 00:00:00 2001
From: Jeroen Roovers <jer@gentoo.org>
Date: Wed, 1 Jul 2020 23:19:20 +0200
Subject: net-analyzer/wireshark: Version 3.2.5

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Bug: https://bugs.gentoo.org/730414
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
---
 net-analyzer/wireshark/Manifest               |   1 +
 net-analyzer/wireshark/wireshark-3.2.5.ebuild | 261 ++++++++++++++++++++++++++
 2 files changed, 262 insertions(+)
 create mode 100644 net-analyzer/wireshark/wireshark-3.2.5.ebuild

(limited to 'net-analyzer')

diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest
index 31d6a5d49be6..081b4d455148 100644
--- a/net-analyzer/wireshark/Manifest
+++ b/net-analyzer/wireshark/Manifest
@@ -1 +1,2 @@
 DIST wireshark-3.2.4.tar.xz 31580440 BLAKE2B c40c19fde09726192119efe358892157d17e28ab87afa9a5b91203e11d3079b718d8e200522294886613d63d19283198de1256561eaf83436742db3898019e89 SHA512 67d20a248c0f4e63a58fd3a4191ede75542e9cfd09b0baa5c0016f72a435527d8f95d34f2d35ef1957c1a9c66844d530162379bfcf9e51b64d0d220b381cb097
+DIST wireshark-3.2.5.tar.xz 31626148 BLAKE2B 46341b0c703913abaf49c55d2d40be36e4f2d74ab0326d0b893288fb15e27246249234243f68b184b5854cdd4a6c8690c350d5fad231db1dda1620fe76b94c93 SHA512 3dc785a6e857f66a9ae3c172bf6a09c2199fe914646ade7b81f0ee18bd3addae57facad898f57675ea4d7177a4315d6a6cdac46e2da063727a83f9bee6994277
diff --git a/net-analyzer/wireshark/wireshark-3.2.5.ebuild b/net-analyzer/wireshark/wireshark-3.2.5.ebuild
new file mode 100644
index 000000000000..9ecfd3d5c9b3
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-3.2.5.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7} )
+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 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
+	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 )
+	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.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)
+		-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
+}
-- 
cgit v1.2.3-65-gdbad