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