2015-06-29 02:42:31 +02:00
|
|
|
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
|
|
|
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
|
|
|
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
|
|
|
|
, curl, Cocoa, Foundation, cf-private, libobjc, tzdata
|
2014-05-04 21:12:34 +02:00
|
|
|
, withRecommendedPackages ? true
|
2016-01-17 11:06:03 +01:00
|
|
|
, enableStrictBarrier ? false
|
2013-05-23 11:35:54 +02:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2017-02-26 22:26:12 +01:00
|
|
|
name = "R-3.3.3";
|
2013-05-23 11:35:54 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
2013-09-25 16:40:47 +02:00
|
|
|
url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
|
2017-02-26 22:26:12 +01:00
|
|
|
sha256 = "0v7wpj89b0i3ad3fi1wak5c93hywmbxv8sdnixhq8l17782nidss";
|
2013-05-23 11:35:54 +02:00
|
|
|
};
|
|
|
|
|
2017-02-26 22:26:12 +01:00
|
|
|
buildInputs = [
|
|
|
|
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
|
|
|
|
pango pcre perl readline texLive xz zlib less texinfo graphviz icu
|
|
|
|
pkgconfig bison imake which jdk openblas curl
|
|
|
|
] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ tcl tk ]
|
2015-06-29 02:42:31 +02:00
|
|
|
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation cf-private libobjc ];
|
2013-07-04 11:35:57 +02:00
|
|
|
|
2017-02-26 22:26:12 +01:00
|
|
|
patches = [ ./no-usr-local-search-paths.patch ];
|
2013-07-04 11:35:57 +02:00
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
configureFlagsArray=(
|
|
|
|
--disable-lto
|
2014-05-04 21:12:34 +02:00
|
|
|
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
|
2015-06-04 23:49:04 +02:00
|
|
|
--with-blas="-L${openblas}/lib -lopenblas"
|
|
|
|
--with-lapack="-L${openblas}/lib -lopenblas"
|
2013-07-04 11:35:57 +02:00
|
|
|
--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-ICU
|
2016-01-17 11:06:03 +01:00
|
|
|
${stdenv.lib.optionalString enableStrictBarrier "--enable-strict-barrier"}
|
2014-05-17 21:35:02 +02:00
|
|
|
--enable-R-shlib
|
2013-08-06 00:44:10 +02:00
|
|
|
AR=$(type -p ar)
|
|
|
|
AWK=$(type -p gawk)
|
|
|
|
CC=$(type -p gcc)
|
|
|
|
CXX=$(type -p g++)
|
|
|
|
FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran"
|
2013-07-04 11:35:57 +02:00
|
|
|
JAVA_HOME="${jdk}"
|
2013-08-06 00:44:10 +02:00
|
|
|
RANLIB=$(type -p ranlib)
|
|
|
|
R_SHELL="${stdenv.shell}"
|
2015-06-29 02:42:31 +02:00
|
|
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
|
|
|
--without-tcltk
|
|
|
|
--without-aqua
|
|
|
|
--disable-R-framework
|
|
|
|
CC="clang"
|
|
|
|
CXX="clang++"
|
|
|
|
OBJC="clang"
|
|
|
|
'' + ''
|
2013-07-04 11:35:57 +02:00
|
|
|
)
|
|
|
|
echo "TCLLIBPATH=${tk}/lib" >>etc/Renviron.in
|
|
|
|
'';
|
|
|
|
|
2017-02-26 22:26:12 +01:00
|
|
|
# This Darwin-specific patch has almost certainly become unnecessary. Can
|
|
|
|
# some Darwin user please verify that the R build still succeeds if this is
|
|
|
|
# removed?
|
2015-06-29 02:42:31 +02:00
|
|
|
postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
|
|
|
|
sed -i 's|/usr/share/zoneinfo|${tzdata}/share/zoneinfo|g' src/library/base/R/datetime.R
|
|
|
|
sed -i 's|getenv("R_SHARE_DIR")|"${tzdata}/share"|g' src/extra/tzone/localtime.c
|
|
|
|
'';
|
|
|
|
|
2013-07-04 11:35:57 +02:00
|
|
|
installTargets = [ "install" "install-info" "install-pdf" ];
|
|
|
|
|
2017-03-01 10:05:34 +01:00
|
|
|
doCheck = true;
|
|
|
|
preCheck = "bin/Rscript -e 'sessionInfo()'";
|
2013-05-23 11:35:54 +02:00
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2013-09-20 01:26:07 +02:00
|
|
|
setupHook = ./setup-hook.sh;
|
|
|
|
|
2017-02-26 22:26:12 +01:00
|
|
|
meta = with stdenv.lib; {
|
2013-05-23 11:35:54 +02:00
|
|
|
homepage = "http://www.r-project.org/";
|
2013-10-05 16:22:46 +02:00
|
|
|
description = "Free software environment for statistical computing and graphics";
|
2017-02-26 22:26:12 +01:00
|
|
|
license = licenses.gpl2Plus;
|
2013-05-23 11:35:54 +02:00
|
|
|
|
2013-07-04 11:35:57 +02:00
|
|
|
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.
|
|
|
|
'';
|
|
|
|
|
2017-02-26 22:26:12 +01:00
|
|
|
platforms = platforms.all;
|
|
|
|
hydraPlatforms = platforms.linux;
|
2014-12-03 14:47:37 +01:00
|
|
|
|
2017-02-26 22:26:12 +01:00
|
|
|
maintainers = [ maintainers.peti ];
|
2013-05-23 11:35:54 +02:00
|
|
|
};
|
|
|
|
}
|