Patrick Williams | ac13d5f | 2023-11-24 18:59:46 -0600 | [diff] [blame] | 1 | DESCRIPTION = "wireshark - a popular network protocol analyzer" |
| 2 | HOMEPAGE = "http://www.wireshark.org" |
| 3 | SECTION = "net" |
| 4 | LICENSE = "GPL-2.0-only" |
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
| 6 | |
| 7 | DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares" |
| 8 | |
| 9 | DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native " |
| 10 | |
| 11 | SRC_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 | |
| 18 | UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" |
| 19 | |
| 20 | SRC_URI[sha256sum] = "b2e3ff03fa2be9058a9ffbedd12b0a670433bd16c8cc6c432ab48dabc2df1898" |
| 21 | |
| 22 | PE = "1" |
| 23 | |
| 24 | inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg |
| 25 | |
| 26 | PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" |
| 27 | |
| 28 | PACKAGECONFIG:class-native = "libpcap gnutls ssl libssh" |
| 29 | |
| 30 | PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" |
| 31 | PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" |
| 32 | PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" |
| 33 | PACKAGECONFIG[libnl] = ",,libnl" |
| 34 | PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" |
| 35 | PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" |
| 36 | PACKAGECONFIG[ssl] = ",,openssl" |
| 37 | PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" |
| 38 | PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" |
| 39 | PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" |
| 40 | PACKAGECONFIG[geoip] = ",, geoip" |
| 41 | PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" |
| 42 | PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" |
| 43 | PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2" |
| 44 | PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" |
| 45 | PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd" |
| 46 | PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2" |
| 47 | |
| 48 | # these next two options require addional layers |
| 49 | PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" |
| 50 | |
| 51 | inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} |
| 52 | |
| 53 | EXTRA_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 | " |
| 61 | CFLAGS:append = " -lm" |
| 62 | |
| 63 | do_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 | |
| 73 | do_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 | |
| 81 | do_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 | |
| 91 | PACKAGE_BEFORE_PN += "tshark" |
| 92 | |
| 93 | FILES:tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" |
| 94 | |
| 95 | FILES:${PN} += "${datadir}*" |
| 96 | |
| 97 | RDEPENDS:tshark = "wireshark" |
| 98 | |
| 99 | BBCLASSEXTEND = "native" |