From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
To: Guix-devel <guix-devel@gnu.org>
Subject: [PATCH v1]: gnu: Add R.
Date: Fri, 13 Feb 2015 12:59:42 +0100 [thread overview]
Message-ID: <idj8ug2konl.fsf@bimsb-sys02.mdc-berlin.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 501 bytes --]
Hi Guix,
attached is a patch to add the statistics software R.
The test suite fails when using `guix build' but it's passing when run
in `guix environment --pure r' (where LANG is "en_GB.UTF-8"). Judging
from the error message I suspect that the failure is locale-related, but
I was not able to fix this by adding a build phase before `check'.
Do you have any ideas how to fix the test suite?
The patch also includes the definition of a new mirror for the R package
repository CRAN.
~~ Ricardo
[-- Attachment #2: 0001-gnu-Add-R.patch --]
[-- Type: text/x-patch, Size: 7078 bytes --]
From d2839cb8b65049990964bdfd20c890db5a8e453b Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
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 <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
+ `(;; 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
next reply other threads:[~2015-02-13 12:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-13 11:59 Ricardo Wurmus [this message]
2015-02-13 13:15 ` [PATCH v1]: gnu: Add R Ricardo Wurmus
2015-02-13 13:20 ` David Thompson
2015-02-13 23:22 ` Ludovic Courtès
2015-02-16 15:37 ` Ricardo Wurmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=idj8ug2konl.fsf@bimsb-sys02.mdc-berlin.net \
--to=ricardo.wurmus@mdc-berlin.de \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.