diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix | 46 | ||||
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix | 28 |
2 files changed, 74 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix new file mode 100644 index 000000000000..57e865ef596a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix @@ -0,0 +1,46 @@ +{ stdenv, rustPlatform, fetchFromGitHub, nixosTests +, pkgconfig, openssl +, Security, CoreServices +, dbBackend ? "sqlite", libmysqlclient, postgresql }: + +let + featuresFlag = "--features ${dbBackend}"; + +in rustPlatform.buildRustPackage rec { + pname = "bitwarden_rs"; + version = "1.17.0"; + + src = fetchFromGitHub { + owner = "dani-garcia"; + repo = pname; + rev = version; + sha256 = "0hi29vy23a5r23pgzdssd2gvim8vw2vmykck5cl5phq11a3az31p"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = with stdenv.lib; [ openssl ] + ++ optionals stdenv.isDarwin [ Security CoreServices ] + ++ optional (dbBackend == "mysql") libmysqlclient + ++ optional (dbBackend == "postgresql") postgresql; + + RUSTC_BOOTSTRAP = 1; + + cargoSha256 = "0hv3k5l85nz4syzamranhi237fiwkjnda8v5ssnm2nsmcm7ih9k8"; + 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.bitwarden; + + meta = with stdenv.lib; { + description = "Unofficial Bitwarden compatible server written in Rust"; + homepage = "https://github.com/dani-garcia/bitwarden_rs"; + license = licenses.gpl3; + maintainers = with maintainers; [ msteen ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix b/infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix new file mode 100644 index 000000000000..786ff5784557 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, nixosTests }: + +stdenv.mkDerivation rec { + pname = "bitwarden_rs-vault"; + version = "2.16.1"; + + src = fetchurl { + url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz"; + sha256 = "1c4fcf8jzgd6636wv903r5msc9z5l56l2i4k93kvb2zvg7qj014w"; + }; + + buildCommand = '' + mkdir -p $out/share/bitwarden_rs/ + cd $out/share/bitwarden_rs/ + tar xf $src + mv web-vault vault + ''; + + passthru.tests = nixosTests.bitwarden; + + meta = with stdenv.lib; { + description = "Integrates the web vault into bitwarden_rs"; + homepage = "https://github.com/dani-garcia/bw_web_builds"; + platforms = platforms.all; + license = licenses.gpl3; + maintainers = with maintainers; [ msteen ]; + }; +} |