diff --git a/pkgs/by-name/fx/fx-cast-bridge/bump-nan.patch b/pkgs/by-name/fx/fx-cast-bridge/bump-nan.patch new file mode 100644 index 000000000000..c487fddd754a --- /dev/null +++ b/pkgs/by-name/fx/fx-cast-bridge/bump-nan.patch @@ -0,0 +1,31 @@ +diff --git a/package-lock.json b/package-lock.json +index c856a73..59d3cc5 100644 +--- a/package-lock.json ++++ b/package-lock.json +@@ -1240,9 +1240,10 @@ + } + }, + "node_modules/nan": { +- "version": "2.15.0", +- "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", +- "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" ++ "version": "2.22.2", ++ "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", ++ "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", ++ "license": "MIT" + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", +@@ -3189,9 +3190,9 @@ + "dev": true + }, + "nan": { +- "version": "2.15.0", +- "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", +- "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" ++ "version": "2.22.2", ++ "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", ++ "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==" + }, + "napi-build-utils": { + "version": "1.0.2", diff --git a/pkgs/by-name/fx/fx-cast-bridge/package.nix b/pkgs/by-name/fx/fx-cast-bridge/package.nix index 99e7e80a9431..b5276379abc0 100644 --- a/pkgs/by-name/fx/fx-cast-bridge/package.nix +++ b/pkgs/by-name/fx/fx-cast-bridge/package.nix @@ -3,7 +3,7 @@ buildNpmPackage, fetchFromGitHub, avahi-compat, - nodejs_18, + nodejs_22, python3, stdenv, }: @@ -12,7 +12,7 @@ buildNpmPackage rec { pname = "fx-cast-bridge"; version = "0.3.1"; - nodejs = nodejs_18; + nodejs = nodejs_22; src = fetchFromGitHub { owner = "hensm"; @@ -20,15 +20,23 @@ buildNpmPackage rec { rev = "v${version}"; hash = "sha256-hB4NVJW2exHoKsMp0CKzHerYgj8aR77rV+ZsCoWA1Dg="; }; + sourceRoot = "${src.name}/app"; - npmDepsHash = "sha256-GLrDRZqKcX1PDGREx+MLZ1TEjr88r9nz4TvZ9nvo40g="; + + patches = [ + # to support later versions of nodejs + # generated by running `npm update nan --ignore-scripts` in the ./app dir + ./bump-nan.patch + ]; + + npmDepsHash = "sha256-23EZC9v4ODu3k+O9NDVhOdGJ/FfaiTVWtTrK8liAevk="; nativeBuildInputs = [ python3 ]; buildInputs = [ avahi-compat ]; postPatch = '' substituteInPlace bin/lib/paths.js \ - --replace "../../../" "../../" + --replace-fail "../../../" "../../" ''; dontNpmInstall = true; @@ -38,7 +46,7 @@ buildNpmPackage rec { mkdir -p $out/{bin,lib/mozilla/native-messaging-hosts} substituteInPlace dist/app/fx_cast_bridge.json \ - --replace "$(realpath dist/app/fx_cast_bridge.sh)" "$out/bin/fx_cast_bridge" + --replace-fail "$(realpath dist/app/fx_cast_bridge.sh)" "$out/bin/fx_cast_bridge" mv dist/app/fx_cast_bridge.json $out/lib/mozilla/native-messaging-hosts rm dist/app/fx_cast_bridge.sh