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