>From d2839cb8b65049990964bdfd20c890db5a8e453b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 12 Feb 2015 12:58:11 +0100 Subject: [PATCH] gnu: Add R. * gnu/packages/statistics.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it * guix/download.scm (%mirrors): Add CRAN mirrors. --- gnu-system.am | 1 + gnu/packages/statistics.scm | 124 ++++++++++++++++++++++++++++++++++++++++++++ guix/download.scm | 10 ++++ 3 files changed, 135 insertions(+) create mode 100644 gnu/packages/statistics.scm diff --git a/gnu-system.am b/gnu-system.am index 1a68b8b..0348bf1 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -257,6 +257,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/socat.scm \ gnu/packages/ssh.scm \ gnu/packages/stalonetray.scm \ + gnu/packages/statistics.scm \ gnu/packages/swig.scm \ gnu/packages/sxiv.scm \ gnu/packages/synergy.scm \ diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm new file mode 100644 index 0000000..a0527bf --- /dev/null +++ b/gnu/packages/statistics.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages statistics) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages java) + #:use-module (gnu packages maths) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) + #:use-module (gnu packages texlive) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages which) + #:use-module (gnu packages xorg)) + +(define-public r + (package + (name "r") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cran/src/base/R-" + (version-prefix version 1) "/R-" + version ".tar.gz")) + (sha256 + (base32 + "0ypsm11c7n49pgh2ricyhhpfhas3famscdazzdp2zq70rapm1ldw")))) + (build-system gnu-build-system) + (arguments + `(;; Tests fail probably because of locale issues: + ;; > tm <- seq(as.POSIXct("2012-06-01 06:00"), by = "6 hours", length.out = 24) + ;; Error in as.POSIXlt.character(x, tz, ...) : + ;; character string is not in a standard unambiguous format + #:tests? #f + #:phases + ;; XXX This phase doesn't fix the tests. + (alist-cons-before + 'check 'install-locales + (lambda _ + ;; A bunch of tests require the availability of a UTF-8 + ;; locale and otherwise fail. Give them what they want. + (setenv "LOCPATH" (getcwd)) + (setenv "LANG" "en_US.UTF-8") + (zero? (system* "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "UTF-8" "./en_US.UTF-8"))) + %standard-phases) + #:configure-flags + '("--with-blas" + "--with-lapack" + "--with-cairo" + "--with-libpng" + "--with-jpeglib" + "--with-libtiff" + "--with-ICU" + "--enable-R-shlib" + "--enable-BLAS-shlib" + "--with-system-zlib" + "--with-system-bzlib" + "--with-system-pcre" + "--with-system-tre" + "--with-system-xz"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("atlas" ,atlas) ; --with-blas + ("bzip2" ,bzip2) + ("cairo" ,cairo) + ("gfortran" ,gfortran-4.8) + ("icu4c" ,icu4c) + ("icedtea6" ,icedtea6) + ("lapack" ,lapack) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libxt" ,libxt) + ("pcre" ,pcre) + ("perl" ,perl) + ("readline" ,readline) + ("texlive" ,texlive) ; needed to make vignettes + ("texinfo" ,texinfo) ; for building HTML manuals + ("which" ,which) ; for tests/Examples/base-Ex.R + ("xz" ,xz) + ("zlib" ,zlib))) + (home-page "http://www.r-project.org/") + (synopsis "Language and environment for statistical computing and graphics") + (description + "R is a language and environment for statistical computing and graphics. +R is similar to the award-winning S system, which was developed at Bell +Laboratories by John Chambers et al. It provides a wide variety of +statistical and graphical techniques (linear and nonlinear modelling, +statistical tests, time series analysis, classification, clustering, ...). + +R is designed as a true computer language with control-flow constructions for +iteration and alternation, and it allows users to add additional functionality +by defining new functions. For computationally intensive tasks, C, C++ and +Fortran code can be linked and called at run time.") + (license license:gpl3+))) diff --git a/guix/download.scm b/guix/download.scm index 9a18975..d87d02e 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -164,6 +164,16 @@ "ftp://ftp.nara.wide.ad.jp/pub/CPAN/" "http://mirrors.163.com/cpan/" "ftp://cpan.mirror.ac.za/") + (cran + ;; Arbitrary mirrors from http://cran.r-project.org/mirrors.html + ;; This one automatically redirects to servers worldwide + "http://cran.rstudio.com/" + "http://cran.univ-lyon1.fr/" + "http://cran.r-mirror.de/" + "http://cran.ism.ac.jp/" + "http://cran.stat.auckland.ac.nz/" + "http://cran.mirror.ac.za/" + "http://cran.csie.ntu.edu.tw/") (imagemagick ;; from http://www.imagemagick.org/script/download.php ;; (without mirrors that are unavailable or not up to date) -- 2.1.0