net-analyzer/wireshark: add 4.2.9

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-11-27 06:43:12 +00:00
parent f7e2bbabf7
commit 3c14628ca5
2 changed files with 348 additions and 0 deletions

View File

@@ -10,6 +10,8 @@ DIST wireshark-4.2.7-signatures.txt 2706 BLAKE2B e209123e0785f7cdda0083c142575a8
DIST wireshark-4.2.7.tar.xz 45017312 BLAKE2B ab82c4ff9afa0fecb3cddbabc7441c3f457c2ccfc39f8a1e65f5d4df752bbdf7cb3d892db5a3de86ec055b12c512f4d067f6d98626ecd2f58f31052e10415be8 SHA512 22ef36bb18610c36d848277c95df17734ac266ea301e636fd19900da0ac49c3d5ce8b59c3fce3a2ef1e919c70fa4003647cbd417c06248dabe498f5772f62c15
DIST wireshark-4.2.8-signatures.txt 2706 BLAKE2B 10128023609008d18a502e09ec8f77898db557fe08340bd242c07f0b9802da6c326f7391b363764800debf5e0ef8aa5df73771bad5881f875a32e0faba5907a6 SHA512 031ab84ab1232a74108ad37ae03f8fe1eb3728fc04b20887e89343ebff985a27b7b04653599a4ba03a3e98dfff33a38adbc1671d0519fc73c2677d82702f4542
DIST wireshark-4.2.8.tar.xz 45032832 BLAKE2B 315926efc0b53b5ca2a35dc2dedf66f14150a6f06eac18816d12defcba2ba9e136abc63fe1042a9d3a93820f5854f8375638bef86c7a95d0315494edda290470 SHA512 4c132d8760ca7bc4976ee5f5b3f4904610d7e2129e10653d3d3fc6ca371b1891c8de2981324bd3113e5bf9302add0370f97b041314b3f6c508da46815a40a562
DIST wireshark-4.2.9-signatures.txt 2706 BLAKE2B 5f1f30a8fce3c967cab165667a4f27bc1a8e425d41d6df42f91a1249bc3934e8fbae29f0e13e53f7f821e1b1b4420564b482e882cfaef66d5f05c5a54bdaa0b8 SHA512 9a259c8e1a9f7308348bf8c45023d9c6d3a6e51f05c89c500c4232267b4d13f8fd18803e78ed45646c73c66769f13bdaf7f071df98e92d2d63c432d176a946eb
DIST wireshark-4.2.9.tar.xz 45045592 BLAKE2B 3e39f6c9e606b818abaab8339906c17c50c1a675583725bd4cdd4530f95054cb5d7679f4e022ac5dd2eedb84d08b528be75b5d0f715f1f710393254840b7bb58 SHA512 6ad9318549ab60794c967a071a267e9642e97bb52289570e36c8221e6e160bafb346f789ad879ae1a87c0789ce3352b6a795a5a2ccf723891615a0b8c62eb668
DIST wireshark-4.4.0-signatures.txt 2706 BLAKE2B 46337f24dfe32b1ff39f8a0b1f30c29a43d7a02a4e8e787833dde47a98206f36501b3e7fe449cc874f81733f8a7b2a16b4e5b07a2fae20d7ddae0121adbc8f98 SHA512 1725790d0671d31814b92508079a135d328df58bd94305e2406a3edf9e08bc5e2bb4ac487045b99684acb8cc8343422cececa32319bbcb36712bb3b2c860cb0c
DIST wireshark-4.4.0.tar.xz 46786568 BLAKE2B 679b774e780201d1d188f5ce2ec1eb21d98250d2dd45b37b741a3cd5d6dc59d983e473a3f87e3ae1b8eef0b0f9b0c02227eecee644697ec19b6c3b2a21a5ad31 SHA512 a00275ffcc7c5bdf546e3e1c95a2fa77b86232d008f77b1b2f3de8e63f1862321d7a439cba2d136be4407131e07e20071d972a4efb7db2bc55388a347f47ce9e
DIST wireshark-4.4.1-signatures.txt 2706 BLAKE2B 04458da4aedbefa57f03711781215b999bbf1e8d5f34aefa7d853b18991cb08da29ec9b922fd1b9d8f1092cd9b1a080df8aa41bf0e5981639cc9820c39302b12 SHA512 145c6739d092f0068666c4317b58efdfd34690511ff30797c0fa153abc847f96fb84ea8bde4e09c681ca28b32ddb7dc25683c8e40ccb55b83c23328f2e732f62

View File

@@ -0,0 +1,346 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{1..2} )
# TODO: check cmake/modules/UseAsn2Wrs.cmake for 3.12
PYTHON_COMPAT=( python3_{10..13} )
inherit fcaps flag-o-matic lua-single python-any-r1 qmake-utils xdg cmake
DESCRIPTION="Network protocol analyzer (sniffer)"
HOMEPAGE="https://www.wireshark.org/"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://gitlab.com/wireshark/wireshark"
inherit git-r3
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/wireshark.asc
inherit verify-sig
SRC_URI="https://www.wireshark.org/download/src/all-versions/${P/_/}.tar.xz"
SRC_URI+=" verify-sig? ( https://www.wireshark.org/download/SIGNATURES-${PV}.txt -> ${P}-signatures.txt )"
S="${WORKDIR}/${P/_/}"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~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 http3 ilbc kerberos libxml2 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:= )
http3? ( net-libs/nghttp3 )
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
app-alternatives/lex
sys-devel/gettext
virtual/pkgconfig
doc? (
app-text/doxygen
dev-ruby/asciidoctor
dev-libs/libxslt
)
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 )
"
if [[ ${PV} != *9999* ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-wireshark )"
fi
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_unpack() {
if [[ ${PV} == *9999* ]] ; then
git-r3_src_unpack
else
if use verify-sig ; then
cd "${DISTDIR}" || die
verify-sig_verify_signed_checksums \
${P}-signatures.txt \
openssl-dgst \
${P}.tar.xz
cd "${WORKDIR}" || die
fi
default
fi
}
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
# crashes at runtime
# https://bugs.gentoo.org/754021
filter-lto
mycmakeargs+=(
-DPython3_EXECUTABLE="${PYTHON}"
-DCMAKE_DISABLE_FIND_PACKAGE_{Asciidoctor,DOXYGEN}=$(usex !doc)
# Force bundled lemon (bug 933119)
-DLEMON_EXECUTABLE=
-DRPMBUILD_EXECUTABLE=
-DGIT_EXECUTABLE=
-DENABLE_CCACHE=OFF
$(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)
# only appends -flto
-DENABLE_LTO=OFF
-DENABLE_LUA=$(usex lua)
-DLUA_FIND_VERSIONS="${ELUA#lua}"
-DENABLE_LZ4=$(usex lz4)
-DENABLE_MINIZIP=$(usex minizip)
-DENABLE_NETLINK=$(usex netlink)
-DENABLE_NGHTTP2=$(usex http2)
-DENABLE_NGHTTP3=$(usex http3)
-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
# https://www.wireshark.org/docs/wsdg_html_chunked/ChTestsRunPytest.html
epytest \
--disable-capture \
--skip-missing-programs=all \
--program-path "${BUILD_DIR}"/run
}
src_install() {
# bug #928577
# https://gitlab.com/wireshark/wireshark/-/commit/fe7bfdf6caac9204ab5f34eeba7b0f4a0314d3cd
cmake_src_install install-headers
# 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."
}