Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/wireshark/
Date: Thu, 08 Sep 2022 04:31:30
Message-Id: 1662611466.6ac0fae51f8558ef4d01861ae4b396039e1e9fcd.sam@gentoo
1 commit: 6ac0fae51f8558ef4d01861ae4b396039e1e9fcd
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 8 04:31:06 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 8 04:31:06 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ac0fae5
7
8 net-analyzer/wireshark: add 3.6.8
9
10 Bug: https://bugs.gentoo.org/869140
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 net-analyzer/wireshark/Manifest | 1 +
14 net-analyzer/wireshark/wireshark-3.6.8.ebuild | 269 ++++++++++++++++++++++++++
15 2 files changed, 270 insertions(+)
16
17 diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest
18 index c9f0a82a4ac0..8914f018742a 100644
19 --- a/net-analyzer/wireshark/Manifest
20 +++ b/net-analyzer/wireshark/Manifest
21 @@ -4,4 +4,5 @@ DIST wireshark-3.6.3.tar.xz 39935892 BLAKE2B 3b636867d946f0cf748eb719874e815c919
22 DIST wireshark-3.6.5.tar.xz 39939340 BLAKE2B 4df1abce2563f20e91fac169ef1ab65851a5f63423aceba487db8cd4b954c4a2ba5673e032878b33a43992cb2ee4628899eee8b0065220cd0c79a8c98a589ef0 SHA512 9aa60721401fbd1f3c6b912312792433c9f8a09583cf684a4f1a24c839f4786a54a0abbfd88c04ba222e5a7af09f7bc67c292a0f944c9b717a71509655fe2fe5
23 DIST wireshark-3.6.6.tar.xz 39950276 BLAKE2B cb74c4ed307b83ba509fa3b56356a33df11d9d1effb29054f73f248ca1c7107806676539d0802cc71e07687831a838145194104183afa4ae1825eb1fb85062b1 SHA512 c32d5aafb3091dc1475896a3c4cfcb5a47af002e53f011a65697271c611e690743153841f5db1021a6cbea6d427dc661dce7b85208832251200258fb46aad84b
24 DIST wireshark-3.6.7.tar.xz 39967312 BLAKE2B 0539130aec2c7d8fdfec536114144a0b761addb8006d146a5e08d0a58e95d5d6b0db67ef32ceae4143de9836f25a3497802706f0a0eb633f29e1f24a47819e4b SHA512 caf087ee467bf934f28d096869ea3d9d7c5a3c83e51c4df447700096943a92abf5cf29f4956b9a549e0708bcb3515b55c4660a7ced2cb9dbc582b87550026fac
25 +DIST wireshark-3.6.8.tar.xz 39942580 BLAKE2B 8b51ae1b3bf56fe1ccec70e94d9edb891e7b486a87b8f43984ea6d3150fe8f6c04beef9f12ebd9b830138aec6a993bcf88d50cfc4695b1f9ade6933092bed8db SHA512 c286e84e113f06b13b931da89b6d21b18e342660682579f88e77697f3e9c335ba75cdc190b41651da4d5729529a20740ef1a41e9f9523d9f6cc768147363053a
26 DIST wireshark-4.0.0rc1.tar.xz 41291340 BLAKE2B 96dc9616702c67f47517cf5fc575bf555d5f7e83cc90284301e3ef26476ca6292f8aba3c7230c3ca7e6404a9b953861247a448826b339fa586d5a8206c787989 SHA512 16d4f3d39198bb208d4ad58059c38a40f21352186abf2cafb4140674d048e5bd29e5dbc079ed50f28f1dde150733bba6a26c6fc7d10e524e4556bd20c6ae2856
27
28 diff --git a/net-analyzer/wireshark/wireshark-3.6.8.ebuild b/net-analyzer/wireshark/wireshark-3.6.8.ebuild
29 new file mode 100644
30 index 000000000000..fffca9343012
31 --- /dev/null
32 +++ b/net-analyzer/wireshark/wireshark-3.6.8.ebuild
33 @@ -0,0 +1,269 @@
34 +# Copyright 1999-2022 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=8
38 +
39 +LUA_COMPAT=( lua5-{1..2} )
40 +PYTHON_COMPAT=( python3_{8..10} )
41 +
42 +inherit fcaps flag-o-matic lua-single python-any-r1 qmake-utils xdg cmake
43 +
44 +DESCRIPTION="A network protocol analyzer formerly known as ethereal"
45 +HOMEPAGE="https://www.wireshark.org/"
46 +
47 +if [[ ${PV} == *9999* ]] ; then
48 + EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark"
49 + inherit git-r3
50 +else
51 + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz"
52 + S="${WORKDIR}/${P/_/}"
53 +
54 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~x86"
55 +fi
56 +
57 +LICENSE="GPL-2"
58 +SLOT="0/${PV}"
59 +IUSE="androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc dpauxmon"
60 +IUSE+=" +dumpcap +editcap http2 ilbc kerberos libxml2 lto lua lz4 maxminddb"
61 +IUSE+=" +mergecap +minizip +netlink opus +plugins plugin-ifdemo +pcap +qt5 +randpkt"
62 +IUSE+=" +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl"
63 +IUSE+=" sdjournal test +text2pcap tfshark +tshark +udpdump zlib +zstd"
64 +
65 +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
66 + plugin-ifdemo? ( plugins )"
67 +
68 +RESTRICT="!test? ( test )"
69 +
70 +# bug #753062 for speexdsp
71 +RDEPEND="acct-group/pcap
72 + >=dev-libs/glib-2.38:2
73 + >=net-dns/c-ares-1.5:=
74 + dev-libs/libgcrypt:=
75 + media-libs/speexdsp
76 + bcg729? ( media-libs/bcg729 )
77 + brotli? ( app-arch/brotli:= )
78 + ciscodump? ( >=net-libs/libssh-0.6 )
79 + filecaps? ( sys-libs/libcap )
80 + http2? ( net-libs/nghttp2:= )
81 + ilbc? ( media-libs/libilbc )
82 + kerberos? ( virtual/krb5 )
83 + libxml2? ( dev-libs/libxml2 )
84 + lua? ( ${LUA_DEPS} )
85 + lz4? ( app-arch/lz4:= )
86 + maxminddb? ( dev-libs/libmaxminddb:= )
87 + minizip? ( sys-libs/zlib[minizip] )
88 + netlink? ( dev-libs/libnl:3 )
89 + opus? ( media-libs/opus )
90 + pcap? ( net-libs/libpcap )
91 + qt5? (
92 + dev-qt/qtcore:5
93 + dev-qt/qtgui:5
94 + dev-qt/qtmultimedia:5
95 + dev-qt/qtprintsupport:5
96 + dev-qt/qtwidgets:5
97 + x11-misc/xdg-utils
98 + )
99 + sbc? ( media-libs/sbc )
100 + sdjournal? ( sys-apps/systemd )
101 + smi? ( net-libs/libsmi )
102 + snappy? ( app-arch/snappy )
103 + spandsp? ( media-libs/spandsp )
104 + sshdump? ( >=net-libs/libssh-0.6 )
105 + ssl? ( net-libs/gnutls:= )
106 + zlib? ( sys-libs/zlib )
107 + zstd? ( app-arch/zstd:= )"
108 +DEPEND="${RDEPEND}"
109 +BDEPEND="${PYTHON_DEPS}
110 + dev-lang/perl
111 + sys-devel/flex
112 + sys-devel/gettext
113 + virtual/pkgconfig
114 + doc? (
115 + app-doc/doxygen
116 + dev-ruby/asciidoctor
117 + )
118 + qt5? (
119 + dev-qt/linguist-tools:5
120 + )
121 + test? (
122 + $(python_gen_any_dep '
123 + dev-python/pytest[${PYTHON_USEDEP}]
124 + dev-python/pytest-xdist[${PYTHON_USEDEP}]
125 + ')
126 + )"
127 +RDEPEND="${RDEPEND}
128 + qt5? ( virtual/freedesktop-icon-theme )
129 + selinux? ( sec-policy/selinux-wireshark )"
130 +
131 +PATCHES=(
132 + "${FILESDIR}"/${PN}-2.6.0-redhat.patch
133 + "${FILESDIR}"/${PN}-3.4.2-cmake-lua-version.patch
134 +)
135 +
136 +python_check_deps() {
137 + use test || return 0
138 +
139 + python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]" &&
140 + python_has_version -b "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
141 +}
142 +
143 +pkg_setup() {
144 + use lua && lua-single_pkg_setup
145 +
146 + python-any-r1_pkg_setup
147 +}
148 +
149 +src_configure() {
150 + local mycmakeargs
151 +
152 + # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
153 + # --with-ssl to ./configure. (Mimics code from acinclude.m4).
154 + if use kerberos ; then
155 + case $(krb5-config --libs) in
156 + *-lcrypto*)
157 + ewarn "Kerberos was built with ssl support: linkage with openssl is enabled."
158 + ewarn "Note there are annoying license incompatibilities between the OpenSSL"
159 + ewarn "license and the GPL, so do your check before distributing such package."
160 + mycmakeargs+=( -DENABLE_GNUTLS=$(usex ssl) )
161 + ;;
162 + esac
163 + fi
164 +
165 + if use qt5 ; then
166 + export QT_MIN_VERSION=5.3.0
167 + append-cxxflags -fPIC -DPIC
168 + fi
169 +
170 + python_setup
171 +
172 + mycmakeargs+=(
173 + -DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc)
174 + $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes)
175 + $(usex qt5 LRELEASE=$(qt5_get_bindir)/lrelease '')
176 + $(usex qt5 MOC=$(qt5_get_bindir)/moc '')
177 + $(usex qt5 RCC=$(qt5_get_bindir)/rcc '')
178 + $(usex qt5 UIC=$(qt5_get_bindir)/uic '')
179 + -DBUILD_androiddump=$(usex androiddump)
180 + -DBUILD_capinfos=$(usex capinfos)
181 + -DBUILD_captype=$(usex captype)
182 + -DBUILD_ciscodump=$(usex ciscodump)
183 + -DBUILD_dftest=$(usex dftest)
184 + -DBUILD_dpauxmon=$(usex dpauxmon)
185 + -DBUILD_dumpcap=$(usex dumpcap)
186 + -DBUILD_editcap=$(usex editcap)
187 + -DBUILD_mergecap=$(usex mergecap)
188 + -DBUILD_mmdbresolve=$(usex maxminddb)
189 + -DBUILD_randpkt=$(usex randpkt)
190 + -DBUILD_randpktdump=$(usex randpktdump)
191 + -DBUILD_reordercap=$(usex reordercap)
192 + -DBUILD_sdjournal=$(usex sdjournal)
193 + -DBUILD_sharkd=$(usex sharkd)
194 + -DBUILD_sshdump=$(usex sshdump)
195 + -DBUILD_text2pcap=$(usex text2pcap)
196 + -DBUILD_tfshark=$(usex tfshark)
197 + -DBUILD_tshark=$(usex tshark)
198 + -DBUILD_udpdump=$(usex udpdump)
199 + -DBUILD_wireshark=$(usex qt5)
200 + -DDISABLE_WERROR=ON
201 + -DENABLE_BCG729=$(usex bcg729)
202 + -DENABLE_BROTLI=$(usex brotli)
203 + -DENABLE_CAP=$(usex filecaps caps)
204 + -DENABLE_GNUTLS=$(usex ssl)
205 + -DENABLE_ILBC=$(usex ilbc)
206 + -DENABLE_KERBEROS=$(usex kerberos)
207 + -DENABLE_LIBXML2=$(usex libxml2)
208 + -DENABLE_LTO=$(usex lto)
209 + -DENABLE_LUA=$(usex lua)
210 + -DENABLE_LZ4=$(usex lz4)
211 + -DENABLE_MINIZIP=$(usex minizip)
212 + -DENABLE_NETLINK=$(usex netlink)
213 + -DENABLE_NGHTTP2=$(usex http2)
214 + -DENABLE_OPUS=$(usex opus)
215 + -DENABLE_PCAP=$(usex pcap)
216 + -DENABLE_PLUGINS=$(usex plugins)
217 + -DENABLE_PLUGIN_IFDEMO=$(usex plugin-ifdemo)
218 + -DENABLE_SBC=$(usex sbc)
219 + -DENABLE_SMI=$(usex smi)
220 + -DENABLE_SNAPPY=$(usex snappy)
221 + -DENABLE_SPANDSP=$(usex spandsp)
222 + -DENABLE_ZLIB=$(usex zlib)
223 + -DENABLE_ZSTD=$(usex zstd)
224 + )
225 +
226 + cmake_src_configure
227 +}
228 +
229 +src_test() {
230 + cmake_build test-programs
231 +
232 + # https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html
233 + epytest \
234 + --disable-capture \
235 + --skip-missing-programs=all \
236 + --program-path "${BUILD_DIR}"/run
237 +}
238 +
239 +src_install() {
240 + cmake_src_install
241 +
242 + # FAQ is not required as is installed from help/faq.txt
243 + dodoc AUTHORS ChangeLog NEWS README* doc/randpkt.txt doc/README*
244 +
245 + # install headers
246 + insinto /usr/include/wireshark
247 + doins ws_diag_control.h ws_symbol_export.h \
248 + "${BUILD_DIR}"/config.h
249 +
250 + # If trying to remove this, try build e.g. libvirt first!
251 + # At last check, Fedora is still doing this too.
252 + local dir dirs=(
253 + epan
254 + epan/crypt
255 + epan/dfilter
256 + epan/dissectors
257 + epan/ftypes
258 + wiretap
259 + wsutil
260 + wsutil/wmem
261 + )
262 +
263 + for dir in "${dirs[@]}" ; do
264 + insinto /usr/include/wireshark/${dir}
265 + doins ${dir}/*.h
266 + done
267 +
268 + if use qt5 ; then
269 + local s
270 +
271 + for s in 16 32 48 64 128 256 512 1024 ; do
272 + insinto /usr/share/icons/hicolor/${s}x${s}/apps
273 + newins image/wsicon${s}.png wireshark.png
274 + done
275 +
276 + for s in 16 24 32 48 64 128 256 ; do
277 + insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes
278 + newins image/WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png
279 + done
280 + fi
281 +
282 + if [[ -d "${ED}"/usr/share/appdata ]] ; then
283 + rm -r "${ED}"/usr/share/appdata || die
284 + fi
285 +}
286 +
287 +pkg_postinst() {
288 + xdg_pkg_postinst
289 +
290 + # Add group for users allowed to sniff.
291 + chgrp pcap "${EROOT}"/usr/bin/dumpcap
292 +
293 + if use dumpcap && use pcap ; then
294 + fcaps -o 0 -g pcap -m 4710 -M 0710 \
295 + cap_dac_read_search,cap_net_raw,cap_net_admin \
296 + "${EROOT}"/usr/bin/dumpcap
297 + fi
298 +
299 + ewarn "NOTE: To capture traffic with wireshark as normal user you have to"
300 + ewarn "add yourself to the pcap group. This security measure ensures"
301 + ewarn "that only trusted users are allowed to sniff your traffic."
302 +}