diff options
author | Peter Simons <simons@cryp.to> | 2013-07-04 11:35:57 +0200 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2013-07-04 13:42:47 +0200 |
commit | 91855156111c56b4e8726e2ae8eb1e27e21bdfd4 (patch) | |
tree | 50c034c2b8b151291343ea5cd28acac14d3e4400 /pkgs/applications/science | |
parent | 1f9005a3f6bb6586c809e0feb71a5b39e5690499 (diff) | |
download | nixlib-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')
-rw-r--r-- | pkgs/applications/science/math/R/default.nix | 57 | ||||
-rw-r--r-- | pkgs/applications/science/math/R/no-usr-local-search-paths.patch | 24 |
2 files changed, 78 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 ]; }; diff --git a/pkgs/applications/science/math/R/no-usr-local-search-paths.patch b/pkgs/applications/science/math/R/no-usr-local-search-paths.patch new file mode 100644 index 000000000000..6c7f6d4ee02a --- /dev/null +++ b/pkgs/applications/science/math/R/no-usr-local-search-paths.patch @@ -0,0 +1,24 @@ +diff -ubr R-3.0.1-orig/configure R-3.0.1/configure +--- R-3.0.1-orig/configure 2013-07-04 10:46:42.336133947 +0200 ++++ R-3.0.1/configure 2013-07-04 10:46:17.181919960 +0200 +@@ -3800,13 +3800,13 @@ + : ${LIBnn=$libnn} + ## We provide these defaults so that headers and libraries in + ## '/usr/local' are found (by the native tools, mostly). +-if test -f "/sw/etc/fink.conf"; then +- : ${CPPFLAGS="-I/sw/include -I/usr/local/include"} +- : ${LDFLAGS="-L/sw/lib -L/usr/local/lib"} +-else +- : ${CPPFLAGS="-I/usr/local/include"} +- : ${LDFLAGS="-L/usr/local/${LIBnn}"} +-fi ++# if test -f "/sw/etc/fink.conf"; then ++# : ${CPPFLAGS="-I/sw/include -I/usr/local/include"} ++# : ${LDFLAGS="-L/sw/lib -L/usr/local/lib"} ++# else ++# : ${CPPFLAGS="-I/usr/local/include"} ++# : ${LDFLAGS="-L/usr/local/${LIBnn}"} ++# fi + + ## take care not to override the command-line setting + if test "${libdir}" = '${exec_prefix}/lib'; then |