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: Fri, 01 Dec 2017 14:55:35
Message-Id: 1512140128.97aaa8da00c97410b0b91d2804c349046dfc8d23.jer@gentoo
1 commit: 97aaa8da00c97410b0b91d2804c349046dfc8d23
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Fri Dec 1 14:54:51 2017 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Fri Dec 1 14:55:28 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97aaa8da
7
8 net-analyzer/wireshark: Version bump.
9
10 Package-Manager: Portage-2.3.16, Repoman-2.3.6
11
12 net-analyzer/wireshark/Manifest | 1 +
13 net-analyzer/wireshark/wireshark-2.4.3.ebuild | 287 ++++++++++++++++++++++++++
14 2 files changed, 288 insertions(+)
15
16 diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest
17 index 8be664a29b2..412b093e9dd 100644
18 --- a/net-analyzer/wireshark/Manifest
19 +++ b/net-analyzer/wireshark/Manifest
20 @@ -1,2 +1,3 @@
21 DIST wireshark-2.2.7.tar.bz2 32309420 BLAKE2B a4ec32fab15235c5bde9f03ceafc5760055a769dd40d96526a18ad16d5642e957f620fc58f42c3323745bd679d6ef7b006283e7b9ddc52ddadc2680789d957ea SHA512 417836810eb895b3f2a6ac1cfd138fb0275382ea2edc60fc5f5e5f8ce433b56b8120aa8b58b4f77296986630fdf49e4c5c3859b2c2c5e26b1ce0651393b7d716
22 DIST wireshark-2.4.2.tar.xz 28791712 BLAKE2B 64a965f522478e2e5690a4439554764bd341c0b8017003af4b0d328094cf56a72462df9dfdb9c9318e4bfc1fe57e4caedc43e0d0c18c704c8342dbb3baa36d91 SHA512 212964482a1e45af490ef78b3f2465384f84c007a76c3a99e8de0e2c37d933fb34b0da5631f4a36ca12d2fa7cc4376d3d405cbe7f7113791ea09dba7e5915417
23 +DIST wireshark-2.4.3.tar.xz 28807920 BLAKE2B 831691d084fc9ed6198b23c0347efa487398df37ca0cf5972db64b0724fad04b3104a5faed104b5d4b560254b19a2e41118c8d7b71cce785f38ede077215e80f SHA512 4344b9efeda3afba4b13bb468f7a12c4565da96c6182a8203cc5815baa11e7d84f3f11003b4289c6c11391cfb590b8c0319268196cc646a8f0226c432e9bb433
24
25 diff --git a/net-analyzer/wireshark/wireshark-2.4.3.ebuild b/net-analyzer/wireshark/wireshark-2.4.3.ebuild
26 new file mode 100644
27 index 00000000000..1e04b00a018
28 --- /dev/null
29 +++ b/net-analyzer/wireshark/wireshark-2.4.3.ebuild
30 @@ -0,0 +1,287 @@
31 +# Copyright 1999-2017 Gentoo Foundation
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=6
35 +inherit autotools eutils fcaps flag-o-matic gnome2-utils multilib qmake-utils user xdg-utils
36 +
37 +DESCRIPTION="A network protocol analyzer formerly known as ethereal"
38 +HOMEPAGE="https://www.wireshark.org/"
39 +SRC_URI="${HOMEPAGE}download/src/all-versions/${P/_/}.tar.xz"
40 +
41 +LICENSE="GPL-2"
42 +SLOT="0/${PV}"
43 +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
44 +IUSE="
45 + adns androiddump +capinfos +caps +captype ciscodump cpu_flags_x86_sse4_2
46 + +dftest doc doc-pdf +dumpcap +editcap geoip gtk kerberos libssh libxml2 lua
47 + +mergecap +netlink nghttp2 +pcap portaudio +qt5 +randpkt +randpktdump
48 + +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl +text2pcap
49 + tfshark +tshark +udpdump zlib
50 +"
51 +REQUIRED_USE="
52 + ciscodump? ( libssh )
53 + sshdump? ( libssh )
54 +"
55 +
56 +S=${WORKDIR}/${P/_/}
57 +
58 +CDEPEND="
59 + >=dev-libs/glib-2.14:2
60 + dev-libs/libgcrypt:0
61 + netlink? ( dev-libs/libnl:3 )
62 + adns? ( >=net-dns/c-ares-1.5 )
63 + caps? ( sys-libs/libcap )
64 + geoip? ( dev-libs/geoip )
65 + gtk? (
66 + x11-libs/gdk-pixbuf
67 + x11-libs/gtk+:3
68 + x11-libs/pango
69 + x11-misc/xdg-utils
70 + )
71 + kerberos? ( virtual/krb5 )
72 + libssh? ( >=net-libs/libssh-0.6 )
73 + libxml2? ( dev-libs/libxml2 )
74 + lua? ( >=dev-lang/lua-5.1:* )
75 + nghttp2? ( net-libs/nghttp2 )
76 + pcap? ( net-libs/libpcap )
77 + portaudio? ( media-libs/portaudio )
78 + qt5? (
79 + dev-qt/qtcore:5
80 + dev-qt/qtgui:5
81 + dev-qt/qtmultimedia:5
82 + dev-qt/qtprintsupport:5
83 + dev-qt/qtwidgets:5
84 + media-libs/speex
85 + x11-misc/xdg-utils
86 + )
87 + sbc? ( media-libs/sbc )
88 + smi? ( net-libs/libsmi )
89 + snappy? ( app-arch/snappy )
90 + spandsp? ( media-libs/spandsp )
91 + ssl? ( net-libs/gnutls:= )
92 + zlib? ( sys-libs/zlib !=sys-libs/zlib-1.2.4 )
93 +"
94 +# We need perl for `pod2html`. The rest of the perl stuff is to block older
95 +# and broken installs. #455122
96 +DEPEND="
97 + ${CDEPEND}
98 + dev-lang/perl
99 + !<virtual/perl-Pod-Simple-3.170
100 + !<perl-core/Pod-Simple-3.170
101 + doc? (
102 + app-doc/doxygen
103 + app-text/asciidoc
104 + dev-libs/libxml2
105 + dev-libs/libxslt
106 + doc-pdf? ( dev-java/fop )
107 + www-client/lynx
108 + )
109 + qt5? (
110 + dev-qt/linguist-tools:5
111 + )
112 + sys-devel/bison
113 + sys-devel/flex
114 + virtual/pkgconfig
115 +"
116 +RDEPEND="
117 + ${CDEPEND}
118 + gtk? ( virtual/freedesktop-icon-theme )
119 + qt5? ( virtual/freedesktop-icon-theme )
120 + selinux? ( sec-policy/selinux-wireshark )
121 +"
122 +PATCHES=(
123 + "${FILESDIR}"/${PN}-1.99.8-qtchooser.patch
124 + "${FILESDIR}"/${PN}-2.1.0-sse4_2-r1.patch
125 + "${FILESDIR}"/${PN}-2.4-androiddump.patch
126 + "${FILESDIR}"/${PN}-99999999-androiddump.patch
127 +)
128 +
129 +pkg_setup() {
130 + enewgroup wireshark
131 +}
132 +
133 +src_prepare() {
134 + default
135 +
136 + eautoreconf
137 +}
138 +
139 +src_configure() {
140 + local myconf
141 +
142 + # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
143 + # --with-ssl to ./configure. (Mimics code from acinclude.m4).
144 + if use kerberos; then
145 + case $(krb5-config --libs) in
146 + *-lcrypto*)
147 + ewarn "Kerberos was built with ssl support: linkage with openssl is enabled."
148 + ewarn "Note there are annoying license incompatibilities between the OpenSSL"
149 + ewarn "license and the GPL, so do your check before distributing such package."
150 + myconf+=( "--with-ssl" )
151 + ;;
152 + esac
153 + fi
154 +
155 + # Enable wireshark binary with any supported GUI toolkit (bug #473188)
156 + if use gtk || use qt5; then
157 + myconf+=( "--enable-wireshark" )
158 + else
159 + myconf+=( "--disable-wireshark" )
160 + fi
161 +
162 + if ! use qt5; then
163 + myconf+=( "--with-qt=no" )
164 + fi
165 +
166 + if use qt5; then
167 + export QT_MIN_VERSION=5.3.0
168 + append-cxxflags -fPIC -DPIC
169 + fi
170 +
171 + # Hack around inability to disable doxygen/fop doc generation
172 + use doc || export ac_cv_prog_HAVE_DOXYGEN=false
173 + use doc-pdf || export ac_cv_prog_HAVE_FOP=false
174 +
175 + econf \
176 + $(use androiddump && use pcap && echo --enable-androiddump-use-libpcap=yes) \
177 + $(use dumpcap && use_with pcap dumpcap-group wireshark) \
178 + $(use_enable androiddump) \
179 + $(use_enable capinfos) \
180 + $(use_enable captype) \
181 + $(use_enable ciscodump) \
182 + $(use_enable dftest) \
183 + $(use_enable dumpcap) \
184 + $(use_enable editcap) \
185 + $(use_enable mergecap) \
186 + $(use_enable randpkt) \
187 + $(use_enable randpktdump) \
188 + $(use_enable reordercap) \
189 + $(use_enable sharkd) \
190 + $(use_enable sshdump) \
191 + $(use_enable text2pcap) \
192 + $(use_enable tfshark) \
193 + $(use_enable tshark) \
194 + $(use_enable udpdump) \
195 + $(use_with adns c-ares) \
196 + $(use_with caps libcap) \
197 + $(use_with geoip) \
198 + $(use_with gtk gtk 3) \
199 + $(use_with kerberos krb5) \
200 + $(use_with libssh) \
201 + $(use_with libxml2) \
202 + $(use_with lua) \
203 + $(use_with nghttp2) \
204 + $(use_with pcap) \
205 + $(use_with portaudio) \
206 + $(use_with sbc) \
207 + $(use_with smi libsmi) \
208 + $(use_with snappy) \
209 + $(use_with spandsp) \
210 + $(use_with ssl gnutls) \
211 + $(use_with zlib) \
212 + $(usex cpu_flags_x86_sse4_2 --enable-sse4_2 '') \
213 + $(usex netlink --with-libnl=3 --without-libnl) \
214 + $(usex qt5 --with-qt=5 '') \
215 + $(usex qt5 LRELEASE=$(qt5_get_bindir)/lrelease '') \
216 + $(usex qt5 MOC=$(qt5_get_bindir)/moc '') \
217 + $(usex qt5 RCC=$(qt5_get_bindir)/rcc '') \
218 + $(usex qt5 UIC=$(qt5_get_bindir)/uic '') \
219 + --disable-profile-build \
220 + --disable-warnings-as-errors \
221 + --sysconfdir="${EPREFIX}"/etc/wireshark \
222 + ${myconf[@]}
223 +}
224 +
225 +src_compile() {
226 + default
227 +
228 + if use doc; then
229 + emake -j1 -C docbook
230 + if use doc-pdf; then
231 + addpredict "/root/.java"
232 + emake -C docbook all-pdf
233 + fi
234 + fi
235 +}
236 +
237 +src_install() {
238 + default
239 +
240 + # FAQ is not required as is installed from help/faq.txt
241 + dodoc AUTHORS ChangeLog NEWS README{,.bsd,.linux,.macos,.vmware} \
242 + doc/{randpkt.txt,README*}
243 +
244 + if use doc; then
245 + docinto /usr/share/doc/${PF}/html
246 + dodoc -r docbook/{release-notes.html,ws{d,u}g_html{,_chunked}}
247 + if use doc-pdf; then
248 + docinto /usr/share/doc/${PF}/pdf/
249 + dodoc docbook/{developer,user}-guide-{a4,us}.pdf docbook/release-notes.pdf
250 + fi
251 + fi
252 +
253 + # install headers
254 + local wsheader
255 + for wsheader in \
256 + config.h \
257 + epan/*.h \
258 + epan/crypt/*.h \
259 + epan/dfilter/*.h \
260 + epan/dissectors/*.h \
261 + epan/ftypes/*.h \
262 + epan/wmem/*.h \
263 + register.h \
264 + wiretap/*.h \
265 + ws_diag_control.h \
266 + ws_symbol_export.h \
267 + wsutil/*.h
268 + do
269 + insinto /usr/include/wireshark/$( dirname ${wsheader} )
270 + doins ${wsheader}
271 + done
272 +
273 + #with the above this really shouldn't be needed, but things may be looking in wiretap/ instead of wireshark/wiretap/
274 + insinto /usr/include/wiretap
275 + doins wiretap/wtap.h
276 +
277 + if use gtk || use qt5; then
278 + local c d
279 + for c in hi lo; do
280 + for d in 16 32 48; do
281 + insinto /usr/share/icons/${c}color/${d}x${d}/apps
282 + newins image/${c}${d}-app-wireshark.png wireshark.png
283 + done
284 + done
285 + for d in 16 24 32 48 64 128 256 ; do
286 + insinto /usr/share/icons/hicolor/${d}x${d}/mimetypes
287 + newins image/WiresharkDoc-${d}.png application-vnd.tcpdump.pcap.png
288 + done
289 + fi
290 +
291 + prune_libtool_files
292 +}
293 +
294 +pkg_postinst() {
295 + gnome2_icon_cache_update
296 + xdg_desktop_database_update
297 + xdg_mimeinfo_database_update
298 +
299 + # Add group for users allowed to sniff.
300 + enewgroup wireshark
301 +
302 + if use pcap; then
303 + fcaps -o 0 -g wireshark -m 4710 -M 0710 \
304 + cap_dac_read_search,cap_net_raw,cap_net_admin \
305 + "${EROOT}"/usr/bin/dumpcap
306 + fi
307 +
308 + ewarn "NOTE: To capture traffic with wireshark as normal user you have to"
309 + ewarn "add yourself to the wireshark group. This security measure ensures"
310 + ewarn "that only trusted users are allowed to sniff your traffic."
311 +}
312 +
313 +pkg_postrm() {
314 + gnome2_icon_cache_update
315 + xdg_desktop_database_update
316 + xdg_mimeinfo_database_update
317 +}