aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/bioinformatics.scm
diff options
context:
space:
mode:
authorEfraim Flashner2022-01-23 15:21:42 +0200
committerEfraim Flashner2022-01-23 15:23:30 +0200
commitf142f16d52fbea868651b143d6e2a5d3785281f8 (patch)
tree603edd458b577c2e8a13f88f9346a1fe1a8bd0f4 /gn/packages/bioinformatics.scm
parent8290fbd7f75e08ec4c26112c53673d43f5409382 (diff)
downloadguix-bioinformatics-f142f16d52fbea868651b143d6e2a5d3785281f8.tar.gz
gn: graphaligner: Fix building and update to 1.0.14
Diffstat (limited to 'gn/packages/bioinformatics.scm')
-rw-r--r--gn/packages/bioinformatics.scm112
1 files changed, 60 insertions, 52 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index af8f322..034daf0 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -3,6 +3,7 @@
(define-module (gn packages bioinformatics)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -32,6 +33,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages cran)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
@@ -1289,64 +1291,70 @@ dictionaries to record a queryable version of the graph.")
(description "")
(license license:lgpl2.0+)))) ; README just says "lpgl".
-;; TODO: Unbundle BBHash, concurrentqueue, parallel-hashmap zstr
+;; TODO: Unbundle BBHash, parallel-hashmap, zstr
(define-public graphaligner
(package
- (name "graphaligner")
- (version "1.0.10")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/maickrau/GraphAligner/files/"
- "3879798/GraphAligner.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0sk0cfjw44wslmlgplzwcqi0w4862vhf75p4x6syalvyi34pw3ck"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags '("all")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((sdsl (assoc-ref inputs "sdsl-lite")))
- (substitute* "makefile"
- (("VERSION .*") (string-append "VERSION = " ,version "\n"))))
- #t))
- (delete 'configure) ; no configure phase
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (for-each
- (lambda (program)
- (install-file program (string-append out "/bin")))
- (find-files "bin" "."))
- (for-each
- (lambda (header)
- (install-file header (string-append out "/include")))
- (find-files "src" "\\.h(pp)?$")))
- #t)))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("protobuf" ,protobuf "static")
- ("sdsl-lite" ,sdsl-lite)
- ("sparsehash" ,sparsehash)
- ("zlib" ,zlib "static")))
- (inputs
- `(("boost" ,boost-static)
- ("jemalloc" ,jemalloc)
- ("libdivsufsort" ,libdivsufsort)
- ("mummer" ,mummer)
- ("protobuf" ,protobuf)
- ("zlib" ,zlib)))
- (home-page "https://github.com/maickrau/GraphAligner")
- (synopsis "Seed-and-extend program for aligning genome graphs")
- (description "Seed-and-extend program for aligning long error-prone reads to
+ (name "graphaligner")
+ (version "1.0.14")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/maickrau/GraphAligner/files/"
+ "7813545/GraphAligner.tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1y4vwp03fl2ck6bnyn0sc97vgvdb8i0yfzjk5mv5gk0bc7a4f0n1"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ; no tests
+ #:make-flags
+ #~(list (string-append "VERSION=" #$version))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure phase
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((concurrentqueue (assoc-ref inputs "concurrentqueue")))
+ (delete-file-recursively "concurrentqueue")
+ (substitute* "makefile"
+ (("-Iconcurrentqueue")
+ (string-append "-I" concurrentqueue "/include/concurrentqueue"))
+ (("^JEMALLOCFLAGS.*")
+ "JEMALLOCFLAGS= `pkg-config --libs jemalloc`\n")
+ ;; No need to build statically.
+ (("-Wl,-Bstatic") "")
+ (("-static-libstdc\\+\\+") "")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (program)
+ (install-file program (string-append out "/bin")))
+ (find-files "bin"))
+ (for-each
+ (lambda (header)
+ (install-file header (string-append out "/include")))
+ (find-files "src" "\\.h(pp)?$"))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("sparsehash" ,sparsehash)))
+ (inputs
+ `(("boost" ,boost)
+ ("concurrentqueue" ,concurrentqueue)
+ ("jemalloc" ,jemalloc)
+ ("libdivsufsort" ,libdivsufsort)
+ ("mummer" ,mummer)
+ ("protobuf" ,protobuf)
+ ("sdsl-lite" ,sdsl-lite)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/maickrau/GraphAligner")
+ (synopsis "Seed-and-extend program for aligning genome graphs")
+ (description "Seed-and-extend program for aligning long error-prone reads to
genome graphs. For a description of the bitvector alignment extension
algorithm, see
@url{https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btz162/5372677
here}.")
- (license license:expat)))
+ (license license:expat)))
(define-public mummer
(package