aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
)