#:use-module (guix build-system ant)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system go)
#:use-module (guix build-system haskell)
#:use-module (guix build-system meson)
#:use-module (guix build-system ocaml)
#:use-module (gnu packages documentation)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
+ #:use-module (gnu packages dlang)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
- #:use-module (gnu packages gtk)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages glib)
#:use-module (gnu packages graph)
#:use-module (gnu packages groff)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages java)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages jemalloc)
- #:use-module (gnu packages dlang)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages logging)
(define-public edirect
(package
(name "edirect")
- (version "12.1.20190829")
+ (version "13.3.20200128")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect"
"/edirect-" version ".tar.gz"))
(sha256
(base32
- "1xb330z28dgp7slrvp8r7rgncsasv9lpcpqim571yg728dq7xdik"))))
+ "093zp7klv81ph0y8mm8d78a9hnpfxbv2kdym70gzdf3vz176rw33"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (delete-file "Mozilla-CA.tar.gz")
+ (substitute* "rchive.go"
+ ;; This go library does not have any license.
+ (("github.com/fiam/gounidecode/unidecode")
+ "golang.org/rainycape/unidecode"))
+ #t))))
(build-system perl-build-system)
(arguments
`(#:phases
(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")
"-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)
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
+ (package
+ (inherit edirect)
+ (name "edirect-go-programs")
+ (build-system go-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:tests? #f ; No tests.
+ #:import-path "ncbi.nlm.nih.gov/entrez/edirect"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "build" "-v" "-x" "j2x.go")
+ (invoke "go" "build" "-v" "-x" "t2x.go")
+ (invoke "go" "build" "-v" "-x" "-o"
+ "xtract.Linux" "xtract.go" "common.go")
+ (invoke "go" "build" "-v" "-x" "-o"
+ "rchive.Linux" "rchive.go" "common.go")
+ (invoke "go" "build" "-v" "-x" "-o" "symbols.Linux" "s2p.go"))))
+ (replace 'install
+ (lambda* (#:key outputs import-path #:allow-other-keys)
+ (let ((dest (string-append (assoc-ref outputs "out") "/bin"))
+ (source (string-append "src/" import-path "/")))
+ (for-each (lambda (file)
+ (format #t "installing ~a~%" file)
+ (install-file (string-append source file) dest))
+ '("j2x" "t2x" "symbols.Linux" "xtract.Linux" "rchive.Linux"))
+ #t))))))
+ (native-inputs '())
+ (propagated-inputs '())
+ (inputs
+ `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+ ("go-github-com-fogleman-gg" ,go-github-com-fogleman-gg)
+ ("go-github-com-gedex-inflector" ,go-github-com-gedex-inflector)
+ ("go-github-com-golang-freetype" ,go-github-com-golang-freetype)
+ ("go-github-com-klauspost-cpuid" ,go-github-com-klauspost-cpuid)
+ ("go-github-com-pbnjay-memory" ,go-github-com-pbnjay-memory)
+ ("go-github-com-surgebase-porter2" ,go-github-com-surgebase-porter2)
+ ("go-golang-org-rainycape-unidecode" ,go-golang-org-rainycape-unidecode)
+ ("go-golang-org-x-image" ,go-golang-org-x-image)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)))))
+
(define-public exonerate
(package
(name "exonerate")
(define-public star
(package
(name "star")
- (version "2.7.1a")
+ (version "2.7.3a")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexdobin/STAR.git")
(commit version)))
- (file-name (string-append name "-" version "-checkout"))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0n6g4s4hgw7qygs1z97j7a2dgz8gfaa4cv5pjvvvmarvk0x07hyg"))
+ "1hgiqw5qhs0pc1xazzihcfd92na02xyq2kb469z04y1v51kpvvjq"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public r-qtl
(package
(name "r-qtl")
- (version "1.45-11")
+ (version "1.46-2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1d6qgj602fm6zia3djl4hmca0ri4v57ffp3g93p2yc3cabx2hq90"))))
+ "0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a"))))
(build-system r-build-system)
(home-page "https://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
(define-public pigx-scrnaseq
(package
(name "pigx-scrnaseq")
- (version "1.1.3")
+ (version "1.1.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
"/pigx_scrnaseq-" version ".tar.gz"))
(sha256
(base32
- "0ga2jr4968qzwml6aycky4603q64lny3y7lzw6dmafch5pydl1qi"))))
+ "1d5l3gywypi67yz9advxq5xkgfhr4733gj0bwnngm723i3hdf5w9"))))
(build-system gnu-build-system)
(inputs
`(("coreutils" ,coreutils)