blob: 8cb8b6902a2d8c56bc7b4d4a051777d085d629aa (
plain) (
tree)
|
|
# Copyright 2017-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
adler-1.0.2
aho-corasick-0.7.20
alloc-no-stdlib-2.0.4
alloc-stdlib-0.2.2
android_system_properties-0.1.5
argon2-0.5.0
async-channel-1.8.0
async-compression-0.3.15
async-executor-1.5.0
async-global-executor-2.3.1
async-io-1.13.0
async-lock-2.7.0
async-process-1.6.0
async-std-1.12.0
async-stream-0.3.4
async-stream-impl-0.3.4
async-task-4.4.0
async-trait-0.1.68
async_once-0.2.6
atomic-0.5.1
atomic-waker-1.1.0
autocfg-1.1.0
base64-0.13.1
base64-0.21.0
base64ct-1.6.0
binascii-0.1.4
bitflags-1.3.2
bitflags-2.0.2
blake2-0.10.6
block-buffer-0.10.4
blocking-1.3.0
brotli-3.3.4
brotli-decompressor-2.3.4
bumpalo-3.12.0
byteorder-1.4.3
bytes-1.4.0
cached-0.42.0
cached_proc_macro-0.16.0
cached_proc_macro_types-0.1.0
cc-1.0.79
cfg-if-1.0.0
chrono-0.4.24
chrono-tz-0.8.1
chrono-tz-build-0.1.0
codespan-reporting-0.11.1
concurrent-queue-2.1.0
cookie-0.16.2
cookie-0.17.0
cookie_store-0.16.1
cookie_store-0.19.0
core-foundation-0.9.3
core-foundation-sys-0.8.3
cpufeatures-0.2.6
crc32fast-1.3.2
cron-0.12.0
crossbeam-utils-0.8.15
crypto-common-0.1.6
ctor-0.1.26
cxx-1.0.94
cxx-build-1.0.94
cxxbridge-flags-1.0.94
cxxbridge-macro-1.0.94
darling-0.14.4
darling_core-0.14.4
darling_macro-0.14.4
dashmap-5.4.0
data-encoding-2.3.3
data-url-0.2.0
devise-0.4.1
devise_codegen-0.4.1
devise_core-0.4.1
diesel-2.0.3
diesel_derives-2.0.2
diesel_logger-0.2.0
diesel_migrations-2.0.0
digest-0.10.6
dotenvy-0.15.7
either-1.8.1
email-encoding-0.2.0
email_address-0.2.4
encoding_rs-0.8.32
enum-as-inner-0.5.1
errno-0.3.0
errno-dragonfly-0.1.2
error-chain-0.12.4
event-listener-2.5.3
fastrand-1.9.0
fern-0.6.2
figment-0.10.8
flate2-1.0.25
fnv-1.0.7
foreign-types-0.3.2
foreign-types-shared-0.1.1
form_urlencoded-1.1.0
futures-0.3.28
futures-channel-0.3.28
futures-core-0.3.28
futures-executor-0.3.28
futures-io-0.3.28
futures-lite-1.12.0
futures-macro-0.3.28
futures-sink-0.3.28
futures-task-0.3.28
futures-timer-3.0.2
futures-util-0.3.28
generator-0.7.3
generic-array-0.14.7
getrandom-0.2.8
glob-0.3.1
gloo-timers-0.2.6
governor-0.5.1
h2-0.3.16
half-1.8.2
handlebars-4.3.6
hashbrown-0.12.3
hashbrown-0.13.2
heck-0.4.1
hermit-abi-0.2.6
hermit-abi-0.3.1
hmac-0.12.1
hostname-0.3.1
html5gum-0.5.2
http-0.2.9
http-body-0.4.5
httparse-1.8.0
httpdate-1.0.2
hyper-0.14.25
hyper-tls-0.5.0
iana-time-zone-0.1.54
iana-time-zone-haiku-0.1.1
ident_case-1.0.1
idna-0.2.3
idna-0.3.0
indexmap-1.9.3
inlinable_string-0.1.15
instant-0.1.12
io-lifetimes-1.0.9
ipconfig-0.3.1
ipnet-2.7.2
is-terminal-0.4.6
itoa-1.0.6
jetscii-0.5.3
job_scheduler_ng-2.0.4
js-sys-0.3.61
jsonwebtoken-8.3.0
kv-log-macro-1.0.7
lazy_static-1.4.0
lettre-0.10.4
libc-0.2.140
libmimalloc-sys-0.1.30
libsqlite3-sys-0.25.2
link-cplusplus-1.0.8
linked-hash-map-0.5.6
linux-raw-sys-0.3.1
lock_api-0.4.9
log-0.4.17
loom-0.5.6
lru-cache-0.1.2
mach-0.3.2
match_cfg-0.1.0
matchers-0.1.0
matches-0.1.10
memchr-2.5.0
migrations_internals-2.0.0
migrations_macros-2.0.0
mimalloc-0.1.34
mime-0.3.17
minimal-lexical-0.2.1
miniz_oxide-0.6.2
mio-0.8.6
multer-2.1.0
mysqlclient-sys-0.2.5
native-tls-0.2.11
no-std-compat-0.4.1
nom-7.1.3
nonzero_ext-0.3.0
nu-ansi-term-0.46.0
num-bigint-0.4.3
num-derive-0.3.3
num-integer-0.1.45
num-traits-0.2.15
num_cpus-1.15.0
num_threads-0.1.6
once_cell-1.17.1
openssl-0.10.49
openssl-macros-0.1.1
openssl-probe-0.1.5
openssl-src-111.25.2+1.1.1t
openssl-sys-0.9.84
overload-0.1.1
parking-2.0.0
parking_lot-0.12.1
parking_lot_core-0.9.7
parse-zoneinfo-0.3.0
password-hash-0.5.0
paste-1.0.12
pear-0.2.4
pear_codegen-0.2.4
pem-1.1.1
percent-encoding-2.2.0
pest-2.5.7
pest_derive-2.5.7
pest_generator-2.5.7
pest_meta-2.5.7
phf-0.11.1
phf_codegen-0.11.1
phf_generator-0.11.1
phf_shared-0.11.1
pico-args-0.5.0
pin-project-lite-0.2.9
pin-utils-0.1.0
pkg-config-0.3.26
polling-2.6.0
ppv-lite86-0.2.17
pq-sys-0.4.7
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro2-1.0.55
proc-macro2-diagnostics-0.10.0
psl-types-2.0.11
publicsuffix-2.2.3
quanta-0.9.3
quick-error-1.2.3
quote-1.0.26
quoted_printable-0.4.7
r2d2-0.8.10
rand-0.8.5
rand_chacha-0.3.1
rand_core-0.6.4
raw-cpuid-10.7.0
redox_syscall-0.2.16
redox_syscall-0.3.5
ref-cast-1.0.16
ref-cast-impl-1.0.16
regex-1.7.3
regex-automata-0.1.10
regex-syntax-0.6.29
reqwest-0.11.16
resolv-conf-0.7.0
ring-0.16.20
rmp-0.8.11
rmpv-1.0.0
rocket-0.5.0-rc.3
rocket_codegen-0.5.0-rc.3
rocket_http-0.5.0-rc.3
rpassword-7.2.0
rtoolbox-0.0.1
rustix-0.37.6
rustls-0.20.8
rustls-pemfile-1.0.2
rustversion-1.0.12
ryu-1.0.13
same-file-1.0.6
schannel-0.1.21
scheduled-thread-pool-0.2.7
scoped-tls-1.0.1
scopeguard-1.1.0
scratch-1.0.5
sct-0.7.0
security-framework-2.8.2
security-framework-sys-2.8.0
semver-1.0.17
serde-1.0.159
serde_cbor-0.11.2
serde_derive-1.0.159
serde_json-1.0.95
serde_urlencoded-0.7.1
sha-1-0.10.1
sha1-0.10.5
sha2-0.10.6
sharded-slab-0.1.4
signal-hook-0.3.15
signal-hook-registry-1.4.1
simple_asn1-0.6.2
siphasher-0.3.10
slab-0.4.8
smallvec-1.10.0
socket2-0.4.9
spin-0.5.2
spin-0.9.7
stable-pattern-0.1.0
state-0.5.3
strsim-0.10.0
subtle-2.4.1
syn-1.0.109
syn-2.0.13
syslog-6.0.1
tempfile-3.5.0
termcolor-1.2.0
thiserror-1.0.40
thiserror-impl-1.0.40
thread_local-1.1.7
threadpool-1.8.1
time-0.3.20
time-core-0.1.0
time-macros-0.2.8
tinyvec-1.6.0
tinyvec_macros-0.1.1
tokio-1.27.0
tokio-macros-2.0.0
tokio-native-tls-0.3.1
tokio-rustls-0.23.4
tokio-socks-0.5.1
tokio-stream-0.1.12
tokio-tungstenite-0.18.0
tokio-util-0.7.7
toml-0.5.11
totp-lite-2.0.0
tower-service-0.3.2
tracing-0.1.37
tracing-attributes-0.1.23
tracing-core-0.1.30
tracing-log-0.1.3
tracing-subscriber-0.3.16
trust-dns-proto-0.22.0
trust-dns-resolver-0.22.0
try-lock-0.2.4
tungstenite-0.18.0
typenum-1.16.0
ubyte-0.10.3
ucd-trie-0.1.5
uncased-0.9.7
unicode-bidi-0.3.13
unicode-ident-1.0.8
unicode-normalization-0.1.22
unicode-width-0.1.10
unicode-xid-0.2.4
untrusted-0.7.1
url-2.3.1
utf-8-0.7.6
uuid-1.3.0
valuable-0.1.0
value-bag-1.0.0-alpha.9
vcpkg-0.2.15
version_check-0.9.4
waker-fn-1.1.0
walkdir-2.3.3
want-0.3.0
wasi-0.10.2+wasi-snapshot-preview1
wasi-0.11.0+wasi-snapshot-preview1
wasm-bindgen-0.2.84
wasm-bindgen-backend-0.2.84
wasm-bindgen-futures-0.4.34
wasm-bindgen-macro-0.2.84
wasm-bindgen-macro-support-0.2.84
wasm-bindgen-shared-0.2.84
wasm-streams-0.2.3
web-sys-0.3.61
webauthn-rs-0.3.2
webpki-0.22.0
which-4.4.0
widestring-0.5.1
winapi-0.3.9
winapi-i686-pc-windows-gnu-0.4.0
winapi-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
windows-0.44.0
windows-0.46.0
windows-sys-0.42.0
windows-sys-0.45.0
windows-targets-0.42.2
windows_aarch64_gnullvm-0.42.2
windows_aarch64_msvc-0.42.2
windows_i686_gnu-0.42.2
windows_i686_msvc-0.42.2
windows_x86_64_gnu-0.42.2
windows_x86_64_gnullvm-0.42.2
windows_x86_64_msvc-0.42.2
winreg-0.10.1
yansi-0.5.1
yubico-0.11.0
"
inherit cargo systemd
DESCRIPTION="Unofficial Bitwarden compatible server written in Rust"
HOMEPAGE="https://github.com/dani-garcia/vaultwarden"
SRC_URI="
https://github.com/dani-garcia/vaultwarden/archive/${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris)"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="mysql postgres sqlite system-sqlite"
REQUIRED_USE="|| ( mysql postgres sqlite )"
ACCT_DEPEND="
acct-group/vaultwarden
acct-user/vaultwarden
"
DEPEND="
${ACCT_DEPEND}
>=app-admin/vaultwarden-web-vault-2023.3.0b
>=dev-lang/rust-1.66.1
dev-libs/openssl:0=
sqlite? ( system-sqlite? ( >=dev-db/sqlite-3.39.4:3 ) )
"
RDEPEND="${DEPEND}"
src_prepare() {
if use system-sqlite; then
sed -i \
-e 's/^\(libsqlite3-sys =.*\)features\s*=\s*\["bundled"\],/\1/g' \
"${S}/Cargo.toml" || die
fi
default
}
src_configure() {
myfeatures=(
$(usev mysql)
$(usex postgres postgresql '')
$(usev sqlite)
)
}
src_compile() {
cargo_src_compile ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
}
src_install() {
cargo_src_install ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
einstalldocs
# Install init.d and conf.d scripts
newinitd "${FILESDIR}"/init vaultwarden
newconfd "${FILESDIR}"/conf vaultwarden
systemd_newunit "${FILESDIR}"/vaultwarden.service vaultwarden.service
# Install /etc/vaultwarden.env
insinto /etc
newins .env.template vaultwarden.env
fowners root:vaultwarden /etc/vaultwarden.env
fperms 640 /etc/vaultwarden.env
# Install launch wrapper
exeinto /var/lib/vaultwarden
doexe "${FILESDIR}"/vaultwarden
# Keep data dir
keepdir /var/lib/vaultwarden/data
fowners vaultwarden:vaultwarden /var/lib/vaultwarden/data
fperms 700 /var/lib/vaultwarden/data
}
src_test() {
cargo_src_test ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
}
|