Files
ports/net/wireshark/Makefile
T
2026-05-20 13:51:16 +00:00

146 lines
3.7 KiB
Makefile

BROKEN-alpha = .got subsegment exceeds 64K (size 101480)
COMMENT-main = graphical network protocol analyzer, Qt user-interface
COMMENT-text = network protocol analyzer
DPB_PROPERTIES = parallel
V = 4.6.6
PORTROACH = limitw:1,even
DISTNAME = wireshark-$V
PKGNAME-main = wireshark-$V
PKGNAME-text = tshark-$V
SHARED_LIBS += wsutil 5.0
SHARED_LIBS += wiretap 5.0
SHARED_LIBS += wireshark 5.0
CATEGORIES = net security x11
HOMEPAGE = https://www.wireshark.org/
EXTRACT_SUFX = .tar.xz
# Mostly GPLv2 or later. Some files are less restrictive.
# tools/pidl is GPLv3 or later. See COPYING.
PERMIT_PACKAGE = Yes
MAINTAINER = Stuart Henderson <stu.ports@spacehopper.org>
MULTI_PACKAGES = -text -main
DEBUG_PACKAGES = ${BUILD_PACKAGES}
PSEUDO_FLAVORS = no_x11
.if ${MACHINE_ARCH} == "arm"
# no qt -- won't be for m88k/sh either but those are already knocked out by COMPILER
FLAVOR ?= no_x11
.else
FLAVOR ?=
.endif
COMPILER = base-clang ports-gcc
MODLUA_VERSION = 5.4
MODULES = lang/lua \
lang/python
MODLUA_SA = Yes
MODLUA_RUNDEP = No
MODPY_RUNDEP = No
cWANTLIB += c lib/libpcap/pcap gcrypt glib-2.0 m speexdsp
WANTLIB-text = ${cWANTLIB} ${MODLUA_WANTLIB}
WANTLIB-text += bcg729 brotlidec cares gmodule-2.0 gnutls lz4 maxminddb
WANTLIB-text += nghttp2 nghttp3 opencore-amrnb opus pcre2-8 smi snappy
WANTLIB-text += spandsp ssh xml2 xxhash z zstd
WANTLIB-main = ${cWANTLIB} ${COMPILER_LIBCXX}
WANTLIB-main += minizip wireshark wiretap wsutil
WANTLIB-main += Qt6Core Qt6Core5Compat Qt6DBus Qt6Gui
WANTLIB-main += Qt6Multimedia Qt6PrintSupport Qt6Widgets
SITES = https://www.wireshark.org/download/src/all-versions/
WVER = ${V:R}
SUBST_VARS = WVER
BUILD_DEPENDS += devel/bison \
devel/desktop-file-utils \
devel/git \
textproc/libxml \
textproc/libxslt \
devel/xdg-utils \
textproc/asciidoctor
RUN_DEPENDS = devel/desktop-file-utils \
devel/xdg-utils \
misc/shared-mime-info \
x11/gtk+4,-guic
RUN_DEPENDS-text = # empty
LIB_DEPENDS-text = ${MODLUA_LIB_DEPENDS} \
archivers/brotli \
archivers/lz4 \
archivers/snappy \
audio/opencore-amr \
audio/opus \
audio/speexdsp \
devel/glib2 \
devel/pcre2 \
net/libcares \
net/libmaxminddb \
net/libpcap \
net/libsmi \
security/gnutls \
security/libgcrypt \
security/libssh \
sysutils/xxhash \
telephony/bcg729 \
telephony/spandsp \
textproc/libxml \
www/nghttp2 \
www/nghttp3
LIB_DEPENDS-main += ${LIB_DEPENDS} \
tshark-$V:${BUILD_PKGPATH:S/,$//},-text \
archivers/minizip \
x11/qt6/qt5compat \
x11/qt6/qtmultimedia
# required for displaying language icons at Preferences; see a5abaa81ad9
RUN_DEPENDS-main += x11/qt6/qtsvg
MODULES += devel/cmake
CFLAGS += -I${X11BASE}/include
CXXFLAGS += -I${X11BASE}/include
CONFIGURE_STYLE = cmake
CONFIGURE_ENV += WIRESHARK_VERSION_EXTRA=" from OpenBSD packages"
CONFIGURE_ARGS += -DCMAKE_INSTALL_MANDIR=${TRUEPREFIX}/man \
-DUSE_qt6=true \
-DENABLE_SBC=false \
-DENABLE_ILBC=false \
-DCOMPILER_CAN_HANDLE_SSE4_2=false \
-DVCSVERSION_OVERRIDE="Git v$V packaged as ${FULLPKGNAME-main}"
.include <bsd.port.arch.mk>
# Enable LTO where suported, except on riscv64 where it fails with:
# LLVM ERROR: Function Import: link error: linking module flags 'SmallDataLimit': IDs have conflicting values in
# 'extcap/CMakeFiles/extcap-base.dir/extcap-base.c.o' and 'extcap/CMakeFiles/sshdump.dir/sshdump.c.o
.if ${PROPERTIES:Mlld} && ${MACHINE_ARCH} != "riscv64"
CONFIGURE_ARGS += -DENABLE_LTO=true
.endif
.if ${FLAVOR:Mno_x11}
BUILD_PACKAGES := ${BUILD_PACKAGES:N-main}
.endif
.if ${BUILD_PACKAGES:M-main}
MODULES += x11/qt6
.else
CONFIGURE_ARGS += -DBUILD_wireshark=false
.endif
.if ${MACHINE_ARCH} == "mips64" || ${MACHINE_ARCH} == "mips64el"
CXXFLAGS += -mxgot
.endif
.include <bsd.port.mk>