From c70685892bc3f0b09aea1216ff278f6095f21281 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 27 Oct 2022 09:57:18 +0100 Subject: gentoo auto-resync : 27:10:2022 - 09:57:18 --- net-analyzer/Manifest.gz | Bin 44565 -> 44566 bytes net-analyzer/wireshark/Manifest | 6 +- net-analyzer/wireshark/metadata.xml | 1 + net-analyzer/wireshark/wireshark-3.6.9.ebuild | 269 ++++++++++++++++++++++ net-analyzer/wireshark/wireshark-4.0.1.ebuild | 309 ++++++++++++++++++++++++++ 5 files changed, 584 insertions(+), 1 deletion(-) create mode 100644 net-analyzer/wireshark/wireshark-3.6.9.ebuild create mode 100644 net-analyzer/wireshark/wireshark-4.0.1.ebuild (limited to 'net-analyzer') diff --git a/net-analyzer/Manifest.gz b/net-analyzer/Manifest.gz index 124a35bebfdf..4b26c230bba9 100644 Binary files a/net-analyzer/Manifest.gz and b/net-analyzer/Manifest.gz differ diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest index 098ff9f7ab17..1c5ff91099ac 100644 --- a/net-analyzer/wireshark/Manifest +++ b/net-analyzer/wireshark/Manifest @@ -1,8 +1,12 @@ AUX wireshark-2.6.0-redhat.patch 248 BLAKE2B a3cc5af29cea1b46cc8456c80a1ddf3a0db464f1274beba49c440af831d708bf251ad7481231f27bd7d7f99cf50f964e7f8aa80ce3c0f4d3b06f00ce624f7347 SHA512 92d498c7b6c3a4ae461f5bbca090943dbd7a3151628eebd4b212f3d9eca133260fe46bc72c6bec8444a83517d7a69c334257c61f9fd8e1256f71dd70241e3f66 AUX wireshark-3.4.2-cmake-lua-version.patch 304 BLAKE2B 438bd2ee1e0e0121cc673709385ccda88664131d50fb63d48147c83798e9f541efa270c56d30ad4345ef77d59fb16554b0d8de8c19bafd8181c0c96e3c7b1ba9 SHA512 ab4a7f3d64cc402fcf6b1c9b54aad75dbb1104b19282078947a6c4315f48b5a2c0eeff9918e42d98196976d2e1d26ef2e439a1d2811de1a326a4954d54a08bff DIST wireshark-3.6.8.tar.xz 39942580 BLAKE2B 8b51ae1b3bf56fe1ccec70e94d9edb891e7b486a87b8f43984ea6d3150fe8f6c04beef9f12ebd9b830138aec6a993bcf88d50cfc4695b1f9ade6933092bed8db SHA512 c286e84e113f06b13b931da89b6d21b18e342660682579f88e77697f3e9c335ba75cdc190b41651da4d5729529a20740ef1a41e9f9523d9f6cc768147363053a +DIST wireshark-3.6.9.tar.xz 39949356 BLAKE2B 8660e57fc1c9667ecd17bbd35918da7d61f3acb84047d6fda9be0fea456c09e45f0a59c725b405364745cb2b570d8fddb2ffe393ee7b96110a53c404f9c02267 SHA512 abf7adfda1a7aef4944e846bd3edde08b64d841edbba2d86d1bfd121760e90560231f778eeaefa43175c7c6be9b1fe0e0ec58c8704b4c9bdff6bb3598970cddd DIST wireshark-4.0.0.tar.xz 41323336 BLAKE2B a3e619dae784d28ed659acf6b2f4710e320806ebbf7c700370558ae81eb0cfdd68ec6cce4c8ae90f43c449e118b7993a78d02bbb1dc7a259a437d34ef6299d60 SHA512 d16b67bacca479af419f47e000800bbc33098a00cdb56c789e6c0f354fbd4f13c3d25c496239a8836c4e5754af2e36d4baf5e8ae55eae71f80c93630b78128bc +DIST wireshark-4.0.1.tar.xz 41282116 BLAKE2B 63984c5722fe0cbcf2a756efdd0cf44304e3ce25eb1aea87758a28576ba3416b0a8226079a413084e46724fcd4ed9b0f4cbf82cbabbf48f2febe0fbc8446a054 SHA512 10ac8e738b4bd70ba4a1a9124e8c8e6238feb7c5a4cef79a03dae6adef08230700bb8ba700d2f89a5aad28cabdaf06b8825a1124d9d466de4e2e10cc55968525 EBUILD wireshark-3.6.8.ebuild 7285 BLAKE2B e3a3d761ccf7b6ab9ce27d427f78c39f9866c340cbc7c9ae04ae8df4fb650ac1b59d9d3377bbb1fdbf001afb408ac920bb7dda93a0b8e6fdd89daf86a0ac5ac1 SHA512 641e5d557c9c32cad48d8051e560852ed962d79a51dee1a292e5893ac73effc7897b43726fd4399aa2fb07b11f37a6b0d0c63038e9ac4f805fe7d548123e0efd +EBUILD wireshark-3.6.9.ebuild 7290 BLAKE2B 9488d17dfd2e7bb6b9664b75ef4f9cc35f3f8faba148701f9a376f43f7f5a01dba5dd145b8a3e822e85d2a2eecb6919b8906f7dca3268a61d85b5d1f204f3c0c SHA512 c97d5d8b388441536cd27ec737312cc0278f05947efb28a9d8a304350b84c103bf642b7668cadb476e599284ecb80c8bd80ade64af57e960cae3d0dde9458bed EBUILD wireshark-4.0.0-r2.ebuild 7956 BLAKE2B 6750771da48fece064650a04123d9969152a00d43bf864ae1cd020202844b44e912406bb946366e5c112f7f6979df81b042cca228f1745345606731233427109 SHA512 da835234705cc2f168697cc21fd309e044595aa56fce92dc1feedf31719c5cfb44a238bbe41935c76c870c9a581bd6c55f4991462cd20a992501c29d3fa01344 +EBUILD wireshark-4.0.1.ebuild 7956 BLAKE2B 6750771da48fece064650a04123d9969152a00d43bf864ae1cd020202844b44e912406bb946366e5c112f7f6979df81b042cca228f1745345606731233427109 SHA512 da835234705cc2f168697cc21fd309e044595aa56fce92dc1feedf31719c5cfb44a238bbe41935c76c870c9a581bd6c55f4991462cd20a992501c29d3fa01344 EBUILD wireshark-9999.ebuild 7956 BLAKE2B 6750771da48fece064650a04123d9969152a00d43bf864ae1cd020202844b44e912406bb946366e5c112f7f6979df81b042cca228f1745345606731233427109 SHA512 da835234705cc2f168697cc21fd309e044595aa56fce92dc1feedf31719c5cfb44a238bbe41935c76c870c9a581bd6c55f4991462cd20a992501c29d3fa01344 -MISC metadata.xml 5539 BLAKE2B 4e97a3917fa442bab7f6afcb659091ed711c6fabda61fd9a76e20626cb721c3256731a185dc74c99a74579172440031afd0a35c22f20885cf4f74078df1a434d SHA512 ff1bea7805c79be1e9db765a92cf3b83449d2938cea59a5ddad734814b071520cf749527ca62ed1f2432516fe8378cc8f527b6fd57c29a8d0af32e4611df8502 +MISC metadata.xml 5596 BLAKE2B 53f6c7722da767bcf47e57b1a2e137d0e11129b993c44a37976e8fb782151d0223823155e5bc1658a60acd509f376e622f65078411394c0db5e8048aa1d1251f SHA512 ef3e445e1c47904f73d74b0f1cff508b26cfa5361c5dea11f6817c1f883508f5f164e3af664e825f3a3ce25cff24018c1a27110a56e96dc6f2b11e92870e44fe diff --git a/net-analyzer/wireshark/metadata.xml b/net-analyzer/wireshark/metadata.xml index bd841198d5ad..ec41cfa2b014 100644 --- a/net-analyzer/wireshark/metadata.xml +++ b/net-analyzer/wireshark/metadata.xml @@ -69,6 +69,7 @@ Install wifidump, to dump and analyse 802.11 traffic + https://www.wireshark.org/news/ wireshark/wireshark wireshark/wireshark diff --git a/net-analyzer/wireshark/wireshark-3.6.9.ebuild b/net-analyzer/wireshark/wireshark-3.6.9.ebuild new file mode 100644 index 000000000000..fffca9343012 --- /dev/null +++ b/net-analyzer/wireshark/wireshark-3.6.9.ebuild @@ -0,0 +1,269 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..2} ) +PYTHON_COMPAT=( python3_{8..10} ) + +inherit fcaps flag-o-matic lua-single python-any-r1 qmake-utils xdg cmake + +DESCRIPTION="A network protocol analyzer formerly known as ethereal" +HOMEPAGE="https://www.wireshark.org/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark" + inherit git-r3 +else + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + S="${WORKDIR}/${P/_/}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~x86" +fi + +LICENSE="GPL-2" +SLOT="0/${PV}" +IUSE="androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc dpauxmon" +IUSE+=" +dumpcap +editcap http2 ilbc kerberos libxml2 lto lua lz4 maxminddb" +IUSE+=" +mergecap +minizip +netlink opus +plugins plugin-ifdemo +pcap +qt5 +randpkt" +IUSE+=" +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl" +IUSE+=" sdjournal test +text2pcap tfshark +tshark +udpdump zlib +zstd" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + plugin-ifdemo? ( plugins )" + +RESTRICT="!test? ( test )" + +# bug #753062 for speexdsp +RDEPEND="acct-group/pcap + >=dev-libs/glib-2.38:2 + >=net-dns/c-ares-1.5:= + dev-libs/libgcrypt:= + media-libs/speexdsp + bcg729? ( media-libs/bcg729 ) + brotli? ( app-arch/brotli:= ) + ciscodump? ( >=net-libs/libssh-0.6 ) + filecaps? ( sys-libs/libcap ) + http2? ( net-libs/nghttp2:= ) + ilbc? ( media-libs/libilbc ) + kerberos? ( virtual/krb5 ) + libxml2? ( dev-libs/libxml2 ) + lua? ( ${LUA_DEPS} ) + lz4? ( app-arch/lz4:= ) + maxminddb? ( dev-libs/libmaxminddb:= ) + minizip? ( sys-libs/zlib[minizip] ) + netlink? ( dev-libs/libnl:3 ) + opus? ( media-libs/opus ) + pcap? ( net-libs/libpcap ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtmultimedia:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + x11-misc/xdg-utils + ) + sbc? ( media-libs/sbc ) + sdjournal? ( sys-apps/systemd ) + smi? ( net-libs/libsmi ) + snappy? ( app-arch/snappy ) + spandsp? ( media-libs/spandsp ) + sshdump? ( >=net-libs/libssh-0.6 ) + ssl? ( net-libs/gnutls:= ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd:= )" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + dev-lang/perl + sys-devel/flex + sys-devel/gettext + virtual/pkgconfig + doc? ( + app-doc/doxygen + dev-ruby/asciidoctor + ) + qt5? ( + dev-qt/linguist-tools:5 + ) + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ') + )" +RDEPEND="${RDEPEND} + qt5? ( virtual/freedesktop-icon-theme ) + selinux? ( sec-policy/selinux-wireshark )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.6.0-redhat.patch + "${FILESDIR}"/${PN}-3.4.2-cmake-lua-version.patch +) + +python_check_deps() { + use test || return 0 + + python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pytest-xdist[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use lua && lua-single_pkg_setup + + python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs + + # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass + # --with-ssl to ./configure. (Mimics code from acinclude.m4). + if use kerberos ; then + case $(krb5-config --libs) in + *-lcrypto*) + ewarn "Kerberos was built with ssl support: linkage with openssl is enabled." + ewarn "Note there are annoying license incompatibilities between the OpenSSL" + ewarn "license and the GPL, so do your check before distributing such package." + mycmakeargs+=( -DENABLE_GNUTLS=$(usex ssl) ) + ;; + esac + fi + + if use qt5 ; then + export QT_MIN_VERSION=5.3.0 + append-cxxflags -fPIC -DPIC + fi + + python_setup + + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc) + $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes) + $(usex qt5 LRELEASE=$(qt5_get_bindir)/lrelease '') + $(usex qt5 MOC=$(qt5_get_bindir)/moc '') + $(usex qt5 RCC=$(qt5_get_bindir)/rcc '') + $(usex qt5 UIC=$(qt5_get_bindir)/uic '') + -DBUILD_androiddump=$(usex androiddump) + -DBUILD_capinfos=$(usex capinfos) + -DBUILD_captype=$(usex captype) + -DBUILD_ciscodump=$(usex ciscodump) + -DBUILD_dftest=$(usex dftest) + -DBUILD_dpauxmon=$(usex dpauxmon) + -DBUILD_dumpcap=$(usex dumpcap) + -DBUILD_editcap=$(usex editcap) + -DBUILD_mergecap=$(usex mergecap) + -DBUILD_mmdbresolve=$(usex maxminddb) + -DBUILD_randpkt=$(usex randpkt) + -DBUILD_randpktdump=$(usex randpktdump) + -DBUILD_reordercap=$(usex reordercap) + -DBUILD_sdjournal=$(usex sdjournal) + -DBUILD_sharkd=$(usex sharkd) + -DBUILD_sshdump=$(usex sshdump) + -DBUILD_text2pcap=$(usex text2pcap) + -DBUILD_tfshark=$(usex tfshark) + -DBUILD_tshark=$(usex tshark) + -DBUILD_udpdump=$(usex udpdump) + -DBUILD_wireshark=$(usex qt5) + -DDISABLE_WERROR=ON + -DENABLE_BCG729=$(usex bcg729) + -DENABLE_BROTLI=$(usex brotli) + -DENABLE_CAP=$(usex filecaps caps) + -DENABLE_GNUTLS=$(usex ssl) + -DENABLE_ILBC=$(usex ilbc) + -DENABLE_KERBEROS=$(usex kerberos) + -DENABLE_LIBXML2=$(usex libxml2) + -DENABLE_LTO=$(usex lto) + -DENABLE_LUA=$(usex lua) + -DENABLE_LZ4=$(usex lz4) + -DENABLE_MINIZIP=$(usex minizip) + -DENABLE_NETLINK=$(usex netlink) + -DENABLE_NGHTTP2=$(usex http2) + -DENABLE_OPUS=$(usex opus) + -DENABLE_PCAP=$(usex pcap) + -DENABLE_PLUGINS=$(usex plugins) + -DENABLE_PLUGIN_IFDEMO=$(usex plugin-ifdemo) + -DENABLE_SBC=$(usex sbc) + -DENABLE_SMI=$(usex smi) + -DENABLE_SNAPPY=$(usex snappy) + -DENABLE_SPANDSP=$(usex spandsp) + -DENABLE_ZLIB=$(usex zlib) + -DENABLE_ZSTD=$(usex zstd) + ) + + cmake_src_configure +} + +src_test() { + cmake_build test-programs + + # https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html + epytest \ + --disable-capture \ + --skip-missing-programs=all \ + --program-path "${BUILD_DIR}"/run +} + +src_install() { + cmake_src_install + + # FAQ is not required as is installed from help/faq.txt + dodoc AUTHORS ChangeLog NEWS README* doc/randpkt.txt doc/README* + + # install headers + insinto /usr/include/wireshark + doins ws_diag_control.h ws_symbol_export.h \ + "${BUILD_DIR}"/config.h + + # If trying to remove this, try build e.g. libvirt first! + # At last check, Fedora is still doing this too. + local dir dirs=( + epan + epan/crypt + epan/dfilter + epan/dissectors + epan/ftypes + wiretap + wsutil + wsutil/wmem + ) + + for dir in "${dirs[@]}" ; do + insinto /usr/include/wireshark/${dir} + doins ${dir}/*.h + done + + if use qt5 ; then + local s + + for s in 16 32 48 64 128 256 512 1024 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/apps + newins image/wsicon${s}.png wireshark.png + done + + for s in 16 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes + newins image/WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png + done + fi + + if [[ -d "${ED}"/usr/share/appdata ]] ; then + rm -r "${ED}"/usr/share/appdata || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + # Add group for users allowed to sniff. + chgrp pcap "${EROOT}"/usr/bin/dumpcap + + if use dumpcap && use pcap ; then + fcaps -o 0 -g pcap -m 4710 -M 0710 \ + cap_dac_read_search,cap_net_raw,cap_net_admin \ + "${EROOT}"/usr/bin/dumpcap + fi + + ewarn "NOTE: To capture traffic with wireshark as normal user you have to" + ewarn "add yourself to the pcap group. This security measure ensures" + ewarn "that only trusted users are allowed to sniff your traffic." +} diff --git a/net-analyzer/wireshark/wireshark-4.0.1.ebuild b/net-analyzer/wireshark/wireshark-4.0.1.ebuild new file mode 100644 index 000000000000..08b136066287 --- /dev/null +++ b/net-analyzer/wireshark/wireshark-4.0.1.ebuild @@ -0,0 +1,309 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..2} ) +PYTHON_COMPAT=( python3_{8..10} ) + +inherit fcaps flag-o-matic lua-single python-any-r1 qmake-utils xdg cmake + +DESCRIPTION="A network protocol analyzer formerly known as ethereal" +HOMEPAGE="https://www.wireshark.org/" + +if [[ ${PV} == *9999* ]] ; then + EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark" + inherit git-r3 +else + SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz" + S="${WORKDIR}/${P/_/}" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~x86" + fi +fi + +LICENSE="GPL-2" +SLOT="0/${PV}" +IUSE="androiddump bcg729 brotli +capinfos +captype ciscodump +dftest doc dpauxmon" +IUSE+=" +dumpcap +editcap +gui http2 ilbc kerberos libxml2 lto lua lz4 maxminddb" +IUSE+=" +mergecap +minizip +netlink opus +plugins +pcap qt6 +randpkt" +IUSE+=" +randpktdump +reordercap sbc selinux +sharkd smi snappy spandsp sshdump ssl" +IUSE+=" sdjournal test +text2pcap tfshark +tshark +udpdump wifi zlib +zstd" + +REQUIRED_USE=" + lua? ( ${LUA_REQUIRED_USE} ) +" + +RESTRICT="!test? ( test )" + +# bug #753062 for speexdsp +RDEPEND=" + acct-group/pcap + >=dev-libs/glib-2.50.0:2 + dev-libs/libpcre2 + >=net-dns/c-ares-1.13.0:= + >=dev-libs/libgcrypt-1.8.0:= + media-libs/speexdsp + bcg729? ( media-libs/bcg729 ) + brotli? ( app-arch/brotli:= ) + ciscodump? ( >=net-libs/libssh-0.6:= ) + filecaps? ( sys-libs/libcap ) + http2? ( >=net-libs/nghttp2-1.11.0:= ) + ilbc? ( media-libs/libilbc:= ) + kerberos? ( virtual/krb5 ) + libxml2? ( dev-libs/libxml2 ) + lua? ( ${LUA_DEPS} ) + lz4? ( app-arch/lz4:= ) + maxminddb? ( dev-libs/libmaxminddb:= ) + minizip? ( sys-libs/zlib[minizip] ) + netlink? ( dev-libs/libnl:3 ) + opus? ( media-libs/opus ) + pcap? ( net-libs/libpcap ) + gui? ( + x11-misc/xdg-utils + qt6? ( + dev-qt/qtbase:6[concurrent,dbus,gui,widgets] + dev-qt/qt5compat:6 + dev-qt/qtmultimedia:6 + ) + !qt6? ( + dev-qt/qtcore:5 + dev-qt/qtconcurrent:5 + dev-qt/qtgui:5 + dev-qt/qtmultimedia:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + ) + ) + sbc? ( media-libs/sbc ) + sdjournal? ( sys-apps/systemd:= ) + smi? ( net-libs/libsmi ) + snappy? ( app-arch/snappy ) + spandsp? ( media-libs/spandsp:= ) + sshdump? ( >=net-libs/libssh-0.6:= ) + ssl? ( >=net-libs/gnutls-3.5.8:= ) + wifi? ( >=net-libs/libssh-0.6:= ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} + gui? ( + !qt6? ( + dev-qt/qtdeclarative:5 + ) + ) +" +# TODO: 4.0.0_rc1 release notes say: +# "Perl is no longer required to build Wireshark, but may be required to build some source code files and run code analysis checks." +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + sys-devel/flex + sys-devel/gettext + virtual/pkgconfig + doc? ( + app-doc/doxygen + dev-ruby/asciidoctor + ) + gui? ( + qt6? ( + dev-qt/qttools:6[linguist] + ) + !qt6? ( + dev-qt/linguist-tools:5 + ) + ) + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ') + ) +" +RDEPEND=" + ${RDEPEND} + gui? ( virtual/freedesktop-icon-theme ) + selinux? ( sec-policy/selinux-wireshark ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.6.0-redhat.patch + "${FILESDIR}"/${PN}-3.4.2-cmake-lua-version.patch +) + +python_check_deps() { + use test || return 0 + + python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pytest-xdist[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use lua && lua-single_pkg_setup + + python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs + + python_setup + + # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass + # --with-ssl to ./configure. (Mimics code from acinclude.m4). + if use kerberos ; then + case $(krb5-config --libs) in + *-lcrypto*) + ewarn "Kerberos was built with ssl support: linkage with openssl is enabled." + ewarn "Note there are annoying license incompatibilities between the OpenSSL" + ewarn "license and the GPL, so do your check before distributing such package." + mycmakeargs+=( -DENABLE_GNUTLS=$(usex ssl) ) + ;; + esac + fi + + if use gui ; then + append-cxxflags -fPIC -DPIC + fi + + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc) + $(use androiddump && use pcap && echo -DEXTCAP_ANDROIDDUMP_LIBPCAP=yes) + $(usex gui LRELEASE=$(qt5_get_bindir)/lrelease '') + $(usex gui MOC=$(qt5_get_bindir)/moc '') + $(usex gui RCC=$(qt5_get_bindir)/rcc '') + $(usex gui UIC=$(qt5_get_bindir)/uic '') + -DBUILD_androiddump=$(usex androiddump) + -DBUILD_capinfos=$(usex capinfos) + -DBUILD_captype=$(usex captype) + -DBUILD_ciscodump=$(usex ciscodump) + -DBUILD_dftest=$(usex dftest) + -DBUILD_dpauxmon=$(usex dpauxmon) + -DBUILD_dumpcap=$(usex dumpcap) + -DBUILD_editcap=$(usex editcap) + -DBUILD_mergecap=$(usex mergecap) + -DBUILD_mmdbresolve=$(usex maxminddb) + -DBUILD_randpkt=$(usex randpkt) + -DBUILD_randpktdump=$(usex randpktdump) + -DBUILD_reordercap=$(usex reordercap) + -DBUILD_sdjournal=$(usex sdjournal) + -DBUILD_sharkd=$(usex sharkd) + -DBUILD_sshdump=$(usex sshdump) + -DBUILD_text2pcap=$(usex text2pcap) + -DBUILD_tfshark=$(usex tfshark) + -DBUILD_tshark=$(usex tshark) + -DBUILD_udpdump=$(usex udpdump) + + -DBUILD_wireshark=$(usex gui) + -DUSE_qt6=$(usex qt6) + + -DENABLE_WERROR=OFF + -DENABLE_BCG729=$(usex bcg729) + -DENABLE_BROTLI=$(usex brotli) + -DENABLE_CAP=$(usex filecaps caps) + -DENABLE_GNUTLS=$(usex ssl) + -DENABLE_ILBC=$(usex ilbc) + -DENABLE_KERBEROS=$(usex kerberos) + -DENABLE_LIBXML2=$(usex libxml2) + -DENABLE_LTO=$(usex lto) + -DENABLE_LUA=$(usex lua) + -DENABLE_LZ4=$(usex lz4) + -DENABLE_MINIZIP=$(usex minizip) + -DENABLE_NETLINK=$(usex netlink) + -DENABLE_NGHTTP2=$(usex http2) + -DENABLE_OPUS=$(usex opus) + -DENABLE_PCAP=$(usex pcap) + -DENABLE_PLUGINS=$(usex plugins) + -DENABLE_PLUGIN_IFDEMO=OFF + -DENABLE_SBC=$(usex sbc) + -DENABLE_SMI=$(usex smi) + -DENABLE_SNAPPY=$(usex snappy) + -DENABLE_SPANDSP=$(usex spandsp) + -DBUILD_wifidump=$(usex wifi) + -DENABLE_ZLIB=$(usex zlib) + -DENABLE_ZSTD=$(usex zstd) + ) + + cmake_src_configure +} + +src_test() { + cmake_build test-programs + + EPYTEST_DESELECT=( + # TODO: investigate + suite_follow_multistream.py::case_follow_multistream::test_follow_http2_multistream + ) + + # https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html + epytest \ + --disable-capture \ + --skip-missing-programs=all \ + --program-path "${BUILD_DIR}"/run +} + +src_install() { + cmake_src_install + + # FAQ is not required as is installed from help/faq.txt + dodoc AUTHORS ChangeLog NEWS README* doc/randpkt.txt doc/README* + + # install headers + insinto /usr/include/wireshark + doins "${BUILD_DIR}"/config.h + + # If trying to remove this, try build e.g. libvirt first! + # At last check, Fedora is still doing this too. + local dir dirs=( + epan + epan/crypt + epan/dfilter + epan/dissectors + epan/ftypes + wiretap + wsutil + wsutil/wmem + ) + + for dir in "${dirs[@]}" ; do + insinto /usr/include/wireshark/${dir} + doins ${dir}/*.h + done + + if use gui ; then + local s + + for s in 16 32 48 64 128 256 512 1024 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/apps + newins resources/icons/wsicon${s}.png wireshark.png + done + + for s in 16 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${s}x${s}/mimetypes + newins resources/icons//WiresharkDoc-${s}.png application-vnd.tcpdump.pcap.png + done + fi + + if [[ -d "${ED}"/usr/share/appdata ]] ; then + rm -r "${ED}"/usr/share/appdata || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + # Add group for users allowed to sniff. + chgrp pcap "${EROOT}"/usr/bin/dumpcap + + if use dumpcap && use pcap ; then + fcaps -o 0 -g pcap -m 4710 -M 0710 \ + cap_dac_read_search,cap_net_raw,cap_net_admin \ + "${EROOT}"/usr/bin/dumpcap + fi + + ewarn "NOTE: To capture traffic with wireshark as normal user you have to" + ewarn "add yourself to the pcap group. This security measure ensures" + ewarn "that only trusted users are allowed to sniff your traffic." +} -- cgit v1.2.3