Loading pkgs/tools/security/bitwarden/default.nix +32 −16 Original line number Diff line number Diff line { lib , applyPatches , buildNpmPackage , dbus , electron , electron_24 , fetchFromGitHub , fetchpatch , glib , gnome , gtk3 Loading @@ -11,7 +13,7 @@ , makeDesktopItem , makeWrapper , moreutils , nodejs_16 , nodejs_18 , pkg-config , python3 , rustPlatform Loading @@ -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; }; buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_18; }; electron = electron_24; version = "2023.3.2"; version = "2023.4.0"; src = applyPatches { src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "desktop-v${version}"; sha256 = "sha256-KQDM7XDUA+yRv8y1K//rMCs4J36df42RVsiAXazJeYQ="; 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 Loading Loading @@ -91,7 +102,7 @@ buildNpmPackage' { npmBuildFlags = [ "--workspace apps/desktop" ]; npmDepsHash = "sha256-RmkTWhakZstCCMLQ3iJ8KD5Yt5ZafXc8NDgncJMLaxs="; npmDepsHash = "sha256-UXDn09qyM8GwfUiWLDhhyrGFZeKtTRmQArstw+tm5iE="; ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; Loading @@ -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 Loading @@ -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} Loading Loading
pkgs/tools/security/bitwarden/default.nix +32 −16 Original line number Diff line number Diff line { lib , applyPatches , buildNpmPackage , dbus , electron , electron_24 , fetchFromGitHub , fetchpatch , glib , gnome , gtk3 Loading @@ -11,7 +13,7 @@ , makeDesktopItem , makeWrapper , moreutils , nodejs_16 , nodejs_18 , pkg-config , python3 , rustPlatform Loading @@ -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; }; buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_18; }; electron = electron_24; version = "2023.3.2"; version = "2023.4.0"; src = applyPatches { src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "desktop-v${version}"; sha256 = "sha256-KQDM7XDUA+yRv8y1K//rMCs4J36df42RVsiAXazJeYQ="; 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 Loading Loading @@ -91,7 +102,7 @@ buildNpmPackage' { npmBuildFlags = [ "--workspace apps/desktop" ]; npmDepsHash = "sha256-RmkTWhakZstCCMLQ3iJ8KD5Yt5ZafXc8NDgncJMLaxs="; npmDepsHash = "sha256-UXDn09qyM8GwfUiWLDhhyrGFZeKtTRmQArstw+tm5iE="; ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; Loading @@ -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 Loading @@ -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} Loading