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