blob: 704285a67033717851f686f0d19e1e2c028a55ac (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
PORTNAME= kanidm
DISTVERSIONPREFIX= v
DISTVERSION= 1.8.6
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
IGNORE_FreeBSD_13= Does not build on FreeBSD 13.x due to OpenSSL 1.1.1
ONLY_FOR_ARCHS= aarch64 amd64
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
USES= cargo ssl 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>
|