diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 5ceefb87af0..fd391b988c9 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 00000000000..6c7f6d4ee02 --- /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