summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-02-12 12:58:11 +0100
committerRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-02-16 16:35:41 +0100
commitcb7e486797df42bb971178918e84741ced3e6528 (patch)
tree18ab0b0e2d3c11a28caa0046c2e61a54f1464932
parentd3d656c5fbd9345e7f9d62564a06d1672300625c (diff)
downloadguix-cb7e486797df42bb971178918e84741ced3e6528.tar.gz
gnu: Add R.
* gnu/packages/statistics.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
* guix/download.scm (%mirrors): Add CRAN mirrors.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/statistics.scm108
-rw-r--r--guix/download.scm10
3 files changed, 119 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 04e93452ba..73c3771f73 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -260,6 +260,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 0000000000..acf7b7851d
--- /dev/null
+++ b/gnu/packages/statistics.scm
@@ -0,0 +1,108 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(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
+     `(#:phases
+       (alist-cons-before
+        'check 'set-timezone
+        ;; Some tests require the timezone to be set.
+        (lambda _ (setenv "TZ" "UTC"))
+        %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
+     `(("bzip2" ,bzip2)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("texlive" ,texlive) ; needed to make vignettes
+       ("texinfo" ,texinfo) ; for building HTML manuals
+       ("which" ,which) ; for tests/Examples/base-Ex.R
+       ("xz" ,xz)))
+    (inputs
+     `(("atlas" ,atlas) ; --with-blas
+       ("cairo" ,cairo)
+       ("gfortran" ,gfortran-4.8)
+       ("icu4c" ,icu4c)
+       ("icedtea6" ,icedtea6)
+       ("lapack" ,lapack)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("libxt" ,libxt)
+       ("pcre" ,pcre)
+       ("readline" ,readline)
+       ("zlib" ,zlib)))
+    (home-page "http://www.r-project.org/")
+    (synopsis "Environment for statistical computing and graphics")
+    (description
+     "R is a language and environment for statistical computing and graphics.
+It provides a variety of statistical techniques, such as linear and nonlinear
+modeling, classical statistical tests, time-series analysis, classification
+and clustering.  It also provides robust support for producing
+publication-quality data plots.  A large amount of 3rd-party packages are
+available, greatly increasing its breadth and scope.")
+    (license license:gpl3+)))
diff --git a/guix/download.scm b/guix/download.scm
index 9a1897525b..d87d02e2af 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)