From b1e04dc9012e7023ee274e847ac2a44a890393f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 12 Dec 2022 21:25:47 +0000 Subject: gentoo auto-resync : 12:12:2022 - 21:25:47 --- net-analyzer/wireshark/Manifest | 6 +- net-analyzer/wireshark/wireshark-3.6.10.ebuild | 269 +++++++++++++++++++++ net-analyzer/wireshark/wireshark-3.6.8.ebuild | 269 --------------------- net-analyzer/wireshark/wireshark-4.0.2.ebuild | 309 +++++++++++++++++++++++++ 4 files changed, 582 insertions(+), 271 deletions(-) create mode 100644 net-analyzer/wireshark/wireshark-3.6.10.ebuild delete mode 100644 net-analyzer/wireshark/wireshark-3.6.8.ebuild create mode 100644 net-analyzer/wireshark/wireshark-4.0.2.ebuild (limited to 'net-analyzer/wireshark') diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest index 9638468ace0d..8fdd77896d75 100644 --- a/net-analyzer/wireshark/Manifest +++ b/net-analyzer/wireshark/Manifest @@ -1,10 +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.10.tar.xz 39956960 BLAKE2B 5f283caeed4fc9b231331b90b68b25615f8c1df7639accd225590c88cebc86cca7ea95d979db6a60268a5b918f448a9b0878b9f4f8d5dccc847c6dd1fe4fddb7 SHA512 dbdba7a29e2b6e6c3bbc0f0d599a2b9b49efcb1540b36f2f8c55ac3850565b68dc1282b1ed1d3cd63709f12e2fe659f93de5f9473c2f23751373f3738b8e766a DIST wireshark-3.6.9.tar.xz 39949356 BLAKE2B 8660e57fc1c9667ecd17bbd35918da7d61f3acb84047d6fda9be0fea456c09e45f0a59c725b405364745cb2b570d8fddb2ffe393ee7b96110a53c404f9c02267 SHA512 abf7adfda1a7aef4944e846bd3edde08b64d841edbba2d86d1bfd121760e90560231f778eeaefa43175c7c6be9b1fe0e0ec58c8704b4c9bdff6bb3598970cddd DIST wireshark-4.0.1.tar.xz 41282116 BLAKE2B 63984c5722fe0cbcf2a756efdd0cf44304e3ce25eb1aea87758a28576ba3416b0a8226079a413084e46724fcd4ed9b0f4cbf82cbabbf48f2febe0fbc8446a054 SHA512 10ac8e738b4bd70ba4a1a9124e8c8e6238feb7c5a4cef79a03dae6adef08230700bb8ba700d2f89a5aad28cabdaf06b8825a1124d9d466de4e2e10cc55968525 -EBUILD wireshark-3.6.8.ebuild 7285 BLAKE2B e3a3d761ccf7b6ab9ce27d427f78c39f9866c340cbc7c9ae04ae8df4fb650ac1b59d9d3377bbb1fdbf001afb408ac920bb7dda93a0b8e6fdd89daf86a0ac5ac1 SHA512 641e5d557c9c32cad48d8051e560852ed962d79a51dee1a292e5893ac73effc7897b43726fd4399aa2fb07b11f37a6b0d0c63038e9ac4f805fe7d548123e0efd +DIST wireshark-4.0.2.tar.xz 41296132 BLAKE2B 3ca64c5d561fc3262af821a2fed559efc39f9c194d1c03211d27b8154d87fe78c26d390504fc33f80fefbec06aa07d5b4fe27b253a3fc32641ec52292bc0557b SHA512 0f401f639add6483799131dd853a4f4bcf8977fd987915074d0301f553fca9f6cd6e0b7cc47358699c1f4e65872760135dea9889fb34dbb70b917768b6f37ff5 +EBUILD wireshark-3.6.10.ebuild 7290 BLAKE2B 9488d17dfd2e7bb6b9664b75ef4f9cc35f3f8faba148701f9a376f43f7f5a01dba5dd145b8a3e822e85d2a2eecb6919b8906f7dca3268a61d85b5d1f204f3c0c SHA512 c97d5d8b388441536cd27ec737312cc0278f05947efb28a9d8a304350b84c103bf642b7668cadb476e599284ecb80c8bd80ade64af57e960cae3d0dde9458bed EBUILD wireshark-3.6.9.ebuild 7285 BLAKE2B e3a3d761ccf7b6ab9ce27d427f78c39f9866c340cbc7c9ae04ae8df4fb650ac1b59d9d3377bbb1fdbf001afb408ac920bb7dda93a0b8e6fdd89daf86a0ac5ac1 SHA512 641e5d557c9c32cad48d8051e560852ed962d79a51dee1a292e5893ac73effc7897b43726fd4399aa2fb07b11f37a6b0d0c63038e9ac4f805fe7d548123e0efd EBUILD wireshark-4.0.1.ebuild 7956 BLAKE2B 6750771da48fece064650a04123d9969152a00d43bf864ae1cd020202844b44e912406bb946366e5c112f7f6979df81b042cca228f1745345606731233427109 SHA512 da835234705cc2f168697cc21fd309e044595aa56fce92dc1feedf31719c5cfb44a238bbe41935c76c870c9a581bd6c55f4991462cd20a992501c29d3fa01344 +EBUILD wireshark-4.0.2.ebuild 7956 BLAKE2B 6750771da48fece064650a04123d9969152a00d43bf864ae1cd020202844b44e912406bb946366e5c112f7f6979df81b042cca228f1745345606731233427109 SHA512 da835234705cc2f168697cc21fd309e044595aa56fce92dc1feedf31719c5cfb44a238bbe41935c76c870c9a581bd6c55f4991462cd20a992501c29d3fa01344 EBUILD wireshark-9999.ebuild 7956 BLAKE2B 6750771da48fece064650a04123d9969152a00d43bf864ae1cd020202844b44e912406bb946366e5c112f7f6979df81b042cca228f1745345606731233427109 SHA512 da835234705cc2f168697cc21fd309e044595aa56fce92dc1feedf31719c5cfb44a238bbe41935c76c870c9a581bd6c55f4991462cd20a992501c29d3fa01344 MISC metadata.xml 5596 BLAKE2B 53f6c7722da767bcf47e57b1a2e137d0e11129b993c44a37976e8fb782151d0223823155e5bc1658a60acd509f376e622f65078411394c0db5e8048aa1d1251f SHA512 ef3e445e1c47904f73d74b0f1cff508b26cfa5361c5dea11f6817c1f883508f5f164e3af664e825f3a3ce25cff24018c1a27110a56e96dc6f2b11e92870e44fe diff --git a/net-analyzer/wireshark/wireshark-3.6.10.ebuild b/net-analyzer/wireshark/wireshark-3.6.10.ebuild new file mode 100644 index 000000000000..fffca9343012 --- /dev/null +++ b/net-analyzer/wireshark/wireshark-3.6.10.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-3.6.8.ebuild b/net-analyzer/wireshark/wireshark-3.6.8.ebuild deleted file mode 100644 index 4116451fbbfc..000000000000 --- a/net-analyzer/wireshark/wireshark-3.6.8.ebuild +++ /dev/null @@ -1,269 +0,0 @@ -# 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.2.ebuild b/net-analyzer/wireshark/wireshark-4.0.2.ebuild new file mode 100644 index 000000000000..08b136066287 --- /dev/null +++ b/net-analyzer/wireshark/wireshark-4.0.2.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