106 lines
3.0 KiB
Makefile
106 lines
3.0 KiB
Makefile
PORTNAME= kanidm
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 1.10.4
|
|
CATEGORIES= security net
|
|
|
|
# implicit-approval+: dtxdf
|
|
MAINTAINER= bofh@FreeBSD.org
|
|
COMMENT= Simple and secure identity management platform ${${FLAVOR}_COMMENT}
|
|
WWW= https://kanidm.com \
|
|
https://github.com/kanidm/kanidm/
|
|
|
|
LICENSE= MPL20
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE.md
|
|
|
|
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le
|
|
|
|
FLAVORS= client server
|
|
FLAVOR?= ${FLAVORS:[1]}
|
|
client_PKGNAMESUFFIX= -client
|
|
client_COMMENT= (client only)
|
|
client_PLIST= ${.CURDIR}/pkg-plist.client
|
|
server_PKGNAMESUFFIX= -server
|
|
server_COMMENT= (server only)
|
|
server_PLIST= ${.CURDIR}/pkg-plist.server
|
|
|
|
.if ${FLAVOR} == client
|
|
RUN_DEPENDS+=tpm2-tss>0:security/tpm2-tss
|
|
.endif
|
|
|
|
USES= cargo llvm
|
|
USE_GITHUB= yes
|
|
|
|
MAKE_ENV= LIBCLANG_PATH=${LLVM_PREFIX}/lib
|
|
|
|
.if ${FLAVOR} == server
|
|
CARGO_BUILD_ARGS= -p daemon
|
|
USE_RC_SUBR= kanidmd
|
|
.endif
|
|
|
|
.if ${FLAVOR} == client
|
|
CARGO_BUILD_ARGS= -p kanidm_tools -p kanidm_unix_int -p nss_kanidm -p pam_kanidm
|
|
USE_RC_SUBR= kanidm_unixd kanidm_unixd_tasks
|
|
.endif
|
|
|
|
CARGO_INSTALL= no
|
|
CARGO_ENV= KANIDM_BUILD_PROFILE=release_freebsd
|
|
|
|
CLIENT_CACHEDIR=/var/cache/kanidm-unixd
|
|
CLIENT_LIBDIR=/var/lib/kanidm-unixd
|
|
CLIENT_RUNDIR=/var/run/kanidm-unixd
|
|
|
|
SERVER_LIBDIR=/var/lib/kanidmd
|
|
SERVER_RUNDIR=/var/run/kanidmd
|
|
|
|
.if ${FLAVOR} == server
|
|
USERS= kanidmd
|
|
GROUPS= kanidmd
|
|
|
|
SUB_LIST= USER=${USERS} \
|
|
GROUP=${GROUPS} \
|
|
ETCDIR=${PREFIX}/etc/kanidm \
|
|
RUNDIR=/var/run/kanidmd \
|
|
LIBDIR=/var/lib/kanidmd \
|
|
SHAREDIR=${PREFIX}/share/kanidm
|
|
.endif
|
|
|
|
.if ${FLAVOR} == client
|
|
USERS= kanidm
|
|
GROUPS= kanidm
|
|
|
|
SUB_LIST= USER=${USERS} \
|
|
GROUP=${GROUPS} \
|
|
ETCDIR=${PREFIX}/etc/kanidm \
|
|
RUNDIR=/var/run/kanidm-unixd \
|
|
CACHEDIR=/var/cache/kanidm-unixd \
|
|
LIBDIR=/var/lib/kanidm-unixd
|
|
.endif
|
|
|
|
do-install:
|
|
.if ${FLAVOR} == server
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidmd ${STAGEDIR}${PREFIX}/libexec
|
|
${MKDIR} ${STAGEDIR}${ETCDIR}
|
|
${MKDIR} ${STAGEDIR}${SERVER_LIBDIR}
|
|
${MKDIR} ${STAGEDIR}${SERVER_RUNDIR}
|
|
${MKDIR} ${STAGEDIR}${DATADIR}/ui/hpkg
|
|
(cd ${WRKSRC}/server/core/static/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/ui/hpkg/)
|
|
.endif
|
|
|
|
.if ${FLAVOR} == client
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm-unix ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_ssh_authorizedkeys ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_ssh_authorizedkeys_direct ${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_unixd ${STAGEDIR}${PREFIX}/libexec
|
|
${INSTALL_PROGRAM} ${WRKDIR}/target/release/kanidm_unixd_tasks ${STAGEDIR}${PREFIX}/libexec
|
|
${INSTALL_LIB} ${WRKDIR}/target/release/libnss_kanidm.so ${STAGEDIR}${PREFIX}/lib/nss_kanidm.so.1
|
|
${INSTALL_LIB} ${WRKDIR}/target/release/libpam_kanidm.so ${STAGEDIR}${PREFIX}/lib
|
|
${MKDIR} ${STAGEDIR}${ETCDIR}
|
|
${MKDIR} ${STAGEDIR}${CLIENT_CACHEDIR}
|
|
${MKDIR} ${STAGEDIR}${CLIENT_LIBDIR}
|
|
${MKDIR} ${STAGEDIR}${CLIENT_RUNDIR}
|
|
.endif
|
|
|
|
.include <bsd.port.mk>
|