[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
11/11: gnu: edirect: Install more programs.
From: |
guix-commits |
Subject: |
11/11: gnu: edirect: Install more programs. |
Date: |
Sun, 22 Mar 2020 03:58:19 -0400 (EDT) |
efraim pushed a commit to branch master
in repository guix.
commit 10d3fbf051da1af4d45e269394433ad072b1f6c7
Author: Efraim Flashner <address@hidden>
AuthorDate: Sun Mar 15 23:27:45 2020 +0200
gnu: edirect: Install more programs.
* gnu/packages/bioinformatics.scm (edirect)[arguments]: Add
'patch-programs phase to work around not finding binaries in the PATH.
Rewrite 'install phase to install many more scripts. Rewrite
'wrap-program to wrap more scripts with more programs.
[inputs]: Add edirect-go-programs.
[native-search-paths]: New field.
---
gnu/packages/bioinformatics.scm | 55 ++++++++++++++++++++++++++++++++++-------
1 file changed, 46 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 242aafc..33dda7e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2781,19 +2781,48 @@ quantitative phenotypes.")
(delete 'configure)
(delete 'build)
(delete 'check) ; simple check after install
+ (add-after 'unpack 'patch-programs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Ignore errors about missing xtract.Linux and rchive.Linux.
+ (substitute* "pm-refresh"
+ (("cat \\\"\\$target")
+ "grep ^[[:digit:]] \"$target"))
+ #t))
(replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "edirect.pl"
- (string-append (assoc-ref outputs "out") "/bin"))
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ (edirect-go (assoc-ref inputs "edirect-go-programs")))
+ (for-each
+ (lambda (file)
+ (install-file file bin))
+ '("archive-pubmed" "asp-cp" "asp-ls" "download-ncbi-data"
+ "download-pubmed" "edirect.pl" "efetch" "epost" "esearch"
+ "fetch-pubmed" "ftp-cp" "ftp-ls" "has-asp" "index-pubmed"
+ "pm-prepare" "pm-refresh" "pm-stash" "pm-collect"
+ "pm-index" "pm-invert" "pm-merge" "pm-promote"))
+ (symlink (string-append edirect-go "/bin/xtract.Linux")
+ (string-append bin "/xtract"))
+ (symlink (string-append edirect-go "/bin/rchive.Linux")
+ (string-append bin "/rchive")))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure 'edirect.pl' finds all perl inputs at runtime.
- (let* ((out (assoc-ref outputs "out"))
+ ;; Make sure everything can run in a pure environment.
+ (let ((out (assoc-ref outputs "out"))
(path (getenv "PERL5LIB")))
- (wrap-program (string-append out "/bin/edirect.pl")
- `("PERL5LIB" ":" prefix (,path))))
- #t))
+ (for-each
+ (lambda (file)
+ (wrap-program file
+ `("PERL5LIB" ":" prefix (,path)))
+ (wrap-program file
+ `("PATH" ":" prefix (,(string-append out "/bin")
+ ,(dirname (which "sed"))
+ ,(dirname (which "gzip"))
+ ,(dirname (which "grep"))
+ ,(dirname (which "perl"))
+ ,(dirname (which "uname"))))))
+ (find-files out ".")))
+ #t))
(add-after 'wrap-program 'check
(lambda* (#:key outputs #:allow-other-keys)
(invoke (string-append (assoc-ref outputs "out")
@@ -2801,7 +2830,8 @@ quantitative phenotypes.")
"-filter" "-help")
#t)))))
(inputs
- `(("perl-html-parser" ,perl-html-parser)
+ `(("edirect-go-programs" ,edirect-go-programs)
+ ("perl-html-parser" ,perl-html-parser)
("perl-encode-locale" ,perl-encode-locale)
("perl-file-listing" ,perl-file-listing)
("perl-html-tagset" ,perl-html-tagset)
@@ -2831,6 +2861,13 @@ EDirect also provides an argument-driven function that
simplifies the
extraction of data from document summaries or other results that are returned
in structured XML format. This can eliminate the need for writing custom
software to answer ad hoc questions.")
+ (native-search-paths
+ ;; Ideally this should be set for LWP somewhere.
+ (list (search-path-specification
+ (variable "PERL_LWP_SSL_CA_FILE")
+ (file-type 'regular)
+ (separator #f)
+ (files '("/etc/ssl/certs/ca-certificates.crt")))))
(license license:public-domain)))
(define-public edirect-go-programs
- 03/11: gnu: Add go-github-com-golang-freetype., (continued)
- 03/11: gnu: Add go-github-com-golang-freetype., guix-commits, 2020/03/22
- 02/11: gnu: Add go-golang-org-rainycape-unidecode., guix-commits, 2020/03/22
- 04/11: gnu: Add go-github-com-fogleman-gg., guix-commits, 2020/03/22
- 06/11: gnu: Add go-github-com-klauspost-cpuid., guix-commits, 2020/03/22
- 07/11: gnu: Add go-github-com-pbnjay-memory., guix-commits, 2020/03/22
- 09/11: gnu: Add go-github-com-surgebase-porter2., guix-commits, 2020/03/22
- 10/11: gnu: Add edirect-go-programs., guix-commits, 2020/03/22
- 08/11: gnu: Add go-github-com-surge-glog., guix-commits, 2020/03/22
- 05/11: gnu: Add go-github-com-gedex-inflector., guix-commits, 2020/03/22
- 01/11: gnu: Add go-golang-org-x-image., guix-commits, 2020/03/22
- 11/11: gnu: edirect: Install more programs.,
guix-commits <=