1717 git ,
1818 jdk ,
1919 makeWrapper ,
20- nodejs_22 ,
20+ nodejs ,
2121 npmHooks ,
2222 xcbuild ,
2323 yarn ,
2424 yarnConfigHook ,
2525 zip ,
2626
2727 boost187 ,
28- electron_37 ,
28+ electron_38 ,
2929 fontconfig ,
3030 gnumake ,
3131 hunspellDicts ,
4444} :
4545
4646let
47- # nodejs_24 has npm v11, which broke the lockfile
48- # let's just use nodejs_22 for now
49- nodejs = nodejs_22 ;
50-
51- electron = electron_37 ;
47+ electron = electron_38 ;
5248
5349 mathJaxSrc = fetchzip {
5450 url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-27.zip" ;
6662 owner = "quarto-dev" ;
6763 repo = "quarto" ;
6864 # Note: rev should ideally be the last commit of the release/rstudio-[codename] branch
69- # Note: This is the last working revision, because https://github.com/quarto-dev/quarto/pull/757
70- # started using `file:` in the lockfile, which our fetcher can't handle
71- rev = "faef822a085df65809adf55fb77c273e9cdb87b9" ;
72- hash = "sha256-DLpVYl0OkaBQtkFinJAS2suZ8gqx9BVS5HBaYrrT1HA=" ;
65+ rev = "591b3520eafbb4da7b26b9f31aac6948801f19d8" ;
66+ hash = "sha256-scdm66Ekfjp5wdNDXcVZA5ZhNgFvuf/kIBF56HrE8uM=" ;
7367 } ;
7468
7569 hunspellDictionaries = lib . filter lib . isDerivation ( lib . unique ( lib . attrValues hunspellDicts ) ) ;
9185in
9286stdenv . mkDerivation rec {
9387 pname = "RStudio" ;
94- version = "2025.09.2+418 " ;
88+ version = "2026.01.0+392 " ;
9589
9690 src = fetchFromGitHub {
9791 owner = "rstudio" ;
9892 repo = "rstudio" ;
9993 tag = "v${ version } " ;
100- hash = "sha256-UFhvNLamKZQ9IBjEtDvSPOUILqGphDDOVb7ZZ8dnfVU =" ;
94+ hash = "sha256-Q79uoNKh4plRFTe3uOTr27Hh/fMMkCbRPveZyq7cHQk =" ;
10195 } ;
10296
10397 # sources fetched into _deps via cmake's FetchContent
@@ -129,7 +123,7 @@ stdenv.mkDerivation rec {
129123 dontBuild = true ;
130124 dontFixup = true ;
131125
132- outputHash = "sha256-pXpp42hjjKrV75f2XLDYK7A9lrvWhuQBDJ0oymXE8Fg =" ;
126+ outputHash = "sha256-t2kWnviFMw7TdxaJpiGDXe0M5HSIGD7o5hqWiPKUdOc =" ;
133127 outputHashAlgo = "sha256" ;
134128 outputHashMode = "recursive" ;
135129 } ;
@@ -240,7 +234,7 @@ stdenv.mkDerivation rec {
240234
241235 yarnOfflineCache = fetchYarnDeps {
242236 src = quartoSrc ;
243- hash = "sha256-9ObJ3fzxPyGVfIgBj4BhCWqkrG1A2JqZsCreJA+1fWQ =" ;
237+ hash = "sha256-XRxClyAaz3ja+Tr97aoqVxKhWOxezZ6OmEPGILdeOww =" ;
244238 } ;
245239
246240 dontYarnInstallDeps = true ; # will call manually in preConfigure
@@ -256,7 +250,7 @@ stdenv.mkDerivation rec {
256250 name = "rstudio-${ version } -npm-deps" ;
257251 inherit src ;
258252 postPatch = "cd ${ npmRoot } " ;
259- hash = "sha256-/5GgRusDRyBMr5581ypTMzhqkvjpzYBaniFos524bEw =" ;
253+ hash = "sha256-7gXLCFhan/TCTlc2okMWuWzfRYXmuwcqhmGKAqJOEM0 =" ;
260254 } ;
261255
262256 preConfigure = ''
@@ -290,10 +284,14 @@ stdenv.mkDerivation rec {
290284 # version in dependencies/common/install-mathjax
291285 ln -s ${ mathJaxSrc } dependencies/mathjax-27
292286
287+ # node used by cmake and node used for distribution
288+ # version in cmake/globals.cmake
289+ RSTUDIO_NODE_VERSION="22.13.1"
290+ RSTUDIO_INSTALLED_NODE_VERSION="22.21.1"
291+
293292 mkdir -p dependencies/common/node
294- # node used by cmake
295- # version in cmake/globals.cmake (RSTUDIO_NODE_VERSION)
296- ln -s ${ nodejs } dependencies/common/node/22.13.1
293+ ln -s ${ nodejs } dependencies/common/node/$RSTUDIO_NODE_VERSION
294+ ln -s ${ nodejs } dependencies/common/node/$RSTUDIO_INSTALLED_NODE_VERSION-installed
297295
298296 ''
299297 + lib . optionalString ( ! server ) ''
@@ -320,11 +318,6 @@ stdenv.mkDerivation rec {
320318 substituteInPlace node_modules/@electron/packager/dist/packager.js \
321319 --replace-fail "await this.getElectronZipPath(downloadOpts)" "'$(pwd)/electron.zip'"
322320
323- # Work around known nan issue for electron_33 and above
324- # https://github.com/nodejs/nan/issues/978
325- substituteInPlace node_modules/nan/nan.h \
326- --replace-fail '#include "nan_scriptorigin.h"' ""
327-
328321 # now that we patched everything, we still have to run the scripts we ignored with --ignore-scripts
329322 npm rebuild
330323
@@ -335,7 +328,7 @@ stdenv.mkDerivation rec {
335328 mkdir -p $out/bin
336329 ''
337330 + lib . optionalString ( server && stdenv . hostPlatform . isLinux ) ''
338- ln -s $out/lib/rstudio/bin/{crash-handler-proxy, postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server} $out/bin
331+ ln -s $out/lib/rstudio/bin/{postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server} $out/bin
339332 ''
340333 + lib . optionalString ( ! server && stdenv . hostPlatform . isLinux ) ''
341334 # remove unneeded electron files, since we'll wrap the app with our own electron
@@ -350,7 +343,7 @@ stdenv.mkDerivation rec {
350343 ln -s $out/lib/rstudio/resources/app/bin/{diagnostics,rpostback} $out/bin
351344 ''
352345 + lib . optionalString ( server && stdenv . hostPlatform . isDarwin ) ''
353- ln -s $out/Applications/RStudio.app/Contents/MacOS/{crash-handler-proxy, postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server} $out/bin
346+ ln -s $out/Applications/RStudio.app/Contents/MacOS/{postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server} $out/bin
354347 ''
355348 + lib . optionalString ( ! server && stdenv . hostPlatform . isDarwin ) ''
356349 # electron can't find its files if we use a symlink here
0 commit comments