# Template file for 'wireshark'
pkgname=wireshark
version=3.4.2
revision=1
build_style=cmake
configure_args="-DCMAKE_BUILD_TYPE=None"
hostmakedepends="pkg-config flex gettext perl python3-devel mit-krb5-devel
qt5-tools qt5-host-tools qt5-qmake"
makedepends="libpcap-devel zlib-devel lua52-devel mit-krb5-devel gnutls-devel
 libmaxminddb-devel libgcrypt-devel libcap-devel sbc-devel c-ares-devel libxml2-devel
 libssh-devel libnl3-devel spandsp-devel tiff-devel libcap-progs liblz4-devel
 nghttp2-devel qt5-devel qt5-tools-devel qt5-multimedia-devel qt5-svg-devel
 minizip-devel libzstd-devel brotli-devel speexdsp-devel"
depends="libcap-progs"
short_desc="Network protocol analyzer"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://www.wireshark.org"
distfiles="https://www.wireshark.org/download/src/${pkgname}-${version}.tar.xz"
checksum=de9868729e426a469baabd8d444240d84fa5445020e92c842dd19afd0d47a4c4
system_groups="wireshark"

CFLAGS="-DNDEBUG -I${XBPS_CROSS_BASE}/usr/include/lua5.2"
CXXFLAGS="-DNDEBUG -I${XBPS_CROSS_BASE}/usr/include/lua5.2"

post_patch() {
	# systemd-journal integration
	vsed -i '/test_sdjournal/,/check_extcap.*sdjournal/d' \
		test/suite_extcaps.py
}

pre_check() {
	make ${makejobs} -C build test-programs
}

post_install() {
	rm -f -- "${DESTDIR}/usr/bin/lemon"
	rm -f -- "${DESTDIR}/usr/lib/wireshark/cmake/UseLemon.cmake"

	local _includeDir=usr/include/wireshark

	# Headers
	vmkdir $_includeDir
	vcopy ws_symbol_export.h $_includeDir

	for i in wiretap wsutil; do
		vmkdir $_includeDir/$i
		vcopy "$i/*.h" $_includeDir/$i
	done

	chmod 0750 $DESTDIR/usr/bin/dumpcap
}

libwireshark_package() {
	short_desc+=" - library"
	pkg_install() {
		vmove "usr/lib/*.so.*"
		vmove usr/lib/wireshark/extcap
		vmove usr/lib/wireshark/plugins
	}
}

libwireshark-devel_package() {
	short_desc+=" - development files"
	depends="libwireshark>=${version}_${revision}"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		vmove usr/lib/wireshark/cmake
	}
}

wireshark-qt_package() {
	depends="${sourcepkg}>=${version}_${revision} desktop-file-utils"
	short_desc+=" - Qt frontend"
	pkg_install() {
		vmove usr/bin/wireshark
		vmove usr/share/man/man1/wireshark.1
		vmove usr/share/applications/wireshark.desktop
	}
}
