diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2023-05-21 16:49:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-21 16:49:48 +0200 |
commit | ff37de0c4a697f0750b0a7447c1ce82ba4b4d672 (patch) | |
tree | d05185cdbf42eb91a3f217a157622b097935b510 | |
parent | 4916216d763985cc43b0eeeebe0b64359f0d21c8 (diff) | |
parent | 7e50f350d3099403a3a3c00aa362125e1fad3bc6 (diff) | |
download | nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.tar nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.tar.gz nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.tar.bz2 nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.tar.lz nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.tar.xz nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.tar.zst nixpkgs-ff37de0c4a697f0750b0a7447c1ce82ba4b4d672.zip |
Merge pull request #230971 from amarshall/bitwarden-2023.4.0
bitwarden: 2023.3.2 -> 2023.4.0; backport update to build against Node 18
-rw-r--r-- | pkgs/tools/security/bitwarden/default.nix | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix index f638c4bfca8..9a78b698f7a 100644 --- a/pkgs/tools/security/bitwarden/default.nix +++ b/pkgs/tools/security/bitwarden/default.nix @@ -1,8 +1,10 @@ { lib +, applyPatches , buildNpmPackage , dbus -, electron +, electron_24 , fetchFromGitHub +, fetchpatch , glib , gnome , gtk3 @@ -11,7 +13,7 @@ , makeDesktopItem , makeWrapper , moreutils -, nodejs_16 +, nodejs_18 , pkg-config , python3 , rustPlatform @@ -22,23 +24,32 @@ let description = "A secure and free password manager for all of your devices"; icon = "bitwarden"; - buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_16; }; - - version = "2023.3.2"; - src = fetchFromGitHub { - owner = "bitwarden"; - repo = "clients"; - rev = "desktop-v${version}"; - sha256 = "sha256-KQDM7XDUA+yRv8y1K//rMCs4J36df42RVsiAXazJeYQ="; + buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_18; }; + electron = electron_24; + + version = "2023.4.0"; + src = applyPatches { + src = fetchFromGitHub { + owner = "bitwarden"; + repo = "clients"; + rev = "desktop-v${version}"; + sha256 = "sha256-TTKDl6Py3k+fAy/kcyiMbAAKQdhVnZTyRXV8D/VpKBE="; + }; + + patches = [ + # Bump electron to 24 and node to 18 + (fetchpatch { + url = "https://github.com/bitwarden/clients/pull/5205.patch"; + hash = "sha256-sKSrh8RHXtxGczyZScjTeiGZgTZCQ7f45ULj/j9cp6M="; + }) + ]; }; desktop-native = rustPlatform.buildRustPackage { pname = "bitwarden-desktop-native"; inherit src version; - sourceRoot = "source/apps/desktop/desktop_native"; - cargoSha256 = "sha256-XsAmVYWPPnY0cgBzpO2aWx/fh85fKr8kMO98cDMzOKk="; - - patchFlags = [ "-p4" ]; + sourceRoot = "source-patched/apps/desktop/desktop_native"; + cargoSha256 = "sha256-VW9DmSh9jvqFCZjH1SAYkydSGjXSVEbv4CmtoJBiw5Y="; nativeBuildInputs = [ pkg-config @@ -91,7 +102,7 @@ buildNpmPackage' { npmBuildFlags = [ "--workspace apps/desktop" ]; - npmDepsHash = "sha256-RmkTWhakZstCCMLQ3iJ8KD5Yt5ZafXc8NDgncJMLaxs="; + npmDepsHash = "sha256-UXDn09qyM8GwfUiWLDhhyrGFZeKtTRmQArstw+tm5iE="; ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; @@ -103,6 +114,11 @@ buildNpmPackage' { ]; preBuild = '' + if [[ $(jq --raw-output '.devDependencies.electron' < package.json | grep -E --only-matching '^[0-9]+') != ${lib.escapeShellArg (lib.versions.major electron.version)} ]]; then + echo 'ERROR: electron version mismatch' + exit 1 + fi + jq 'del(.scripts.postinstall)' apps/desktop/package.json | sponge apps/desktop/package.json jq '.scripts.build = ""' apps/desktop/desktop_native/package.json | sponge apps/desktop/desktop_native/package.json cp ${desktop-native}/lib/libdesktop_native.so apps/desktop/desktop_native/desktop_native.linux-x64-musl.node @@ -111,7 +127,7 @@ buildNpmPackage' { postBuild = '' pushd apps/desktop - "$(npm bin)"/electron-builder \ + npm exec electron-builder -- \ --dir \ -c.electronDist=${electron}/lib/electron \ -c.electronVersion=${electron.version} |