* [PATCH v1]: gnu: Add R.
@ 2015-02-13 11:59 Ricardo Wurmus
2015-02-13 13:15 ` Ricardo Wurmus
2015-02-13 23:22 ` Ludovic Courtès
0 siblings, 2 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2015-02-13 11:59 UTC (permalink / raw)
To: Guix-devel
[-- 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v1]: gnu: Add R.
2015-02-13 11:59 [PATCH v1]: gnu: Add R Ricardo Wurmus
@ 2015-02-13 13:15 ` Ricardo Wurmus
2015-02-13 13:20 ` David Thompson
2015-02-13 23:22 ` Ludovic Courtès
1 sibling, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2015-02-13 13:15 UTC (permalink / raw)
To: Guix-devel
[-- Attachment #1: Type: text/plain, Size: 486 bytes --]
Ricardo Wurmus writes:
> 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?
Thanks to effa` on IRC I was able to fix it by setting the TZ variable.
Attached is the updated patch.
~~ Ricardo
[-- Attachment #2: 0001-gnu-Add-R.patch --]
[-- Type: text/x-patch, Size: 6412 bytes --]
From 79df400084e15de6388c832ae3d1791e5d0c8519 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 | 112 ++++++++++++++++++++++++++++++++++++++++++++
guix/download.scm | 10 ++++
3 files changed, 123 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..ff49b83
--- /dev/null
+++ b/gnu/packages/statistics.scm
@@ -0,0 +1,112 @@
+;;; 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
+ `(("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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v1]: gnu: Add R.
2015-02-13 13:15 ` Ricardo Wurmus
@ 2015-02-13 13:20 ` David Thompson
0 siblings, 0 replies; 5+ messages in thread
From: David Thompson @ 2015-02-13 13:20 UTC (permalink / raw)
To: Ricardo Wurmus, Guix-devel
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> writes:
> Ricardo Wurmus writes:
>
>> 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?
>
> Thanks to effa` on IRC I was able to fix it by setting the TZ variable.
Awesome work! LGTM!
--
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1]: gnu: Add R.
2015-02-13 11:59 [PATCH v1]: gnu: Add R Ricardo Wurmus
2015-02-13 13:15 ` Ricardo Wurmus
@ 2015-02-13 23:22 ` Ludovic Courtès
2015-02-16 15:37 ` Ricardo Wurmus
1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2015-02-13 23:22 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: Guix-devel
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
> + (inputs
> + `(("atlas" ,atlas) ; --with-blas
> + ("bzip2" ,bzip2)
Unless used for libbz2, move it to ‘native-inputs’.
> + ("perl" ,perl)
Likewise.
> + ("texlive" ,texlive) ; needed to make vignettes
> + ("texinfo" ,texinfo) ; for building HTML manuals
> + ("which" ,which) ; for tests/Examples/base-Ex.R
These 3 are definitely native inputs.
> + ("xz" ,xz)
Most likely native input.
> + (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
‘guix lint’ should propose you a synopsis and description; could you use
them?
The rest LGTM.
Thanks for the good work!
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1]: gnu: Add R.
2015-02-13 23:22 ` Ludovic Courtès
@ 2015-02-16 15:37 ` Ricardo Wurmus
0 siblings, 0 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2015-02-16 15:37 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel
Ludovic Courtès writes:
> Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
>
>> + (inputs
>> + `(("atlas" ,atlas) ; --with-blas
>> + ("bzip2" ,bzip2)
>
> Unless used for libbz2, move it to ‘native-inputs’.
>
>> + ("perl" ,perl)
>
> Likewise.
>
>> + ("texlive" ,texlive) ; needed to make vignettes
>> + ("texinfo" ,texinfo) ; for building HTML manuals
>> + ("which" ,which) ; for tests/Examples/base-Ex.R
>
> These 3 are definitely native inputs.
>
>> + ("xz" ,xz)
>
> Most likely native input.
I fixed the inputs vs native-inputs issues. Sorry about that.
>> + (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
>
> ‘guix lint’ should propose you a synopsis and description; could you use
> them?
>
> The rest LGTM.
I've taken over the description and synopsis suggested by "guix lint"
and pushed the patch.
Thanks again for the review!
~~ Ricardo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-02-16 15:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-13 11:59 [PATCH v1]: gnu: Add R Ricardo Wurmus
2015-02-13 13:15 ` Ricardo Wurmus
2015-02-13 13:20 ` David Thompson
2015-02-13 23:22 ` Ludovic Courtès
2015-02-16 15:37 ` Ricardo Wurmus
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.