4 MASTER_SITES= https://1.na.dl.wireshark.org/src/ \
5 https://1.eu.dl.wireshark.org/src/ \
6 https://1.as.dl.wireshark.org/src/ \
7 https://2.na.dl.wireshark.org/src/ \
8 http://ftp.uni-kl.de/pub/wireshark/src/ \
9 http://ftp.yz.yamagata-u.ac.jp/pub/network/security/wireshark/src/ \
10 https://wireshark.marwan.ma/download/src/ \
11 https://www.wireshark.org/download/src/
13 MAINTAINER= marcus@FreeBSD.org
14 COMMENT= Powerful network analyzer/capture tool
15 WWW= https://www.wireshark.org/
18 LICENSE_FILE= ${WRKSRC}/COPYING
20 LIB_DEPENDS= libgpg-error.so:security/libgpg-error \
21 libgcrypt.so:security/libgcrypt \
22 liblz4.so:archivers/liblz4 \
23 libnghttp2.so:www/libnghttp2 \
24 libbrotlidec.so:archivers/brotli \
25 libsnappy.so:archivers/snappy \
26 libcares.so:dns/c-ares \
27 libzstd.so:archivers/zstd \
28 libspeexdsp.so:audio/speexdsp
30 FLAVORS= default nox11
31 FLAVOR?= ${FLAVORS:[1]}
32 nox11_PKGNAMESUFFIX= -nox11
34 USES= cmake compiler:c++11-lang cpe gettext-runtime gnome \
35 localbase pathfix perl5 pkgconfig python ssl tar:xz
36 USE_GNOME= glib20 libxml2
40 CONFLICTS_INSTALL= wireshark-lite tshark tshark-lite
42 CMAKE_OFF= ENABLE_ILBC ENABLE_MINIZIP ENABLE_SBC
43 CMAKE_ARGS= -DCMAKE_DISABLE_FIND_PACKAGE_DOXYGEN:BOOL=True \
44 -DCMAKE_DISABLE_FIND_PACKAGE_Git:BOOL=True
46 OPTIONS_DEFINE= ANDROIDDUMP DOCS GNUTLS GUI LIBSSH LTO LUA \
47 MANPAGES MAXMIND RTP SNMP
48 .if ${FLAVOR} == nox11
49 COMMENT+= (without GUI)
50 OPTIONS_EXCLUDE= GUI RTP
53 OPTIONS_DEFAULT= ANDROIDDUMP GNUTLS GSSAPI_BASE GUI MANPAGES MAXMIND \
55 OPTIONS_DEFAULT_aarch64=LTO
56 OPTIONS_DEFAULT_x86_64= LTO
57 OPTIONS_SINGLE= GSSAPI
58 OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
61 ANDROIDDUMP_DESC= Build androiddump extcap tool
62 GNUTLS_DESC= Enable crypto support for SSL and IPSec via GnuTLS
63 GUI_DESC= Enable Qt 5 based Wireshark GUI
64 LIBSSH_DESC= Enable libssh support (req by cisco/ssh/wifidump)
65 MAXMIND_DESC= Enable MaxMindDB-based GeoIP geolocation support
66 RTP_DESC= Enable codec support for RTP streams (implies GUI)
68 ANDROIDDUMP_CMAKE_BOOL= BUILD_androiddump
70 DOCS_IMPLIES= MANPAGES
72 GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
73 GNUTLS_CMAKE_BOOL= ENABLE_GNUTLS
75 GSSAPI_BASE_USES= gssapi
76 GSSAPI_HEIMDAL_USES= gssapi:heimdal
77 GSSAPI_MIT_USES= gssapi:mit
78 GSSAPI_NONE_CONFIGURE_ENV_OFF= KRB5_CONFIG=${KRB5CONFIG}
79 GSSAPI_NONE_CMAKE_BOOL= ENABLE_KERBEROS
81 GUI_USES= desktop-file-utils shared-mime-info qt:5
82 GUI_USE= qt=core,concurrent,gui,multimedia,widgets,printsupport,svg,buildtools:build,linguisttools:build,qmake:build
83 GUI_CONFIGURE_ENV= PATH="${PATH}:${QT_BINDIR}"
84 GUI_MAKE_ENV= PATH="${PATH}:${QT_BINDIR}"
85 GUI_CMAKE_BOOL= BUILD_wireshark
87 LIBSSH_LIB_DEPENDS= libssh.so:security/libssh
88 LIBSSH_CMAKE_BOOL= BUILD_ciscodump BUILD_sshdump BUILD_wifidump
90 LTO_CMAKE_BOOL= ENABLE_LTO
93 LUA_CPPFLAGS= -I${LUA_INCDIR}
94 LUA_CMAKE_BOOL= ENABLE_LUA
96 MANPAGES_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor
97 MANPAGES_CMAKE_OFF= -DCMAKE_DISABLE_FIND_PACKAGE_Asciidoctor:BOOL=True
99 MAXMIND_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
100 MAXMIND_CMAKE_BOOL= BUILD_mmdbresolve
102 RTP_LIB_DEPENDS= libbcg729.so:audio/bcg729 \
103 libopus.so:audio/opus \
104 libspandsp.so:comms/spandsp
105 RTP_CMAKE_BOOL= ENABLE_BCG729 ENABLE_OPUS ENABLE_SPANDSP
108 SNMP_LIB_DEPENDS= libsmi.so:net-mgmt/libsmi
109 SNMP_CMAKE_BOOL= ENABLE_SMI
111 .include <bsd.port.options.mk>
113 .if ${PORT_OPTIONS:MGSSAPI_BASE} && exists(${LOCALBASE}/include/krb5.h)
114 IGNORE= cannot build with base Kerberos if krb5 port is installed. \
115 Use ``make config'' to choose a different option
119 @${REINPLACE_CMD} -e 's|/usr/share/applications|${DESKTOPDIR}|g ; \
120 s|/usr/share|${LOCALBASE}/share|g' \
121 ${WRKSRC}/CMakeLists.txt
122 @${REINPLACE_CMD} -e 's|lua$${LUA_INC_SUFFIX}|lua-${LUA_VER}|g' \
123 ${WRKSRC}/cmake/modules/FindLUA.cmake
125 .include <bsd.port.mk>