diff --git a/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch b/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch deleted file mode 100644 index f2f9259ebc00..000000000000 --- a/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/apps/desktop/desktop_native/napi/index.js b/apps/desktop/desktop_native/napi/index.js -index acfd0df..31a0c6a 100644 ---- a/apps/desktop/desktop_native/napi/index.js -+++ b/apps/desktop/desktop_native/napi/index.js -@@ -17,6 +17,7 @@ function loadFirstAvailable(localFiles, nodeModule) { - require(nodeModule); - } - -+/* - switch (platform) { - case "android": - switch (arch) { -@@ -121,6 +122,8 @@ switch (platform) { - default: - throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); - } -+*/ -+nativeBinding = require('./desktop_napi.node') - - if (!nativeBinding) { - if (loadError) { -diff --git a/apps/desktop/desktop_native/napi/package.json b/apps/desktop/desktop_native/napi/package.json -index d557ccf..2e47c79 100644 ---- a/apps/desktop/desktop_native/napi/package.json -+++ b/apps/desktop/desktop_native/napi/package.json -@@ -3,7 +3,7 @@ - "version": "0.1.0", - "description": "", - "scripts": { -- "build": "napi build --platform --js false", -+ "build": "napi build --js false", - "test": "cargo test" - }, - "author": "", -diff --git a/apps/desktop/electron-builder.json b/apps/desktop/electron-builder.json -index 2922035..6497a38 100644 ---- a/apps/desktop/electron-builder.json -+++ b/apps/desktop/electron-builder.json -@@ -18,7 +18,7 @@ - "**/*", - "!**/node_modules/@bitwarden/desktop-napi/**/*", - "**/node_modules/@bitwarden/desktop-napi/index.js", -- "**/node_modules/@bitwarden/desktop-napi/desktop_napi.${platform}-${arch}*.node" -+ "**/node_modules/@bitwarden/desktop-napi/desktop_napi.node" - ], - "electronVersion": "34.0.0", - "generateUpdatesFilesForAllChannels": true, -@@ -68,7 +68,6 @@ - "CFBundleDevelopmentRegion": "en" - }, - "provisioningProfile": "bitwarden_desktop_developer_id.provisionprofile", -- "singleArchFiles": "node_modules/@bitwarden/desktop-napi/desktop_napi.darwin-*.node", - "extraFiles": [ - { - "from": "desktop_native/dist/desktop_proxy.${platform}-${arch}", diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index b6c4f148fcf8..026db2c1c5a9 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -5,14 +5,13 @@ copyDesktopItems, dart-sass, darwin, - electron_37, + electron_39, fetchFromGitHub, gnome-keyring, jq, llvmPackages_18, makeDesktopItem, makeWrapper, - napi-rs-cli, nix-update-script, nodejs_22, pkg-config, @@ -25,7 +24,7 @@ let description = "Secure and free password manager for all of your devices"; icon = "bitwarden"; - electron = electron_37; + electron = electron_39; # argon2 npm dependency is using `std::basic_string`, which is no longer allowed in LLVM 19 buildNpmPackage' = buildNpmPackage.override { @@ -34,13 +33,13 @@ let in buildNpmPackage' rec { pname = "bitwarden-desktop"; - version = "2025.12.0"; + version = "2025.12.1"; src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "desktop-v${version}"; - hash = "sha256-i+hLslZ2i94r04vaOzx9e55AR8aXa9sSK8el+Dcp05A="; + hash = "sha256-yER9LDFwTQkOdjB84UhEiWUDE+5Qa2vlRzq1/Qc/soY="; }; patches = [ @@ -53,8 +52,6 @@ buildNpmPackage' rec { ./set-desktop-proxy-path.patch # on linux: don't flip fuses, don't create wrapper script, on darwin: don't try copying safari extensions, don't try re-signing app ./skip-afterpack-and-aftersign.patch - # since out arch doesn't match upstream, we'll generate and use desktop_napi.node instead of desktop_napi.${platform}-${arch}.node - ./dont-use-platform-triple.patch ]; postPatch = '' @@ -87,7 +84,7 @@ buildNpmPackage' rec { "--ignore-scripts" ]; npmWorkspace = "apps/desktop"; - npmDepsHash = "sha256-OT9Ll+F4e/yOJVpay/zwfEHcBqRvSFOM2mtlrJ8E6fs="; + npmDepsHash = "sha256-hczwOG30ad5oaTU7APPrW+a7LmjPch+P4dZSb7B+2eU="; cargoDeps = rustPlatform.fetchCargoVendor { inherit @@ -97,7 +94,7 @@ buildNpmPackage' rec { cargoRoot patches ; - hash = "sha256-rA9zY9TAF6DnsTT3MzU18VeQDm6m25gjZ0rcmnbZb8E="; + hash = "sha256-NaomkYqkRW5ir6DI5t0JqoewN8QZtSibGKW93MwsqPQ="; }; cargoRoot = "apps/desktop/desktop_native"; @@ -111,7 +108,6 @@ buildNpmPackage' rec { dart-sass jq makeWrapper - napi-rs-cli pkg-config rustc rustPlatform.cargoCheckHook @@ -134,6 +130,9 @@ buildNpmPackage' rec { # force our dart-sass executable echo "export const compilerCommand = ['dart-sass'];" > node_modules/sass-embedded/dist/lib/src/compiler-path.js + # needed so that the napi executable actually is usable + patchShebangs apps/desktop/node_modules + pushd apps/desktop/desktop_native/napi npm run build popd