1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00
freebsd-ports/security/zeek/Makefile
Craig Leres bf3c4a775b security/zeek: Fix build with clang 19
https://github.com/zeek/zeek/issues/3994
    https://github.com/zeek/zeek/pull/3997

    Clang 19 with libc++ started failing to compile because the
    default implementation of std::char_traits was removed, making
    uses of std::char_traits<unsigned char> invalid (by consequence,
    also std::basic_string<unsigned char>).
2024-10-29 10:53:56 -07:00

187 lines
6.4 KiB
Makefile

PORTNAME= zeek
DISTVERSION= 7.0.3
PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= https://download.zeek.org/
MAINTAINER= leres@FreeBSD.org
COMMENT= System for detecting network intruders in real-time
WWW= https://www.zeek.org/
LICENSE= CC-BY-4.0
BUILD_DEPENDS= bison>=3.3:devel/bison \
flex>=2.6:textproc/flex \
swig>=4.0.2:devel/swig
LIB_DEPENDS= libcares.so:dns/c-ares
RUN_DEPENDS= c-ares>=1.25.0:dns/c-ares
USES= bison cmake compiler:c++17-lang cpe perl5 python \
shebangfix ssl
USE_LDCONFIG= yes
EXTRACT_AFTER_ARGS= --exclude ${DISTNAME}/auxil/c-ares \
--no-same-owner --no-same-permissions
BINARY_ALIAS= python3=${PYTHON_CMD}
PORTSCOUT= limit:^[0-9]*\.0\.
CXXFLAGS_powerpc64= -mpower8-vector
SHEBANG_FILES= \
auxil/broker/bindings/python/3rdparty/pybind11/docs/conf.py \
auxil/broker/bindings/python/3rdparty/pybind11/setup.py \
auxil/broker/bindings/python/3rdparty/pybind11/tools/make_changelog.py \
auxil/broker/bindings/python/3rdparty/pybind11/tools/setup_global.py.in \
auxil/broker/bindings/python/3rdparty/pybind11/tools/setup_main.py.in \
auxil/btest/btest \
auxil/btest/btest-setsid \
auxil/netcontrol-connectors/acld/acld.py \
auxil/netcontrol-connectors/command-line/command-line.py \
auxil/netcontrol-connectors/openflow/controller.py \
auxil/netcontrol-connectors/test/simple-client.py \
auxil/package-manager/zkg \
auxil/spicy/3rdparty/benchmark/tools/compare.py \
auxil/spicy/3rdparty/benchmark/tools/strip_asm.py \
auxil/spicy/3rdparty/doctest/scripts/bench/bench.py \
auxil/spicy/3rdparty/doctest/scripts/bench/run_all.py \
auxil/spicy/doc/scripts/spicy-doc-to-rst \
auxil/spicy/tests/Scripts/license-header.py \
auxil/spicy/tests/Scripts/stray_baselines.py \
auxil/vcpkg/ports/gobject-introspection/portfile.cmake \
auxil/zeek-aux/devel-tools/github-manage \
auxil/zeek-client/man/build.py \
auxil/zeek-client/zeek-client \
auxil/zeekctl/ZeekControl/test_cli.py \
auxil/zeekctl/auxil/pysubnettree/setup.py \
auxil/zeekctl/auxil/trace-summary/trace-summary \
auxil/zeekctl/bin/stats-to-csv \
auxil/zeekctl/bin/zeekctl.in \
auxil/zeekctl/bin/zeekctld.in \
auxil/zeekctl/testing/Cfg/bin/zeek__test \
auxil/zeekctl/testing/Scripts/diff-to-bytes-output \
auxil/zeekctl/util/extract-strictly-local-conns \
auxil/zeekctl/util/reformat-stats \
ci/collect-repo-info.py \
testing/coverage/coverage_cleanup.py \
testing/scripts/coverage-calc \
testing/scripts/httpd.py
SUB_FILES= pkg-message
NO_MTREE= yes
CMAKE_ON= BROKER_DISABLE_DOC_EXAMPLES BROKER_DISABLE_TESTS \
BUILD_SHARED_LIBS BUILD_STATIC_BROKER INSTALL_AUX_TOOLS
CMAKE_ARGS= -DCARES_ROOT_DIR:PATH=${PREFIX} \
-DCMAKE_EXE_LINKER_FLAGS="${OPENSSL_LDFLAGS}" \
-DDISABLE_JAVASCRIPT:BOOL=ON \
-DINSTALL_BTEST:BOOL=OFF \
-DINSTALL_BTEST_PCAPS:BOOL=OFF \
-DINSTALL_ZKG:BOOL=OFF \
-DPY_MOD_INSTALL_DIR:PATH=${PREFIX}/lib/zeekctl \
-DZEEK_ETC_INSTALL_DIR:PATH=${PREFIX}/etc \
-DZEEK_ROOT_DIR:PATH=${PREFIX} \
-DZEEK_SCRIPT_INSTALL_PATH:PATH=${PREFIX}/share/zeek
ZEEKUSER?= zeek
ZEEKGROUP?= zeek
PLIST_SUB+= ZEEKGROUP=${ZEEKGROUP} \
ZEEKUSER=${ZEEKUSER}
USERS= ${ZEEKUSER}
GROUPS= ${ZEEKGROUP}
OPTIONS_DEFINE= GEOIP2 IPSUMDUMP LBL_CF LBL_HF PERFTOOLS SPICY ZEEKCTL \
ZKG
OPTIONS_SINGLE= BUILD_TYPE
OPTIONS_SINGLE_BUILD_TYPE= DEBUG MINSIZEREL RELEASE RELWITHDEBINFO
OPTIONS_DEFAULT= GEOIP2 IPSUMDUMP LBL_CF LBL_HF RELEASE ZEEKCTL \
ZKG
OPTIONS_DEFAULT_aarch64= SPICY
OPTIONS_DEFAULT_amd64= SPICY
OPTIONS_DEFAULT_armv6= SPICY
OPTIONS_DEFAULT_armv7= SPICY
OPTIONS_DEFAULT_i386= SPICY
OPTIONS_SUB= yes
DEBUG_DESC= Optimizations off, debug symbols/flags on
GEOIP2_DESC= Build with GeoIP2 (MaxMindDB) support
IPSUMDUMP_DESC= Enables traffic summaries
LBL_CF_DESC= Unix time to formated time/date filter support
LBL_HF_DESC= Address to hostname filter support
MINSIZEREL_DESC= Optimizations on, debug symbols/flags off
PERFTOOLS_DESC= Use Perftools to improve memory & CPU usage
RELEASE_DESC= Optimizations on, debug symbols/flags off
RELWITHDEBINFO_DESC= Optimizations/debug symbols on, debug flags off
SPICY_DESC= Enable the Spicy parser generator
ZEEKCTL_DESC= ZeekControl support (implies IPSUMDUMP)
ZKG_DESC= Zeek package manager support
ZEEKCTL_IMPLIES= IPSUMDUMP
GEOIP2_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
IPSUMDUMP_BUILD_DEPENDS= ipsumdump:net/ipsumdump
IPSUMDUMP_RUN_DEPENDS= ipsumdump:net/ipsumdump
LBL_CF_RUN_DEPENDS= ${LOCALBASE}/bin/cf:sysutils/lbl-cf
LBL_HF_RUN_DEPENDS= ${LOCALBASE}/bin/hf:sysutils/lbl-hf
PERFTOOLS_BUILD_DEPENDS= ${LOCALBASE}/bin/perftools-pprof:devel/google-perftools
PERFTOOLS_CMAKE_BOOL= ENABLE_PERFTOOLS
PERFTOOLS_RUN_DEPENDS= ${LOCALBASE}/bin/perftools-pprof:devel/google-perftools
SPICY_CMAKE_OFF= -DDISABLE_SPICY=ON
ZEEKCTL_BUILD_DEPENDS= ${LOCALBASE}/bin/bash:shells/bash \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
ZEEKCTL_CMAKE_BOOL= INSTALL_ZEEKCTL
ZEEKCTL_RUN_DEPENDS= ${LOCALBASE}/bin/bash:shells/bash \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
ZKG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}zkg>=2.7.1:security/py-zkg@${PY_FLAVOR}
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MDEBUG}
CMAKE_BUILD_TYPE= Debug
STRIP=
.elif ${PORT_OPTIONS:MMINSIZEREL}
CMAKE_BUILD_TYPE= MinSizeRel
.elif ${PORT_OPTIONS:MRELEASE}
CMAKE_BUILD_TYPE= Release
.elif ${PORT_OPTIONS:MRELWITHDEBINFO}
CMAKE_BUILD_TYPE= RelWithDebInfo
STRIP=
.endif
.if ${PORT_OPTIONS:MZEEKCTL}
USE_RC_SUBR= zeek
.endif
post-install-ZEEKCTL-on:
${MKDIR} ${STAGEDIR}${PREFIX}/logs
${MKDIR} ${STAGEDIR}${PREFIX}/spool/tmp
${MKDIR} ${STAGEDIR}${PREFIX}/spool/installed-scripts-do-not-touch/auto
${MKDIR} ${STAGEDIR}${PREFIX}/spool/installed-scripts-do-not-touch/site
.for F in zeekctl.cfg networks.cfg node.cfg
${MV} ${STAGEDIR}${PREFIX}/etc/${F} ${STAGEDIR}${PREFIX}/etc/${F}.sample
.endfor
${RM} ${STAGEDIR}${PREFIX}/share/zeekctl/scripts/zeekctl-config.sh
${LN} -s ../../../spool/zeekctl-config.sh \
${STAGEDIR}${PREFIX}/share/zeekctl/scripts/zeekctl-config.sh
${RM} ${STAGEDIR}${PREFIX}/lib/broctl
${LN} -s zeek/python/zeekctl ${STAGEDIR}${PREFIX}/lib/broctl
post-install:
${MV} ${STAGEDIR}${DATADIR}/site/local.zeek \
${STAGEDIR}${DATADIR}/site/local.zeek.sample
@${RM} -rf ${STAGEDIR}${PREFIX}/var
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/zeek-cut
post-install-SPICY-on:
@${RM} -rf ${STAGEDIR}${PREFIX}/include/hilti/rt/3rdparty/SafeInt/Archive
@${RM} -rf ${STAGEDIR}${PREFIX}/include/hilti/rt/3rdparty/SafeInt/Test
pre-install-ZEEKCTL-on:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/rc.d
.include <bsd.port.mk>