diff options
author | Sam James <sam@gentoo.org> | 2022-08-18 04:33:19 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-08-18 04:33:59 +0100 |
commit | bf006a3ff0c3c58adf4ab9697c9e73b66152c64e (patch) | |
tree | d3e3cce97a1252fd3a892a85c1fda1fe8a856731 /net-analyzer | |
parent | Revert "dev-cpp/glog: Drop old versions" (diff) | |
download | gentoo-bf006a3ff0c3c58adf4ab9697c9e73b66152c64e.tar.gz gentoo-bf006a3ff0c3c58adf4ab9697c9e73b66152c64e.tar.bz2 gentoo-bf006a3ff0c3c58adf4ab9697c9e73b66152c64e.zip |
net-analyzer/wireshark: add 4.0.0_rc1 (unkeyworded)
Still need to polish off the wifidump/libssh bit (need to
decide really what to do about the huge number of USE flags here)
but may as well commit what got so far given it works fine.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-analyzer')
-rw-r--r-- | net-analyzer/wireshark/Manifest | 1 | ||||
-rw-r--r-- | net-analyzer/wireshark/wireshark-4.0.0_rc1.ebuild | 274 | ||||
-rw-r--r-- | net-analyzer/wireshark/wireshark-9999.ebuild | 22 |
3 files changed, 289 insertions, 8 deletions
diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest index 816d4f92d449..c9f0a82a4ac0 100644 --- a/net-analyzer/wireshark/Manifest +++ b/net-analyzer/wireshark/Manifest @@ -4,3 +4,4 @@ DIST wireshark-3.6.3.tar.xz 39935892 BLAKE2B 3b636867d946f0cf748eb719874e815c919 DIST wireshark-3.6.5.tar.xz 39939340 BLAKE2B 4df1abce2563f20e91fac169ef1ab65851a5f63423aceba487db8cd4b954c4a2ba5673e032878b33a43992cb2ee4628899eee8b0065220cd0c79a8c98a589ef0 SHA512 9aa60721401fbd1f3c6b912312792433c9f8a09583cf684a4f1a24c839f4786a54a0abbfd88c04ba222e5a7af09f7bc67c292a0f944c9b717a71509655fe2fe5 DIST wireshark-3.6.6.tar.xz 39950276 BLAKE2B cb74c4ed307b83ba509fa3b56356a33df11d9d1effb29054f73f248ca1c7107806676539d0802cc71e07687831a838145194104183afa4ae1825eb1fb85062b1 SHA512 c32d5aafb3091dc1475896a3c4cfcb5a47af002e53f011a65697271c611e690743153841f5db1021a6cbea6d427dc661dce7b85208832251200258fb46aad84b DIST wireshark-3.6.7.tar.xz 39967312 BLAKE2B 0539130aec2c7d8fdfec536114144a0b761addb8006d146a5e08d0a58e95d5d6b0db67ef32ceae4143de9836f25a3497802706f0a0eb633f29e1f24a47819e4b SHA512 caf087ee467bf934f28d096869ea3d9d7c5a3c83e51c4df447700096943a92abf5cf29f4956b9a549e0708bcb3515b55c4660a7ced2cb9dbc582b87550026fac +DIST wireshark-4.0.0rc1.tar.xz 41291340 BLAKE2B 96dc9616702c67f47517cf5fc575bf555d5f7e83cc90284301e3ef26476ca6292f8aba3c7230c3ca7e6404a9b953861247a448826b339fa586d5a8206c787989 SHA512 16d4f3d39198bb208d4ad58059c38a40f21352186abf2cafb4140674d048e5bd29e5dbc079ed50f28f1dde150733bba6a26c6fc7d10e524e4556bd20c6ae2856 diff --git a/net-analyzer/wireshark/wireshark-4.0.0_rc1.ebuild b/net-analyzer/wireshark/wireshark-4.0.0_rc1.ebuild new file mode 100644 index 000000000000..0bdf2a0c919a --- /dev/null +++ b/net-analyzer/wireshark/wireshark-4.0.0_rc1.ebuild @@ -0,0 +1,274 @@ +# 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 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 )" + +# TODO: wifidump/libssh automagic? +# bug #753062 for speexdsp +RDEPEND="acct-group/pcap + >=dev-libs/glib-2.50.0:2 + dev-libs/libpcre2 + >=net-dns/c-ares-1.14.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 ) + 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-3.5.8:= ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd:= )" +DEPEND="${RDEPEND}" +# 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 + ) + 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) + -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=$(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 "${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 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." +} diff --git a/net-analyzer/wireshark/wireshark-9999.ebuild b/net-analyzer/wireshark/wireshark-9999.ebuild index 68dc99e8c15c..0bdf2a0c919a 100644 --- a/net-analyzer/wireshark/wireshark-9999.ebuild +++ b/net-analyzer/wireshark/wireshark-9999.ebuild @@ -18,7 +18,9 @@ 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" + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~x86" + fi fi LICENSE="GPL-2" @@ -34,17 +36,19 @@ REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) RESTRICT="!test? ( test )" +# TODO: wifidump/libssh automagic? # bug #753062 for speexdsp RDEPEND="acct-group/pcap - >=dev-libs/glib-2.38:2 - >=net-dns/c-ares-1.5:= - dev-libs/libgcrypt:= + >=dev-libs/glib-2.50.0:2 + dev-libs/libpcre2 + >=net-dns/c-ares-1.14.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:= ) + http2? ( >=net-libs/nghttp2-1.11.0:= ) ilbc? ( media-libs/libilbc ) kerberos? ( virtual/krb5 ) libxml2? ( dev-libs/libxml2 ) @@ -69,10 +73,12 @@ RDEPEND="acct-group/pcap snappy? ( app-arch/snappy ) spandsp? ( media-libs/spandsp ) sshdump? ( >=net-libs/libssh-0.6 ) - ssl? ( net-libs/gnutls:= ) + ssl? ( >=net-libs/gnutls-3.5.8:= ) zlib? ( sys-libs/zlib ) zstd? ( app-arch/zstd:= )" DEPEND="${RDEPEND}" +# 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 @@ -130,7 +136,7 @@ src_configure() { fi if use qt5 ; then - export QT_MIN_VERSION=5.3.0 + #export QT_MIN_VERSION=5.3.0 append-cxxflags -fPIC -DPIC fi @@ -164,7 +170,7 @@ src_configure() { -DBUILD_tshark=$(usex tshark) -DBUILD_udpdump=$(usex udpdump) -DBUILD_wireshark=$(usex qt5) - -DDISABLE_WERROR=ON + -DENABLE_WERROR=OFF -DENABLE_BCG729=$(usex bcg729) -DENABLE_BROTLI=$(usex brotli) -DENABLE_CAP=$(usex filecaps caps) |