[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 04/18] gnu: Add r-spams.
From: |
Ricardo Wurmus |
Subject: |
[PATCH 04/18] gnu: Add r-spams. |
Date: |
Thu, 24 Nov 2016 17:51:25 +0100 |
* gnu/packages/statistics.scm (r-spams): New variable.
---
gnu/packages/statistics.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0ba3316..dcf6dbe 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -3342,6 +3342,58 @@ character vector.")
from within R.")
(license license:expat)))
+(define-public r-spams
+ (package
+ (name "r-spams")
+ (version "2.5-svn2014-07-04")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gforge.inria.fr/frs/download.php/33815/"
+ "spams-R-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k459jg9a334slkw31w63l4d39xszjzsng7dv5j1mp78zifz7hvx"))))
+ (build-system r-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "spams") #t))
+ ;; Since R 3.3.0 including R headers inside of an extern "C" block
+ ;; causes C headers to be included, which results in a lot of
+ ;; duplicate definitions. This can be avoided by defining
+ ;; NO_C_HEADERS before including the R headers.
+ (add-after 'chdir 'patch-use-of-R-headers
+ (lambda _
+ (substitute* "src/spams.cpp"
+ (("#include <R.h>" line)
+ (string-append "#define NO_C_HEADERS\n" line)))
+ #t))
+ ;; This looks like a syntax error.
+ (add-after 'chdir 'patch-isnan
+ (lambda _
+ (substitute* '"src/spams/linalg/linalg.h"
+ (("if isnan\\(lambda\\) \\{")
+ "if (isnan(lambda)) {"))
+ #t)))))
+ (home-page "http://spams-devel.gforge.inria.fr")
+ (synopsis "Toolbox for solving sparse estimation problems")
+ (description "SPAMS (SPArse Modeling Software) is an optimization toolbox
+for solving various sparse estimation problems. It includes tools for the
+following problems:
+
address@hidden
address@hidden Dictionary learning and matrix factorization (NMF, sparse
@dfn{principle
+ component analysis} (PCA), ...)
address@hidden Solving sparse decomposition problems with LARS, coordinate
descent,
+ OMP, SOMP, proximal methods
address@hidden Solving structured sparse decomposition problems (l1/l2,
l1/linf, sparse
+ group lasso, tree-structured regularization, structured sparsity with
+ overlapping groups,...).
address@hidden enumerate\n")
+ (license license:gpl3+)))
+
(define-public r-rpart
(package
(name "r-rpart")
--
2.10.2
- [PATCH 00/18] Add R packages, Ricardo Wurmus, 2016/11/24
- [PATCH 01/18] gnu: Add r-rematch., Ricardo Wurmus, 2016/11/24
- [PATCH 02/18] gnu: Add r-cellranger., Ricardo Wurmus, 2016/11/24
- [PATCH 03/18] gnu: Add r-googlesheets., Ricardo Wurmus, 2016/11/24
- [PATCH 04/18] gnu: Add r-spams.,
Ricardo Wurmus <=
- [PATCH 05/18] gnu: Add r-r4rna., Ricardo Wurmus, 2016/11/24
- [PATCH 06/18] gnu: Add r-dynamictreecut., Ricardo Wurmus, 2016/11/24
- [PATCH 07/18] gnu: Add r-preprocesscore., Ricardo Wurmus, 2016/11/24
- [PATCH 08/18] gnu: Add r-fastcluster., Ricardo Wurmus, 2016/11/24
- [PATCH 09/18] gnu: Add r-wgcna., Ricardo Wurmus, 2016/11/24
- [PATCH 10/18] gnu: Add r-sfsmisc., Ricardo Wurmus, 2016/11/24