summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2016-05-17 15:22:30 +0200
committerRicardo Wurmus <rekado@elephly.net>2016-12-17 15:56:48 +0100
commitb26abe4f148ea04145cb1f62122eb560b64a0139 (patch)
tree02f1878d6f2f038c295ed7a7a3fc49a7417380a1
parentad68f7fa58daeff542d2fba19f65928c1af5799b (diff)
downloadguix-b26abe4f148ea04145cb1f62122eb560b64a0139.tar.gz
import cran: Ignore default R packages.
* guix/import/cran.scm (default-r-packages): New variable.
(description->package): Drop default R packages from list of inputs.
-rw-r--r--guix/import/cran.scm44
1 files changed, 39 insertions, 5 deletions
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 313e26b03d..09796e0159 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -149,6 +149,38 @@ empty list when the FIELD cannot be found."
                         (string-any char-set:whitespace item)))
                   (map string-trim-both items))))))
 
+(define default-r-packages
+  (list "KernSmooth"
+        "MASS"
+        "Matrix"
+        "base"
+        "boot"
+        "class"
+        "cluster"
+        "codetools"
+        "compiler"
+        "datasets"
+        "foreign"
+        "grDevices"
+        "graphics"
+        "grid"
+        "lattice"
+        "methods"
+        "mgcv"
+        "nlme"
+        "nnet"
+        "parallel"
+        "rpart"
+        "spatial"
+        "splines"
+        "stats"
+        "stats4"
+        "survival"
+        "tcltk"
+        "tools"
+        "translations"
+        "utils"))
+
 (define (guix-name name)
   "Return a Guix package name for a given R package name."
   (string-append "r-" (string-map (match-lambda
@@ -180,11 +212,13 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
                        (_ #f)))
          (tarball    (with-store store (download-to-store store source-url)))
          (sysdepends (map string-downcase (listify meta "SystemRequirements")))
-         (propagate  (lset-union equal?
-                                 (listify meta "Imports")
-                                 (listify meta "LinkingTo")
-                                 (delete "R"
-                                         (listify meta "Depends")))))
+         (propagate  (filter (lambda (name)
+                               (not (member name default-r-packages)))
+                             (lset-union equal?
+                                         (listify meta "Imports")
+                                         (listify meta "LinkingTo")
+                                         (delete "R"
+                                                 (listify meta "Depends"))))))
     (values
      `(package
         (name ,(guix-name name))