From e22d4ca4c4489c8e9b12e8b6ea3f17999eed4ece Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 17 Dec 2015 16:27:32 +0100 Subject: [PATCH] gnu: Add r-rcpparmadillo. * gnu/packages/maths.scm (armadillo-for-rcpparmadillo): New variable. * gnu/packages/statistics.scm (r-rcpparmadillo): New variable. --- gnu/packages/maths.scm | 11 ++++++++++ gnu/packages/statistics.scm | 43 +++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 0d66b9fc69f23fea05c2d86808e0743848ae9f9a..e7a7b7c4b9d6b2f77ff1aa1b4589687348450911 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 0ffd4955bbc9d57329ea6ee5dc29cebd937ef0d2..64ea551ffb6609548105606d3f79ac475f67543a 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+)))