blob: a9bf2e5b66d1776cf1c38a600becd6d59c64598d (
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
|
PORTNAME= vaultwarden
DISTVERSION= 1.30.3
CATEGORIES= security
MAINTAINER= mr@FreeBSD.org
COMMENT= Bitwarden compatible backend server
WWW= https://github.com/dani-garcia/vaultwarden
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LIB_DEPENDS+= libcapnp.so:devel/capnproto \
libgmp.so:math/gmp \
libnettle.so:security/nettle
USES= cargo ssl
# make makeplist > pkg-plist #One has to edit/review the generated plist
# make generate-plist && make check-plist
USE_GITHUB= yes
GH_ACCOUNT= dani-garcia
USE_RC_SUBR= ${PORTNAME}
USERS= ${WWWOWN}
GROUPS= ${WWWGRP}
PLIST_SUB= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
OPTIONS_DEFINE= WEBVAULT
OPTIONS_DEFAULT=${OPTIONS_DEFINE} ${OPTIONS_MULTI_DATABASE}
OPTIONS_MULTI= DATABASE
OPTIONS_MULTI_DATABASE= MYSQL PGSQL SQLITE
DATABASE_DESC= Database support
WEBVAULT_DESC= Vaultwarden web (bw_web_builds)
MYSQL_USES= mysql:client
MYSQL_VARS= cargo_features+=mysql
PGSQL_USES= pgsql
PGSQL_VARS= cargo_features+=postgresql
SQLITE_VARS= cargo_features+=sqlite
WEBVAULT_RUN_DEPENDS= ${WWWDIR}/web-vault/index.html:www/vaultwarden-web_vault
# make cargo-crates > Makefile.crates
CARGO_FEATURES= --no-default-features
#CARGO_ENV+= RUSTC_BOOTSTRAP=1
INSTALL_TARGET= install-strip
SUB_LIST= WWWGRP=${WWWGRP} \
WWWOWN=${WWWOWN}
.include <bsd.port.pre.mk>
# avoid LTO-induced address space exhaustion
.if ${ARCH:Marmv?} || ${ARCH} == i386
LTO_UNSAFE= yes
CARGO_ENV+= CARGO_PROFILE_RELEASE_LTO=false
.endif
.if !defined(WITH_DEBUG)
CARGO_INSTALL_ARGS+= --config profile.release.strip=true
.endif
#post-patch:
# ${REINPLACE_CMD} 's/^rust-version = "1.60"/rust-version = "1.59"/' \
# ${WRKSRC}/Cargo.toml
pre-install:
${MKDIR} ${STAGEDIR}/${WWWDIR}/data
# @${ECHO_CMD} "@owner ${WWWOWN}" >> ${PLIST}
# @${ECHO_CMD} "@group ${WWWGRP}" >> ${PLIST}
# @${ECHO_CMD} "@mode 755" >> ${PLIST}
# @${ECHO_CMD} "${STAGEDIR}/${WWWDIR}/data" >> ${PLIST}
# @${ECHO_CMD} "@mode" >> ${PLIST}
# @${ECHO_CMD} "@group" >> ${PLIST}
# @${ECHO_CMD} "@owner" >> ${PLIST}
${MKDIR} ${STAGEDIR}/${ETCDIR}/rc.conf.d
${INSTALL} -m0600 ${FILESDIR}/${PORTNAME}_conf.in ${STAGEDIR}/${LOCALBASE}/etc/rc.conf.d/${PORTNAME}.sample
#post-install:
.include <bsd.port.post.mk>
|