From b118fdca18955507611b70fdcf4d55a585fd4cbb Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Sun, 28 Jun 2026 14:47:17 +0200 Subject: [PATCH] rstudio: fix build with newer nodejs versions by bumping yauzl --- pkgs/by-name/rs/rstudio/bump-yauzl.patch | 73 ++++++++++++++++++++++++ pkgs/by-name/rs/rstudio/package.nix | 5 +- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/rs/rstudio/bump-yauzl.patch diff --git a/pkgs/by-name/rs/rstudio/bump-yauzl.patch b/pkgs/by-name/rs/rstudio/bump-yauzl.patch new file mode 100644 index 000000000000..26a7e6a775a0 --- /dev/null +++ b/pkgs/by-name/rs/rstudio/bump-yauzl.patch @@ -0,0 +1,73 @@ +diff --git a/src/node/desktop/package-lock.json b/src/node/desktop/package-lock.json +index c78746a..93d15e5 100644 +--- a/src/node/desktop/package-lock.json ++++ b/src/node/desktop/package-lock.json +@@ -4372,16 +4372,6 @@ + "ieee754": "^1.2.1" + } + }, +- "node_modules/buffer-crc32": { +- "version": "0.2.13", +- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", +- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", +- "dev": true, +- "license": "MIT", +- "engines": { +- "node": "*" +- } +- }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", +@@ -6777,16 +6767,6 @@ + "node": ">=0.8.0" + } + }, +- "node_modules/fd-slicer": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", +- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", +- "dev": true, +- "license": "MIT", +- "dependencies": { +- "pend": "~1.2.0" +- } +- }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", +@@ -14054,14 +14034,16 @@ + } + }, + "node_modules/yauzl": { +- "version": "2.10.0", +- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", +- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", ++ "version": "3.4.0", ++ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.4.0.tgz", ++ "integrity": "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==", + "dev": true, + "license": "MIT", + "dependencies": { +- "buffer-crc32": "~0.2.3", +- "fd-slicer": "~1.1.0" ++ "pend": "~1.2.0" ++ }, ++ "engines": { ++ "node": ">=12" + } + }, + "node_modules/yn": { +diff --git a/src/node/desktop/package.json b/src/node/desktop/package.json +index 613361f..c18514f 100644 +--- a/src/node/desktop/package.json ++++ b/src/node/desktop/package.json +@@ -85,5 +85,8 @@ + "vue": "3.5.29", + "winston": "3.19.0", + "winston-syslog": "2.7.1" ++ }, ++ "overrides": { ++ "yauzl": "^3.3.1" + } + } diff --git a/pkgs/by-name/rs/rstudio/package.nix b/pkgs/by-name/rs/rstudio/package.nix index 490111062d5a..c0f40c003651 100644 --- a/pkgs/by-name/rs/rstudio/package.nix +++ b/pkgs/by-name/rs/rstudio/package.nix @@ -204,6 +204,9 @@ stdenv.mkDerivation (finalAttrs: { # Partly taken from https://github.com/rstudio/rstudio/pull/17470 ./electron-41.patch + # zip extraction fails on newer nodejs versions without this fix + ./bump-yauzl.patch + # Hack RStudio to only use the input R and provided libclang. (replaceVars ./r-location.patch { R = lib.getBin R; @@ -254,7 +257,7 @@ stdenv.mkDerivation (finalAttrs: { name = "rstudio-${finalAttrs.version}-npm-deps"; inherit (finalAttrs) src patches; postPatch = "cd ${finalAttrs.npmRoot}"; - hash = "sha256-MuTY+vjtbgbk73dm6bsCUmi34z/HCDnB5/RLkZ/rrVo="; + hash = "sha256-rdtnQKaOUp9jfWRA4BuEOyJn8emimiy+Kvxu1939H30="; }; preConfigure = ''