summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorKyle Andrews <kyle@posteo.net>2023-04-01 04:57:01 +0000
committerRicardo Wurmus <rekado@elephly.net>2023-04-04 18:51:02 +0200
commitaf672595ffb948d5449bf3aacaefe84a89ac0bd6 (patch)
treed22f88a0ffea09ce7cfde1560a201d57d0cc1c61 /gnu
parent0e50fa6b00f598258cea1a08421afb8c0e4b1a60 (diff)
downloadguix-af672595ffb948d5449bf3aacaefe84a89ac0bd6.tar.gz
gnu: Add r-future-callr.
* gnu/packages/cran.scm (r-future-callr): New variable.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cran.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 797b74a128..bed169219b 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -19310,6 +19310,38 @@ can be resolved using any future-supported backend, e.g. parallel on the local
 machine or distributed on a compute cluster.")
     (license license:gpl2+)))
 
+(define-public r-future-callr
+  (package
+    (name "r-future-callr")
+    (version "0.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "future.callr" version))
+              (sha256
+               (base32
+                "1w7wq2nrvj65a25nsb5h99258p9565qwnlvcc07nyc21gm5zrg9k"))))
+    (properties `((upstream-name . "future.callr")))
+    (build-system r-build-system)
+    ;; This is needed for the vignette builder R.rsp.
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'set-HOME
+            (lambda _ (setenv "HOME" "/tmp"))))))
+    (propagated-inputs (list r-callr r-future))
+    (native-inputs (list r-markdown r-r-rsp))
+    (home-page "https://future.callr.futureverse.org")
+    (synopsis "Future API for Parallel Processing using 'callr'")
+    (description
+     "This is an implementation of the Future API on top of the callr package.
+This allows you to process futures, as defined by the future package, in
+parallel out of the box, on your local machine.  Contrary to backends relying
+on the parallel package (e.g. @code{future::multisession}) and socket
+connections, the callr backend provided here can run more than 125 parallel R
+processes.")
+    (license license:lgpl2.1+)))
+
 (define-public r-rsvd
   (package
     (name "r-rsvd")