summary refs log tree commit diff
path: root/pkgs/applications/science/math/R/default.nix
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-07-04 11:35:57 +0200
committerPeter Simons <simons@cryp.to>2013-07-04 13:42:47 +0200
commit91855156111c56b4e8726e2ae8eb1e27e21bdfd4 (patch)
tree50c034c2b8b151291343ea5cd28acac14d3e4400 /pkgs/applications/science/math/R/default.nix
parent1f9005a3f6bb6586c809e0feb71a5b39e5690499 (diff)
downloadnixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.tar
nixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.tar.gz
nixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.tar.bz2
nixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.tar.lz
nixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.tar.xz
nixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.tar.zst
nixlib-91855156111c56b4e8726e2ae8eb1e27e21bdfd4.zip
R: add various features
 * Ensure that R can link blas, liblapack, and libgfortran at run-time.
 * Ensure that R can run the Tcl/Tk interpreter.
 * Add Java support.
 * Install texinfo and PDF documentation.
Diffstat (limited to 'pkgs/applications/science/math/R/default.nix')
-rw-r--r--pkgs/applications/science/math/R/default.nix57
1 files changed, 54 insertions, 3 deletions
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 5ceefb87af00..fd391b988c9a 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, blas, bzip2, gfortran, liblapack, libX11, libXmu, libXt
 , libjpeg, libpng, libtiff, ncurses, pango, pcre, perl, readline, tcl
-, texLive, tk, xz, zlib, less, texinfo, graphviz
+, texLive, tk, xz, zlib, less, texinfo, graphviz, icu, pkgconfig, bison
+, imake, which, jdk, atlas
 }:
 
 stdenv.mkDerivation rec {
@@ -13,15 +14,65 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
     libXt libjpeg libpng libtiff ncurses pango pcre perl readline tcl
-    texLive tk xz zlib less texinfo graphviz ];
+    texLive tk xz zlib less texinfo graphviz icu pkgconfig bison imake
+    which jdk atlas
+  ];
+
+  patches = [ ./no-usr-local-search-paths.patch ];
+
+  preConfigure = ''
+    configureFlagsArray=(
+      --disable-lto
+      --with-blas="-L${atlas}/lib -lf77blas -latlas"
+      --with-lapack="-L${liblapack}/lib -llapack"
+      --with-readline
+      --with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
+      --with-cairo
+      --with-libpng
+      --with-jpeglib
+      --with-libtiff
+      --with-system-zlib
+      --with-system-bzlib
+      --with-system-pcre
+      --with-system-xz
+      --with-ICU
+      R_SHELL="${stdenv.shell}"
+      JAVA_HOME="${jdk}"
+      LDFLAGS="-L${gfortran.gcc}/lib"
+    )
+    echo "TCLLIBPATH=${tk}/lib" >>etc/Renviron.in
+  '';
+
+  installTargets = [ "install" "install-info" "install-pdf" ];
+
+  doCheck = true;
 
   enableParallelBuilding = true;
 
   meta = {
-    description = "a free software environment for statistical computing and graphics";
     homepage = "http://www.r-project.org/";
+    description = "a free software environment for statistical computing and graphics";
     license = stdenv.lib.licenses.gpl2Plus;
 
+    longDescription = ''
+      GNU R is a language and environment for statistical computing and
+      graphics that provides a wide variety of statistical (linear and
+      nonlinear modelling, classical statistical tests, time-series
+      analysis, classification, clustering, ...) and graphical
+      techniques, and is highly extensible. One of R's strengths is the
+      ease with which well-designed publication-quality plots can be
+      produced, including mathematical symbols and formulae where
+      needed. R is an integrated suite of software facilities for data
+      manipulation, calculation and graphical display. It includes an
+      effective data handling and storage facility, a suite of operators
+      for calculations on arrays, in particular matrices, a large,
+      coherent, integrated collection of intermediate tools for data
+      analysis, graphical facilities for data analysis and display
+      either on-screen or on hardcopy, and a well-developed, simple and
+      effective programming language which includes conditionals, loops,
+      user-defined recursive functions and input and output facilities.
+    '';
+
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };