summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/bioinformatics.scm62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 43835cfb88..da12a145c5 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -534,6 +534,68 @@ input and output BAMs must adhere to the PacBio BAM format specification.
 Non-PacBio BAMs will cause exceptions to be thrown.")
     (license license:bsd-3)))
 
+(define-public blasr-libcpp
+  (package
+    (name "blasr-libcpp")
+    (version "5.3.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/PacificBiosciences/blasr_libcpp.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0cn5l42zyq67sj0g2imqkhayz2iqvv0a1pgpbmlq0qynjmsrbfd2"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'link-with-hdf5
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((hdf5 (assoc-ref inputs "hdf5")))
+               (substitute* "meson.build"
+                 (("libblasr_deps = \\[" m)
+                  (string-append
+                   m
+                   (format #f "cpp.find_library('hdf5', dirs : '~a'), \
+cpp.find_library('hdf5_cpp', dirs : '~a'), "
+                           hdf5 hdf5)))))
+             #t))
+         (add-after 'unpack 'find-googletest
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; It doesn't find gtest_main because there's no pkg-config file
+             ;; for it.  Find it another way.
+             (substitute* "unittest/meson.build"
+               (("libblasr_gtest_dep = dependency\\('gtest_main'.*")
+                (format #f "cpp = meson.get_compiler('cpp')
+libblasr_gtest_dep = cpp.find_library('gtest_main', dirs : '~a')\n"
+                        (assoc-ref inputs "googletest"))))
+             #t)))
+       ;; TODO: unittest/libblasr_unittest cannot be linked
+       ;; ld: ;; unittest/df08227@@libblasr_unittest@exe/alignment_utils_FileUtils_gtest.cpp.o:
+       ;; undefined reference to symbol
+       ;; '_ZN7testing8internal9DeathTest6CreateEPKcPKNS0_2REES3_iPPS1_'
+       ;; ld: /gnu/store/...-googletest-1.8.0/lib/libgtest.so:
+       ;;   error adding symbols: DSO missing from command line
+       #:tests? #f
+       #:configure-flags '("-Dtests=false")))
+    (inputs
+     `(("boost" ,boost)
+       ("hdf5" ,hdf5)
+       ("pbbam" ,pbbam)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/PacificBiosciences/blasr_libcpp")
+    (synopsis "Library for analyzing PacBio genomic sequences")
+    (description
+     "This package provides three libraries used by applications for analyzing
+PacBio genomic sequences.  This library contains three sub-libraries: pbdata,
+hdf and alignment.")
+    (license license:bsd-3)))
+
 (define-public ribotaper
   (package
     (name "ribotaper")