continuwuity-bsd/freebsd/Makefile
2026-07-20 03:49:02 -04:00

68 lines
2 KiB
Makefile

PORTNAME= continuwuity
DISTVERSION= 26.6.2
CATEGORIES= net-im
MASTER_SITES= https://pkg.kat5.dev/distfiles/:kat5 \
https://forgejo.ellis.link/continuwuation/continuwuity/archive/:ellis
DISTFILES= continuwuity-vendor-${DISTVERSION}.tar.bz2:kat5 \
v${DISTVERSION}${EXTRACT_SUFX}:ellis
MAINTAINER= katherine.kloss@proton.me
COMMENT= Matrix homeserver written in Rust
WWW= https://continuwuity.org/
LICENSE= APACHE20
NO_WRKSUBDIR=
CONFLICTS= conduwuit
BUILD_DEPENDS+= rust>=1.96.1:lang/rust \
${LOCALBASE}/llvm22/lib/libclang.so:devel/llvm22
# remove these once the port is accepted upstream
UID_FILES= UIDs
GID_FILES= GIDs
USERS= continuwuity
GROUPS= continuwuity
USE_RC_SUBR= continuwuity
CARGO_ENV= CARGO_BUILD_JOBS=${MAKE_JOBS_NUMBER}
. if defined(CPUTYPE)
CARGO_ENV+= RUSTFLAGS="-C target-cpu=${CPUTYPE}"
. else
CARGO_ENV+= RUSTFLAGS="${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/}"
. endif
CARGO_RUN= ${MAKE_ENV} ${CARGO_ENV} ${LOCALBASE}/bin/cargo
post-extract:
${MV} ${WRKSRC}/vendor ${WRKSRC}/continuwuity
post-patch:
${CP} files/vendor-config.toml ${WRKSRC}/continuwuity/.cargo/config.toml
# removes the need to patch the checksum file in addition to patching the vendored sources
# see https://github.com/rust-lang/cargo/issues/11063
${ECHO} '{"files":{}}' > ${WRKSRC}/continuwuity/vendor/rust-librocksdb-sys/.cargo-checksum.json
do-build:
cd ${WRKSRC}/continuwuity && ${CARGO_RUN} build \
--profile release-high-perf \
--frozen \
--no-default-features \
--package conduwuit \
--target-dir ${WRKDIR}/target \
--features brotli_compression,direct_tls,element_hacks,gzip_compression,media_thumbnail,url_preview,zstd_compression,sentry_telemetry,otlp_telemetry,console,release_max_log_level,ring
do-install:
${INSTALL_PROGRAM} ${WRKDIR}/target/release-high-perf/conduwuit ${STAGEDIR}${PREFIX}/bin/continuwuity
${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${WRKSRC}/continuwuity/conduwuit-example.toml ${STAGEDIR}${ETCDIR}/continuwuity.toml.sample
${MKDIR} ${STAGEDIR}/var/db/continuwuity
.include <bsd.port.mk>