about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2022-01-23 15:21:42 +0200
committerEfraim Flashner2022-01-23 15:23:30 +0200
commitf142f16d52fbea868651b143d6e2a5d3785281f8 (patch)
tree603edd458b577c2e8a13f88f9346a1fe1a8bd0f4
parent8290fbd7f75e08ec4c26112c53673d43f5409382 (diff)
downloadguix-bioinformatics-f142f16d52fbea868651b143d6e2a5d3785281f8.tar.gz
gn: graphaligner: Fix building and update to 1.0.14
-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