about summary refs log tree commit diff
path: root/pkgs/applications/editors/rstudio/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/rstudio/default.nix')
-rw-r--r--pkgs/applications/editors/rstudio/default.nix58
1 files changed, 31 insertions, 27 deletions
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 86fb972e94c3..27c956dcd14e 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -1,43 +1,49 @@
-{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost
-, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, qtxmlpatterns, libuuid
-, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
+{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib
+, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel
+, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
+, llvmPackages
 }:
 
 let
   verMajor = "1";
-  verMinor = "1";
-  verPatch = "463";
+  verMinor = "2";
+  verPatch = "1335";
   version = "${verMajor}.${verMinor}.${verPatch}";
-  ginVer = "1.5";
-  gwtVer = "2.7.0";
+  ginVer = "2.1.2";
+  gwtVer = "2.8.1";
 in
 stdenv.mkDerivation rec {
   name = "RStudio-${version}";
 
   nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ];
 
-  buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel
-                  qtxmlpatterns libuuid ];
+  buildInputs = [ boost zlib openssl R qtbase qtxmlpatterns qtsensors
+                  qtwebengine qtwebchannel libuuid ];
 
   src = fetchFromGitHub {
     owner = "rstudio";
     repo = "rstudio";
     rev = "v${version}";
-    sha256 = "014g984znsczzy1fyn9y1ly3rbsngryfs674lfgciz60mqnl8im6";
+    sha256 = "0jv1d4yznv2lzwp0fdf377vqpg0k2q4z9qvji4sj86fabj835lqd";
   };
 
-  # Hack RStudio to only use the input R.
-  patches = [ ./r-location.patch ];
-  postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
+  # Hack RStudio to only use the input R and provided libclang.
+  patches = [ ./r-location.patch ./clang-location.patch ];
+  postPatch = ''
+    substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
+    substituteInPlace src/cpp/core/libclang/LibClang.cpp \
+      --replace '@clang@' ${llvmPackages.clang.cc} \
+      --replace '@libclang.so@' ${llvmPackages.clang.cc.lib}/lib/libclang.so
+  '';
 
   ginSrc = fetchurl {
     url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip";
-    sha256 = "155bjrgkf046b8ln6a55x06ryvm8agnnl7l8bkwwzqazbpmz8qgm";
+    sha256 = "16jzmljravpz6p2rxa87k5f7ir8vs7ya75lnfybfajzmci0p13mr";
   };
 
   gwtSrc = fetchurl {
     url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip";
-    sha256 = "1cs78z9a1jg698j2n35wsy07cy4fxcia9gi00x0r0qc3fcdhcrda";
+    sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb";
   };
 
   hunspellDictionaries = with stdenv.lib; filter isDerivation (attrValues hunspellDicts);
@@ -47,14 +53,11 @@ stdenv.mkDerivation rec {
     sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk";
   };
 
-  rstudiolibclang = fetchurl {
-    url = https://s3.amazonaws.com/rstudio-buildtools/libclang-3.5.zip;
-    sha256 = "1sl5vb8misipwbbbykdymw172w9qrh8xv3p29g0bf3nzbnv6zc7c";
-  };
-
-  rstudiolibclangheaders = fetchurl {
-    url = https://s3.amazonaws.com/rstudio-buildtools/libclang-builtin-headers.zip;
-    sha256 = "0x4ax186bm3kf098izwmsplckgx1kqzg9iiyzg95rpbqsb4593qb";
+  rsconnectSrc = fetchFromGitHub {
+    owner = "rstudio";
+    repo = "rsconnect";
+    rev = "984745d8";
+    sha256 = "037z0y32k1gdda192y5qn5hi7wp8wyap44mkjlklrgcqkmlcylb9";
   };
 
   preConfigure =
@@ -80,13 +83,14 @@ stdenv.mkDerivation rec {
       done
 
       unzip ${mathJaxSrc} -d dependencies/common/mathjax-26
-      mkdir -p dependencies/common/libclang/3.5
-      unzip ${rstudiolibclang} -d dependencies/common/libclang/3.5
-      mkdir -p dependencies/common/libclang/builtin-headers
-      unzip ${rstudiolibclangheaders} -d dependencies/common/libclang/builtin-headers
 
       mkdir -p dependencies/common/pandoc
       cp ${pandoc}/bin/pandoc dependencies/common/pandoc/
+
+      cp -r ${rsconnectSrc} dependencies/common/rsconnect
+      pushd dependencies/common
+      ${R}/bin/R CMD build -d --no-build-vignettes rsconnect
+      popd
     '';
 
   enableParallelBuilding = true;