Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/wireshark/
Date: Thu, 28 Feb 2019 21:13:00
Message-Id: 1551388370.de767d05f9bc4c85be170272b9e62e700b348a17.jer@gentoo
commit:     de767d05f9bc4c85be170272b9e62e700b348a17
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 28 21:11:21 2019 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Thu Feb 28 21:12:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de767d05

net-analyzer/wireshark: Version 3.0.0

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 net-analyzer/wireshark/Manifest               |   1 +
 net-analyzer/wireshark/wireshark-3.0.0.ebuild | 248 ++++++++++++++++++++++++++
 2 files changed, 249 insertions(+)

diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest
index 6eeba91487c..4a1f85112ed 100644
--- a/net-analyzer/wireshark/Manifest
+++ b/net-analyzer/wireshark/Manifest
@@ -2,5 +2,6 @@ DIST wireshark-2.4.5.tar.xz 28836740 BLAKE2B 797540daca259a2d5d7dc6e637f2b504b6d
 DIST wireshark-2.6.3.tar.xz 28384004 BLAKE2B f275c73173fbaf3f819c58f28859362e9c53ae50cf2649ac42c8d172362241eb00d7f43d0aead184ec67cb8da34d405124be10c5bf31226c2cb4800b8a01955b SHA512 87e5335840baa401a1064ee83e3f0ee859c059dd37a09f63f19eb5d91ad273e84f1c0e7a8fdd63fe8a7076abff5e79593827544c5796d921cf7dc7682c7c3f80
 DIST wireshark-2.6.6.tar.xz 28407404 BLAKE2B 5135789d345b675814a6394d5ba1469585b9eab917885730125b8a007aecd9cb48a510fc9e7479148cadf625807bac9017b854797e4bb2e562d7dc7f76140826 SHA512 b781c3b34dc76a3d8e60dc2b9b4e46a11994440b8df7b56134521ea9a77b27b0719a600db60d7f3d65f15972a5db2a7e85a8bf60d7217fce498fb5668de8fe56
 DIST wireshark-2.6.7.tar.xz 28420060 BLAKE2B fda1fb2b9a8968916dd24c59c193854ab56dc13d5a69d2f589ae89b257f92794d092a3da75c2e20b1c83c902966db15527346dc4072a38d16a21ed095cde364e SHA512 bd0f87debd8bd8947f386aaec9fc843148e3cdfbffc28ba499526c4053732becea606061deae6799da0cf52458fba840ba0ff8e4a034a671fa876b8a0ff25677
+DIST wireshark-3.0.0.tar.xz 30953760 BLAKE2B ee866966000cf902da6f330eb8a4b281d34a3ca88e9d92a7de1069172c8aeb86f9222e1467c5d3722ee055baf88d8ba0eb6fe27084d0b35f9639bdb9741d25e1 SHA512 917708b5edc25609536c7bd7cf4ae32a901fd99118302138dc0bf6f1ad092a8e5069a917cc8cf6cb77190f54e50623a4eba1ee10ffc225ee3051b50cf02a0963
 DIST wireshark-3.0.0rc1.tar.xz 30933416 BLAKE2B b9b421ecbcff8766d45f370a8ba6e0c03b02caaca09f5af90a5df0cd9a1a9093fab0b931c0cc001df31e0da86b53e022e70353a617a6b66d9defe79a44e0c8a3 SHA512 8cc34ee107f73cd19ca4bcfb05e0bfd237a53c7e0dcd07780200e423096566215cb55996e12cedbfdeaf31fc458c2a32b6d8038264060cdf677756148c404308
 DIST wireshark-3.0.0rc2.tar.xz 30942776 BLAKE2B 723c70291d586b2bc9a8bc1cc0eae03ed06fec3c8a60d34b4d8ed801eef0d3cd60c0a49f4b1b9dbd17dfd91fb07b91103a579d169250cadde523c0910f1b5406 SHA512 3d3203d5e690ec067bae112490fe4a1d5e43415c6845fa22085ed020666c6e99f7a4793a0c353b4dae694697953f50aa8a9638d66f8e705b6bd0559019cb6af2

diff --git a/net-analyzer/wireshark/wireshark-3.0.0.ebuild b/net-analyzer/wireshark/wireshark-3.0.0.ebuild
new file mode 100644
index 00000000000..7824e565a93
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-3.0.0.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_{4,5,6,7} )
+inherit cmake-utils eutils fcaps flag-o-matic gnome2-utils ltprune multilib python-r1 qmake-utils user xdg-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="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc64 ~x86"
+IUSE="
+	adns androiddump bcg729 +capinfos +captype ciscodump +dftest doc dpauxmon
+	+dumpcap +editcap kerberos libxml2 lua lz4 maxminddb +mergecap +netlink
+	nghttp2 +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 )
+	ciscodump? ( >=net-libs/libssh-0.6 )
+	filecaps? ( sys-libs/libcap )
+	kerberos? ( virtual/krb5 )
+	libxml2? ( dev-libs/libxml2 )
+	lua? ( >=dev-lang/lua-5.1:* )
+	lz4? ( app-arch/lz4 )
+	maxminddb? ( dev-libs/libmaxminddb )
+	netlink? ( dev-libs/libnl:3 )
+	nghttp2? ( net-libs/nghttp2 )
+	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}
+	!<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="
+	${PYTHON_REQUIRED_USE}
+"
+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 'python3*'
+
+	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)
+		-DDISABLE_WERROR=yes
+		-DENABLE_BCG729=$(usex bcg729)
+		-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_NETLINK=$(usex netlink)
+		-DENABLE_NGHTTP2=$(usex nghttp2)
+		-DENABLE_PCAP=$(usex pcap)
+		-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() {
+	emake -C "${BUILD_DIR}" test-programs
+	emake -C "${BUILD_DIR}" 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
+
+	prune_libtool_files
+
+	mv "${D}"/usr/share/doc/${PN}/* "${D}"/usr/share/doc/${PF}/ || die
+	rmdir "${D}"/usr/share/doc/${PN} || die
+}
+
+pkg_postinst() {
+	gnome2_icon_cache_update
+	xdg_desktop_database_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() {
+	gnome2_icon_cache_update
+	xdg_desktop_database_update
+	xdg_mimeinfo_database_update
+}