guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: gnu: r-hpo-db: Include HPO sqlite database.


From: guix-commits
Subject: 02/03: gnu: r-hpo-db: Include HPO sqlite database.
Date: Fri, 3 Nov 2023 16:49:54 -0400 (EDT)

rekado pushed a commit to branch r-updates
in repository guix.

commit e6bdebc0ae166cdd9827f20f1d754c024726b6be
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Fri Nov 3 21:48:19 2023 +0100

    gnu: r-hpo-db: Include HPO sqlite database.
    
    * gnu/packages/bioconductor.scm (r-hpo-db)[arguments]: Bypass fetching of 
the
    database from the internet when in build environment.
    [native-inputs]: Add HPO.sqlite.
    
    Change-Id: Ie01605ef2531d992fb85c07bae5cfaabda626ea6
---
 gnu/packages/bioconductor.scm | 37 ++++++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 523b7e7ee9..85a2b8d087 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -84,21 +84,32 @@
     (arguments
      (list
       #:phases
-      '(modify-phases %standard-phases
-         ;; Needed for annotationhub
-         (add-after 'unpack 'set-HOME
-           (lambda _
-             (setenv "HOME" "/tmp")))
-         (add-after 'unpack 'avoid-internet-access
-           (lambda _
-             (setenv "GUIX_BUILD" "yes")
-             (substitute* "R/zzz.R"
-               (("ah <- suppressMessages\\(AnnotationHub\\(\\)\\)" m)
-                (string-append
-                 "if (Sys.getenv(\"GUIX_BUILD\") == \"yes\") { return(TRUE); 
}; " m))))))))
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'avoid-internet-access
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let* ((cache (string-append #$output "/share/HPO.db/cache"))
+                     (file (string-append cache "/118333")))
+                (mkdir-p cache)
+                (copy-file #$(this-package-native-input "HPO.sqlite") file)
+                (substitute* "R/zzz.R"
+                  (("ah <- suppressMessages\\(AnnotationHub\\(\\)\\)" m)
+                   (string-append
+                    "if (Sys.getenv(\"NIX_BUILD_TOP\") == \"\") { " m " };"))
+                  (("dbfile <- ah.*" m)
+                   (string-append
+                    "if (Sys.getenv(\"NIX_BUILD_TOP\") != \"\") { dbfile <- \""
+                    file "\";} else { " m " }\n")))))))))
     (propagated-inputs
      (list r-annotationdbi r-annotationhub r-biocfilecache r-dbi))
-    (native-inputs (list r-knitr))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)
+       ("HPO.sqlite"
+        ,(origin
+           (method url-fetch)
+           (uri "https://annotationhub.bioconductor.org/fetch/118333";)
+           (file-name "HPO.sqlite")
+           (sha256
+            (base32 
"1wwdwf27iil0p41183qgygh2ifphhmlljjkgjm2h8sr25qycf0md"))))))
     (home-page "https://bioconductor.org/packages/HPO.db";)
     (synopsis
      "Annotation maps describing the entire Human Phenotype Ontology")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]