summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-03-15 23:31:58 +0100
committerRicardo Wurmus <rekado@elephly.net>2021-03-15 23:31:58 +0100
commit8f9fd9b70c7bf166d96a4b1dc8b427f8cdf040b5 (patch)
treed54746fecaf5e55abb102bcc21d101488ab51efa
parentd99a18252c31fb2c19e3e7ae65bb36e85c3aa1af (diff)
downloadguix-8f9fd9b70c7bf166d96a4b1dc8b427f8cdf040b5.tar.gz
gnu: r-biocparallel: Build reproducibly.
* gnu/packages/bioconductor.scm (r-biocparallel)[arguments]: Add phase
"make-reproducible".
-rw-r--r--gnu/packages/bioconductor.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 9212165706..166d30be0f 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -1705,6 +1705,34 @@ powerful online queries from gene annotation to database mining.")
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-reproducible
+           (lambda _
+             ;; Remove generated documentation.
+             (for-each delete-file
+                       '("inst/doc/BiocParallel_BatchtoolsParam.pdf"
+                         "inst/doc/Introduction_To_BiocParallel.pdf"
+                         "inst/doc/Errors_Logs_And_Debugging.pdf"
+                         "inst/doc/BiocParallel_BatchtoolsParam.R"
+                         "inst/doc/Introduction_To_BiocParallel.R"
+                         "inst/doc/Errors_Logs_And_Debugging.R"))
+
+             ;; Remove time-dependent macro
+             (substitute* '("inst/doc/BiocParallel_BatchtoolsParam.Rnw"
+                            "inst/doc/Introduction_To_BiocParallel.Rnw"
+                            "inst/doc/Errors_Logs_And_Debugging.Rnw"
+                            "vignettes/BiocParallel_BatchtoolsParam.Rnw"
+                            "vignettes/Introduction_To_BiocParallel.Rnw"
+                            "vignettes/Errors_Logs_And_Debugging.Rnw")
+               (("\\today") "later"))
+
+             ;; Initialize the random number generator seed when building.
+             (substitute* "R/internal_rng_stream.R"
+               (("\"L'Ecuyer-CMRG\"\\)" m)
+                (string-append
+                 m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n"))))))))
     (propagated-inputs
      `(("r-futile-logger" ,r-futile-logger)
        ("r-snow" ,r-snow)