blob: 008aa8cb12d1da54c0a3add24c6bb2e83eb5ed42 [file] [log] [blame]
Patrick Williamsac13d5f2023-11-24 18:59:46 -06001DESCRIPTION = "wireshark - a popular network protocol analyzer"
2HOMEPAGE = "http://www.wireshark.org"
3SECTION = "net"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares"
8
9DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native "
10
11SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz \
12 file://0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch \
13 file://0001-wireshark-src-improve-reproducibility.patch \
14 file://0002-flex-Remove-line-directives.patch \
15 file://0004-lemon-Remove-line-directives.patch \
16 "
17
18UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
19
20SRC_URI[sha256sum] = "b2e3ff03fa2be9058a9ffbedd12b0a670433bd16c8cc6c432ab48dabc2df1898"
21
22PE = "1"
23
24inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg
25
26PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
27
28PACKAGECONFIG:class-native = "libpcap gnutls ssl libssh"
29
30PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
31PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
32PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
33PACKAGECONFIG[libnl] = ",,libnl"
34PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
35PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
36PACKAGECONFIG[ssl] = ",,openssl"
37PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
38PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
39PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
40PACKAGECONFIG[geoip] = ",, geoip"
41PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
42PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
43PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2"
44PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
45PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd"
46PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2"
47
48# these next two options require addional layers
49PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
50
51inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
52
53EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
54 -DBUILD_mmdbresolve=OFF \
55 -DBUILD_randpktdump=OFF \
56 -DBUILD_androiddump=OFF \
57 -DBUILD_dcerpcidl2wrs=OFF \
58 -DM_INCLUDE_DIR=${includedir} \
59 -DM_LIBRARY=${libdir} \
60 "
61CFLAGS:append = " -lm"
62
63do_compile:append:class-target() {
64 # Fix TMPDIR, these are in the comments section
65 sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c
66 sed -i -e "s:** source file.*::g" ${B}/wiretap/candump_parser.c
67 sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c
68 sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c
69 sed -i -e "s:** source file.*::g" ${B}/epan/dtd_grammar.c
70 sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c
71}
72
73do_install:append:class-native() {
74 install -d ${D}${bindir}
75 for f in lemon
76 do
77 install -m 0755 ${B}/run/$f ${D}${bindir}
78 done
79}
80
81do_install:append:class-target() {
82 for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
83 do
84 chrpath --delete $f
85 done
86
87 # We don't need the cmake files installed
88 rm -fr ${D}${usrlib}/${BPN}/cmake
89}
90
91PACKAGE_BEFORE_PN += "tshark"
92
93FILES:tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
94
95FILES:${PN} += "${datadir}*"
96
97RDEPENDS:tshark = "wireshark"
98
99BBCLASSEXTEND = "native"