summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-12-17 16:27:32 +0100
committerRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-12-21 16:05:37 +0100
commite22d4ca4c4489c8e9b12e8b6ea3f17999eed4ece (patch)
treefdb002a88ae0610243f2a5d916780ba8aab43bb2
parentb15e47f9e6dd069ae237ee337207a636fffb407e (diff)
downloadguix-e22d4ca4c4489c8e9b12e8b6ea3f17999eed4ece.tar.gz
gnu: Add r-rcpparmadillo.
* gnu/packages/maths.scm (armadillo-for-rcpparmadillo): New variable.
* gnu/packages/statistics.scm (r-rcpparmadillo): New variable.
-rw-r--r--gnu/packages/maths.scm11
-rw-r--r--gnu/packages/statistics.scm43
2 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0d66b9fc69..e7a7b7c4b9 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1451,6 +1451,17 @@ provides efficient classes for vectors, matrices and cubes, as well as 150+
 associated functions (eg. contiguous and non-contiguous submatrix views).")
     (license license:mpl2.0)))
 
+(define-public armadillo-for-rcpparmadillo
+  (package (inherit armadillo)
+    (version "6.200.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/arma/armadillo-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1f69rlqhnf2wv8khyn2a8vi6gx1i72qgfy8b9b760ssk85dcl763"))))))
+
 (define-public muparser
   (package
     (name "muparser")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0ffd4955bb..64ea551ffb 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1342,3 +1342,46 @@ visualization system inspired by Trellis graphics, with an emphasis on
 multivariate data.  Lattice is sufficient for typical graphics needs, and is
 also flexible enough to handle most nonstandard requirements.")
     (license license:gpl2+)))
+
+(define-public r-rcpparmadillo
+  (package
+    (name "r-rcpparmadillo")
+    (version "0.6.200.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "RcppArmadillo" version))
+              (sha256
+               (base32
+                "137wqqga776yj6synx5awhrzgkz7mmqnvgmggh9l4k6d99vwp9gj"))
+              (modules '((guix build utils)))
+              ;; Remove bundled armadillo sources
+              (snippet
+               '(begin
+                  (delete-file-recursively "inst/include/armadillo_bits")
+                  (delete-file "inst/include/armadillo")))))
+    (properties `((upstream-name . "RcppArmadillo")))
+    (build-system r-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'link-against-armadillo
+           (lambda _
+             (substitute* "src/Makevars"
+               (("PKG_LIBS=" prefix)
+                (string-append prefix "-larmadillo"))))))))
+    (propagated-inputs
+     `(("r-rcpp" ,r-rcpp)
+       ("armadillo" ,armadillo-for-rcpparmadillo)))
+    (home-page "https://github.com/RcppCore/RcppArmadillo")
+    (synopsis "Rcpp integration for the Armadillo linear algebra library")
+    (description
+     "Armadillo is a templated C++ linear algebra library that aims towards a
+good balance between speed and ease of use.  Integer, floating point and
+complex numbers are supported, as well as a subset of trigonometric and
+statistics functions.  Various matrix decompositions are provided through
+optional integration with LAPACK and ATLAS libraries.  This package includes
+the header files from the templated Armadillo library.")
+    ;; Armadillo is licensed under the MPL 2.0, while RcppArmadillo (the Rcpp
+    ;; bindings to Armadillo) is licensed under the GNU GPL version 2 or
+    ;; later, as is the rest of 'Rcpp'.
+    (license license:gpl2+)))