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