diff --git a/pkgs/by-name/rs/rstudio/bump-node-abi.patch b/pkgs/by-name/rs/rstudio/bump-node-abi.patch new file mode 100644 index 0000000000000..10d3c424f25dd --- /dev/null +++ b/pkgs/by-name/rs/rstudio/bump-node-abi.patch @@ -0,0 +1,67 @@ +diff --git a/src/node/desktop/package-lock.json b/src/node/desktop/package-lock.json +index e4cf455..f822c46 100644 +--- a/src/node/desktop/package-lock.json ++++ b/src/node/desktop/package-lock.json +@@ -18,7 +18,7 @@ + "line-reader": "0.4.0", + "lodash.debounce": "4.0.8", + "net-ipc": "2.2.0", +- "node-abi": "3.71.0", ++ "node-abi": "^4.10.0", + "node-addon-api": "8.3.1", + "node-system-fonts": "1.0.1", + "properties-reader": "2.3.0", +@@ -1068,6 +1068,19 @@ + "node": ">=12.13.0" + } + }, ++ "node_modules/@electron/rebuild/node_modules/node-abi": { ++ "version": "3.75.0", ++ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", ++ "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", ++ "dev": true, ++ "license": "MIT", ++ "dependencies": { ++ "semver": "^7.3.5" ++ }, ++ "engines": { ++ "node": ">=10" ++ } ++ }, + "node_modules/@electron/universal": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.2.tgz", +@@ -9615,15 +9628,15 @@ + } + }, + "node_modules/node-abi": { +- "version": "3.71.0", +- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", +- "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", ++ "version": "4.10.0", ++ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.10.0.tgz", ++ "integrity": "sha512-99+BHGmmk969uU3Q4DM9t2tBvDKmqZ3prz/yumY7n+fV2zA+DAOBXuodsp9ZD/QSXK8aSKgWIpkg8tbrAe9JBg==", + "license": "MIT", + "dependencies": { +- "semver": "^7.3.5" ++ "semver": "^7.6.3" + }, + "engines": { +- "node": ">=10" ++ "node": ">=22.12.0" + } + }, + "node_modules/node-abort-controller": { +diff --git a/src/node/desktop/package.json b/src/node/desktop/package.json +index 1fe9294..e3797cf 100644 +--- a/src/node/desktop/package.json ++++ b/src/node/desktop/package.json +@@ -76,7 +76,7 @@ + "line-reader": "0.4.0", + "lodash.debounce": "4.0.8", + "net-ipc": "2.2.0", +- "node-abi": "3.71.0", ++ "node-abi": "^4.10.0", + "node-addon-api": "8.3.1", + "node-system-fonts": "1.0.1", + "properties-reader": "2.3.0", diff --git a/pkgs/by-name/rs/rstudio/package.nix b/pkgs/by-name/rs/rstudio/package.nix index 758428d1f05af..f20943963c5a8 100644 --- a/pkgs/by-name/rs/rstudio/package.nix +++ b/pkgs/by-name/rs/rstudio/package.nix @@ -26,7 +26,7 @@ apple-sdk_11, boost187, - electron_34, + electron_36, fontconfig, gnumake, hunspellDicts, @@ -45,7 +45,7 @@ }: let - electron = electron_34; + electron = electron_36; mathJaxSrc = fetchzip { url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-27.zip"; @@ -211,6 +211,7 @@ stdenv.mkDerivation rec { ./ignore-etc-os-release.patch ./dont-yarn-install.patch ./fix-darwin.patch + ./bump-node-abi.patch ]; postPatch = '' @@ -241,7 +242,11 @@ stdenv.mkDerivation rec { name = "rstudio-${version}-npm-deps"; inherit src; postPatch = "cd ${npmRoot}"; - hash = "sha256-ispV6FJdtOELtFNIZDn1lKbwvO/iTO8mrZ8nIOs2uhs="; + patches = [ + # needed for support for electron versions above electron_34 + ./bump-node-abi.patch + ]; + hash = "sha256-64PJPUE/xwdQdxVGiKzy8ADnxXH/qGQtFMib0unZpoA="; }; preConfigure =