summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/bioinformatics.scm30
-rw-r--r--gnu/packages/patches/freebayes-devendor-deps.patch57
2 files changed, 49 insertions, 38 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 95352f948b..70166501d7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -15138,6 +15138,7 @@ manipulations on VCF files.")
        ("htslib" ,htslib)
        ("smithwaterman" ,smithwaterman)
        ("tabixpp" ,tabixpp)
+       ("vcflib" ,vcflib)
        ("zlib" ,zlib)))
     (native-inputs
      `(("bash-tap" ,bash-tap)
@@ -15148,11 +15149,6 @@ manipulations on VCF files.")
        ("pkg-config" ,pkg-config)
        ("samtools" ,samtools)
        ("simde" ,simde)
-       ;; We need some binaries from vcflib, but we also need to link against a
-       ;; subset of the library.  Vendor the parts we need until we have a shared library.
-       ("vcflib" ,vcflib)
-       ("vcflib-src" ,(package-source vcflib))
-       ("intervaltree-src" ,(package-source intervaltree))
        ;; This submodule is needed to run the tests.
        ("test-simple-bash-src"
         ,(origin
@@ -15179,25 +15175,17 @@ manipulations on VCF files.")
                (substitute* "meson.build"
                   ;; Some inputs aren't actually needed.
                  ((".*bamtools/src.*") "")
-                 ((".*multichoose.*") "")
-                 (("'vcflib/filevercmp'") ""))
+                 ((".*multichoose.*") ""))
+               (substitute* '("src/BedReader.cpp"
+                              "src/BedReader.h")
+                 (("../intervaltree/IntervalTree.h") "IntervalTree.h"))
                #t)))
          (add-after 'unpack 'unpack-submodule-sources
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((unpack (lambda (source target)
-                             (unless (directory-exists? target)
-                               (mkdir-p target))
-                             (with-directory-excursion target
-                               (if (file-is-directory? (assoc-ref inputs source))
-                                   (copy-recursively (assoc-ref inputs source) ".")
-                                   (invoke "tar" "xvf"
-                                           (assoc-ref inputs source)
-                                           "--strip-components=1"))))))
-               (and
-                (unpack "vcflib-src" "vcflib")
-                (unpack "intervaltree-src" "vcflib/intervaltree")
-                (unpack "test-simple-bash-src" "test/test-simple-bash"))
-               #t)))
+             (mkdir-p "test/test-simple-bash")
+             (copy-recursively (assoc-ref inputs "test-simple-bash-src")
+                               "test/test-simple-bash")
+             #t))
         ;; The slow tests take longer than the specified timeout.
         ,@(if (any (cute string=? <> (%current-system))
                    '("armhf-linux" "aarch64-linux"))
diff --git a/gnu/packages/patches/freebayes-devendor-deps.patch b/gnu/packages/patches/freebayes-devendor-deps.patch
index 580f53a3b1..7e84666b85 100644
--- a/gnu/packages/patches/freebayes-devendor-deps.patch
+++ b/gnu/packages/patches/freebayes-devendor-deps.patch
@@ -1,19 +1,19 @@
 This patch is original to Guix, ongoing work to upstream bits as possible.
 
-From 50833daba0b1dbe2ed364b1e980b67a09a312789 Mon Sep 17 00:00:00 2001
+From 9acc56db5e7469f5976be38b52ba4993de98ee38 Mon Sep 17 00:00:00 2001
 From: Efraim Flashner <efraim@flashner.co.il>
 Date: Sun, 17 Jan 2021 13:27:17 +0200
 Subject: [PATCH] devendor-dependants
 
 ---
- meson.build | 60 +++++++++++++++++++++++++++++++++++++++++------------
- 1 file changed, 47 insertions(+), 13 deletions(-)
+ meson.build | 84 +++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 66 insertions(+), 18 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index f6bf242..7a3805e 100644
+index f6bf242..bded4af 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -9,8 +9,12 @@ project('freebayes', ['cpp', 'c'],
+@@ -9,8 +9,13 @@ project('freebayes', ['cpp', 'c'],
  
  zlib_dep = dependency('zlib')
  lzma_dep = dependency('liblzma')
@@ -23,10 +23,11 @@ index f6bf242..7a3805e 100644
 +tabixpp_dep = dependency('tabixpp', required : false)
 +fastahack_dep = dependency('fastahack', required : false)
 +smithwaterman_dep = dependency('smithwaterman', required : false)
++vcflib_dep = dependency('libvcflib', required: false)
  thread_dep = dependency('threads')
  
  if htslib_dep.found()
-@@ -59,6 +63,41 @@ else
+@@ -59,6 +64,56 @@ else
  ]
  endif
  
@@ -42,11 +43,26 @@ index f6bf242..7a3805e 100644
 +    ]
 +endif
 +
++if vcflib_dep.found()
++  vcflib_includes = ''
++  vcflib_src = []
++else
++  vcflib_includes = [
++    'vcflib/src',
++    'vcflib/multichoose',
++    'vcflib/filevercmp',
++    ]
++  vcflib_src = [
++    'vcflib/src/Variant.cpp',
++    ]
++endif
++
 +if fastahack_dep.found()
 +  fastahack_src = []
 +else
 +  fastahack_src = [
 +    'vcflib/fastahack/Fasta.cpp',
++    'vcflib/src/split.cpp',
 +    ]
 +endif
 +
@@ -68,17 +84,18 @@ index f6bf242..7a3805e 100644
  
  
  #
-@@ -105,22 +144,17 @@ seqlib_src = [
+@@ -105,23 +160,18 @@ seqlib_src = [
  ]
  
  vcflib_src = [
 -    'vcflib/tabixpp/tabix.cpp',
-     'vcflib/src/Variant.cpp',
+-    'vcflib/src/Variant.cpp',
 -    'vcflib/smithwaterman/SmithWatermanGotoh.cpp',
 -    'vcflib/smithwaterman/disorder.cpp',
 -    'vcflib/smithwaterman/Repeats.cpp',
 -    'vcflib/smithwaterman/LeftAlign.cpp',
 -    'vcflib/smithwaterman/IndelAllele.cpp',
++    vcflib_src,
 +    tabixpp_src,
 +    smithwaterman_src,
  ]
@@ -90,37 +107,43 @@ index f6bf242..7a3805e 100644
 -    'vcflib/fastahack/Fasta.cpp',
 -    'vcflib/smithwaterman/LeftAlign.cpp',
 -    'vcflib/smithwaterman/IndelAllele.cpp',
+-    'vcflib/src/split.cpp',
 +    fastahack_src,
 +    smithwaterman_src,
-     'vcflib/src/split.cpp',
++    vcflib_src,
      'src/LeftAlign.cpp',
  ]
-@@ -135,8 +169,8 @@ incdir = include_directories(
+ 
+@@ -134,11 +184,9 @@ incdir = include_directories(
+     'ttmath',
      'contrib',
      'contrib/SeqLib',
-     'vcflib/src',
+-    'vcflib/src',
 -    'vcflib/tabixpp',
 -    'vcflib/smithwaterman',
+-    'vcflib/multichoose',
+-    'vcflib/filevercmp')
 +    tabixpp_includes,
 +    smithwaterman_includes,
-     'vcflib/multichoose',
-     'vcflib/filevercmp')
++    vcflib_includes)
  
-@@ -152,7 +186,7 @@ executable('freebayes',
+ c_args = ['-fpermissive','-w']
+ cpp_args = ['-fpermissive','-w','-Wc++14-compat']
+@@ -152,7 +200,7 @@ executable('freebayes',
             include_directories : incdir,
             cpp_args : cpp_args,
             c_args :   c_args,
 -           dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep],
-+           dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, smithwaterman_dep, thread_dep],
++           dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, smithwaterman_dep, vcflib_dep, thread_dep],
             install: true
            )
  
-@@ -165,7 +199,7 @@ executable('bamleftalign',
+@@ -165,7 +213,7 @@ executable('bamleftalign',
             include_directories : incdir,
             cpp_args : cpp_args,
             c_args :   c_args,
 -           dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep],
-+           dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, fastahack_dep, smithwaterman_dep, thread_dep],
++           dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, fastahack_dep, smithwaterman_dep, vcflib_dep, thread_dep],
             install: true
            )