Files
2026-10-04 04:07:15 +00:00

65 lines
2.4 KiB
Makefile

PORTNAME= cjdns
DISTVERSIONPREFIX= cjdns-v
DISTVERSION= 22.3
CATEGORIES= net security
MAINTAINER= yuri@FreeBSD.org
COMMENT= Routing engine designed for security, scalability, speed
WWW= https://github.com/cjdelisle/cjdns
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libsodium.so:security/libsodium
USES= cargo gmake llvm nodejs:build
USE_GITHUB= yes
GH_ACCOUNT= cjdelisle
USE_RC_SUBR= cjdns
SUB_FILES= cjdns pkg-message
SUB_LIST= LOCALBASE=${LOCALBASE}
MAKE_ENV= LIBCLANG_PATH=${LLVM_PREFIX}/lib \
SODIUM_USE_PKG_CONFIG=1
CARGO_INSTALL= no
CARGO_BUILD_ARGS= -p cjdns_sys --bin cjdroute \
-p cjdnstool --bin cjdnstool
CFLAGS+= -fPIC
RUSTFLAGS+= -Asemicolon_in_expressions_from_macros
PLIST_FILES= bin/cjdnstool \
bin/cjdroute \
bin/run-cjdroute \
share/man/man1/cjdroute.1.gz \
share/man/man5/cjdroute.conf.5.gz
BORINGTUN_COMMIT= f288b2f461e7322a278b63b1ddc4ab705b5b7462
BORINGTUN_WRKSRC= ${WRKDIR}/boringtun-${BORINGTUN_COMMIT}
post-patch:
@${REINPLACE_CMD} -i '' -e 's|/etc/|${LOCALBASE}/etc/|g' \
${WRKSRC}/contrib/sh/run-cjdroute.sh
@${REINPLACE_CMD} -e 's/target_os = "ios")))]/target_os = "ios", target_os = "freebsd")))]/' \
${BORINGTUN_WRKSRC}/src/lib.rs
@${REINPLACE_CMD} -e 's|throw new Error("Unable to find a path to libsodium headers");|builder.config.includeDirs.push("${LOCALBASE}/include"); foundSodium = true;|' \
${WRKSRC}/node_build/make.js
@${REINPLACE_CMD} -e "s|builder.config.includeDirs.push('node_build/dependencies/libuv/src/');|builder.config.includeDirs.push('node_build/dependencies/libuv/src/');\\n builder.config.includeDirs.push('cargo-crates/ring-0.16.20/include');|" \
${WRKSRC}/node_build/make.js
do-build:
@${CARGO_CARGO_RUN} build \
--manifest-path ${CARGO_CARGOTOML} \
--verbose \
--verbose \
${CARGO_BUILD_ARGS}
do-install:
${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/release/cjdnstool ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/release/cjdroute ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKSRC}/contrib/sh/run-cjdroute.sh ${STAGEDIR}${PREFIX}/bin/run-cjdroute
${INSTALL_MAN} ${WRKSRC}/doc/man/cjdroute.1 ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_MAN} ${WRKSRC}/doc/man/cjdroute.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5
# tests as of 22.3: cjdns_sys: 15 passed, 0 failed, 5 ignored; cjdnstool: 2 passed, 0 failed, 0 ignored; doc-tests: 1 ignored
.include <bsd.port.mk>