From af672595ffb948d5449bf3aacaefe84a89ac0bd6 Mon Sep 17 00:00:00 2001 From: Kyle Andrews Date: Sat, 1 Apr 2023 04:57:01 +0000 Subject: [PATCH] gnu: Add r-future-callr. * gnu/packages/cran.scm (r-future-callr): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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")