pari: 2.15.5 -> 2.17.1 (#348442)
[NixPkgs.git] / pkgs / by-name / bi / bitwarden-cli / package.nix
blob5ce79f0e5f98c4d478707868c262efbf7487a370
2   lib,
3   stdenv,
4   buildNpmPackage,
5   nodejs_20,
6   fetchFromGitHub,
7   cctools,
8   nix-update-script,
9   nixosTests,
10   perl,
11   xcbuild,
14 buildNpmPackage rec {
15   pname = "bitwarden-cli";
16   version = "2024.12.0";
18   src = fetchFromGitHub {
19     owner = "bitwarden";
20     repo = "clients";
21     rev = "cli-v${version}";
22     hash = "sha256-3aN2t8/qhN0sjACvtip45efHQJl8nEMNre0+oBL1/go=";
23   };
25   postPatch = ''
26     # remove code under unfree license
27     rm -r bitwarden_license
28   '';
30   nodejs = nodejs_20;
32   npmDepsHash = "sha256-EtIcqbubAYN9I9wbw17oHiVshd3GtQayFtdgqWP7Pgg=";
34   nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
35     cctools
36     perl
37     xcbuild.xcrun
38   ];
40   makeCacheWritable = true;
42   env = {
43     ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
44     npm_config_build_from_source = "true";
45   };
47   npmBuildScript = "build:oss:prod";
49   npmWorkspace = "apps/cli";
51   npmFlags = [ "--legacy-peer-deps" ];
53   postConfigure = ''
54     # we want to build everything from source
55     shopt -s globstar
56     rm -r node_modules/**/prebuilds
57     shopt -u globstar
58   '';
60   postBuild = ''
61     # remove build artifacts that bloat the closure
62     shopt -s globstar
63     rm -r node_modules/**/{*.target.mk,binding.Makefile,config.gypi,Makefile,Release/.deps}
64     shopt -u globstar
65   '';
67   passthru = {
68     tests = {
69       vaultwarden = nixosTests.vaultwarden.sqlite;
70     };
71     updateScript = nix-update-script {
72       extraArgs = [
73         "--commit"
74         "--version=stable"
75         "--version-regex=^cli-v(.*)$"
76       ];
77     };
78   };
80   meta = with lib; {
81     changelog = "https://github.com/bitwarden/clients/releases/tag/${src.rev}";
82     description = "Secure and free password manager for all of your devices";
83     homepage = "https://bitwarden.com";
84     license = lib.licenses.gpl3Only;
85     mainProgram = "bw";
86     maintainers = with maintainers; [ dotlambda ];
87   };