diff options
author | K900 <me@0upti.me> | 2021-07-01 12:14:51 +0300 |
---|---|---|
committer | K900 <me@0upti.me> | 2021-07-01 12:31:20 +0300 |
commit | dc1b56c714095d787f52c45c83723944dfeef779 (patch) | |
tree | 7c065a0e7f7fc17472c3eed82070808316d3b653 /pkgs/tools/security/vaultwarden | |
parent | f83eb93af7fee27f6155d4b83fa00fa881c56293 (diff) |
vaultwarden: update to 1.22.1, rename from bitwarden_rs
I tried to make this as non-breaking as possible, but it will still break things slightly for people expecting certain file names in the packages themselves.
Diffstat (limited to 'pkgs/tools/security/vaultwarden')
-rw-r--r-- | pkgs/tools/security/vaultwarden/default.nix | 47 | ||||
-rw-r--r-- | pkgs/tools/security/vaultwarden/vault.nix | 28 |
2 files changed, 75 insertions, 0 deletions
diff --git a/pkgs/tools/security/vaultwarden/default.nix b/pkgs/tools/security/vaultwarden/default.nix new file mode 100644 index 0000000000000..4342c8f3ac955 --- /dev/null +++ b/pkgs/tools/security/vaultwarden/default.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, rustPlatform, fetchFromGitHub, fetchurl, nixosTests +, pkg-config, openssl +, libiconv, Security, CoreServices +, dbBackend ? "sqlite", libmysqlclient, postgresql }: + +let + featuresFlag = "--features ${dbBackend}"; + +in rustPlatform.buildRustPackage rec { + pname = "vaultwarden"; + version = "1.22.1"; + + src = fetchFromGitHub { + owner = "dani-garcia"; + repo = pname; + rev = version; + sha256 = "sha256-aXbnNO3mTAgE1yNx7YVDo1vPpO8ACZpBGHQ633fNZ3k="; + }; + + cargoSha256 = "sha256-SFzq3OU0a0s3zlEzUkqGdZb/knYafqDamLy4ghH4i8I="; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = with lib; [ openssl ] + ++ optionals stdenv.isDarwin [ libiconv Security CoreServices ] + ++ optional (dbBackend == "mysql") libmysqlclient + ++ optional (dbBackend == "postgresql") postgresql; + + RUSTC_BOOTSTRAP = 1; + + cargoBuildFlags = [ featuresFlag ]; + + checkPhase = '' + runHook preCheck + echo "Running cargo cargo test ${featuresFlag} -- ''${checkFlags} ''${checkFlagsArray+''${checkFlagsArray[@]}}" + cargo test ${featuresFlag} -- ''${checkFlags} ''${checkFlagsArray+"''${checkFlagsArray[@]}"} + runHook postCheck + ''; + + passthru.tests = nixosTests.vaultwarden; + + meta = with lib; { + description = "Unofficial Bitwarden compatible server written in Rust"; + homepage = "https://github.com/dani-garcia/vaultwarden"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ msteen ]; + }; +} diff --git a/pkgs/tools/security/vaultwarden/vault.nix b/pkgs/tools/security/vaultwarden/vault.nix new file mode 100644 index 0000000000000..49e7cc4f3ba13 --- /dev/null +++ b/pkgs/tools/security/vaultwarden/vault.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchurl, nixosTests }: + +stdenv.mkDerivation rec { + pname = "vaultwarden-vault"; + version = "2.19.0"; + + src = fetchurl { + url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz"; + sha256 = "sha256:0yrk2b2d5sld4z60siacafdz95gqikcv4snzd6hwhq1l6kz151az"; + }; + + buildCommand = '' + mkdir -p $out/share/vaultwarden/ + cd $out/share/vaultwarden/ + tar xf $src + mv web-vault vault + ''; + + passthru.tests = nixosTests.vaultwarden; + + meta = with lib; { + description = "Integrates the web vault into vaultwarden"; + homepage = "https://github.com/dani-garcia/bw_web_builds"; + platforms = platforms.all; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ msteen mic92 ]; + }; +} |