gnu: freebayes: Don't include vcflib sources.

* gnu/packages/bioinformatics.scm (freebayes)[native-inputs]: Remove
vcflib-source, intervaltree-source. Move vcflib ...
[inputs]: ... to here.
[arguments]: Adjust 'patch-source and 'unpack-submodule-sources for
changes in vendored code.
* gnu/packages/patches/freebayes-devendor-deps.patch: Update patch.
This commit is contained in:
Efraim Flashner 2021-01-19 11:38:06 +02:00
parent 1bbfe1789d
commit 99043adf46
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
2 changed files with 49 additions and 38 deletions

View File

@ -15138,6 +15138,7 @@ manipulations on VCF files.")
("htslib" ,htslib) ("htslib" ,htslib)
("smithwaterman" ,smithwaterman) ("smithwaterman" ,smithwaterman)
("tabixpp" ,tabixpp) ("tabixpp" ,tabixpp)
("vcflib" ,vcflib)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("bash-tap" ,bash-tap) `(("bash-tap" ,bash-tap)
@ -15148,11 +15149,6 @@ manipulations on VCF files.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("samtools" ,samtools) ("samtools" ,samtools)
("simde" ,simde) ("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. ;; This submodule is needed to run the tests.
("test-simple-bash-src" ("test-simple-bash-src"
,(origin ,(origin
@ -15179,25 +15175,17 @@ manipulations on VCF files.")
(substitute* "meson.build" (substitute* "meson.build"
;; Some inputs aren't actually needed. ;; Some inputs aren't actually needed.
((".*bamtools/src.*") "") ((".*bamtools/src.*") "")
((".*multichoose.*") "") ((".*multichoose.*") ""))
(("'vcflib/filevercmp'") "")) (substitute* '("src/BedReader.cpp"
"src/BedReader.h")
(("../intervaltree/IntervalTree.h") "IntervalTree.h"))
#t))) #t)))
(add-after 'unpack 'unpack-submodule-sources (add-after 'unpack 'unpack-submodule-sources
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (source target) (mkdir-p "test/test-simple-bash")
(unless (directory-exists? target) (copy-recursively (assoc-ref inputs "test-simple-bash-src")
(mkdir-p target)) "test/test-simple-bash")
(with-directory-excursion target #t))
(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)))
;; The slow tests take longer than the specified timeout. ;; The slow tests take longer than the specified timeout.
,@(if (any (cute string=? <> (%current-system)) ,@(if (any (cute string=? <> (%current-system))
'("armhf-linux" "aarch64-linux")) '("armhf-linux" "aarch64-linux"))

View File

@ -1,19 +1,19 @@
This patch is original to Guix, ongoing work to upstream bits as possible. 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> From: Efraim Flashner <efraim@flashner.co.il>
Date: Sun, 17 Jan 2021 13:27:17 +0200 Date: Sun, 17 Jan 2021 13:27:17 +0200
Subject: [PATCH] devendor-dependants Subject: [PATCH] devendor-dependants
--- ---
meson.build | 60 +++++++++++++++++++++++++++++++++++++++++------------ meson.build | 84 +++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 47 insertions(+), 13 deletions(-) 1 file changed, 66 insertions(+), 18 deletions(-)
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index f6bf242..7a3805e 100644 index f6bf242..bded4af 100644
--- a/meson.build --- a/meson.build
+++ b/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') zlib_dep = dependency('zlib')
lzma_dep = dependency('liblzma') lzma_dep = dependency('liblzma')
@ -23,10 +23,11 @@ index f6bf242..7a3805e 100644
+tabixpp_dep = dependency('tabixpp', required : false) +tabixpp_dep = dependency('tabixpp', required : false)
+fastahack_dep = dependency('fastahack', required : false) +fastahack_dep = dependency('fastahack', required : false)
+smithwaterman_dep = dependency('smithwaterman', required : false) +smithwaterman_dep = dependency('smithwaterman', required : false)
+vcflib_dep = dependency('libvcflib', required: false)
thread_dep = dependency('threads') thread_dep = dependency('threads')
if htslib_dep.found() if htslib_dep.found()
@@ -59,6 +63,41 @@ else @@ -59,6 +64,56 @@ else
] ]
endif endif
@ -42,11 +43,26 @@ index f6bf242..7a3805e 100644
+ ] + ]
+endif +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() +if fastahack_dep.found()
+ fastahack_src = [] + fastahack_src = []
+else +else
+ fastahack_src = [ + fastahack_src = [
+ 'vcflib/fastahack/Fasta.cpp', + 'vcflib/fastahack/Fasta.cpp',
+ 'vcflib/src/split.cpp',
+ ] + ]
+endif +endif
+ +
@ -68,17 +84,18 @@ index f6bf242..7a3805e 100644
# #
@@ -105,22 +144,17 @@ seqlib_src = [ @@ -105,23 +160,18 @@ seqlib_src = [
] ]
vcflib_src = [ vcflib_src = [
- 'vcflib/tabixpp/tabix.cpp', - 'vcflib/tabixpp/tabix.cpp',
'vcflib/src/Variant.cpp', - 'vcflib/src/Variant.cpp',
- 'vcflib/smithwaterman/SmithWatermanGotoh.cpp', - 'vcflib/smithwaterman/SmithWatermanGotoh.cpp',
- 'vcflib/smithwaterman/disorder.cpp', - 'vcflib/smithwaterman/disorder.cpp',
- 'vcflib/smithwaterman/Repeats.cpp', - 'vcflib/smithwaterman/Repeats.cpp',
- 'vcflib/smithwaterman/LeftAlign.cpp', - 'vcflib/smithwaterman/LeftAlign.cpp',
- 'vcflib/smithwaterman/IndelAllele.cpp', - 'vcflib/smithwaterman/IndelAllele.cpp',
+ vcflib_src,
+ tabixpp_src, + tabixpp_src,
+ smithwaterman_src, + smithwaterman_src,
] ]
@ -90,37 +107,43 @@ index f6bf242..7a3805e 100644
- 'vcflib/fastahack/Fasta.cpp', - 'vcflib/fastahack/Fasta.cpp',
- 'vcflib/smithwaterman/LeftAlign.cpp', - 'vcflib/smithwaterman/LeftAlign.cpp',
- 'vcflib/smithwaterman/IndelAllele.cpp', - 'vcflib/smithwaterman/IndelAllele.cpp',
- 'vcflib/src/split.cpp',
+ fastahack_src, + fastahack_src,
+ smithwaterman_src, + smithwaterman_src,
'vcflib/src/split.cpp', + vcflib_src,
'src/LeftAlign.cpp', 'src/LeftAlign.cpp',
] ]
@@ -135,8 +169,8 @@ incdir = include_directories(
@@ -134,11 +184,9 @@ incdir = include_directories(
'ttmath',
'contrib', 'contrib',
'contrib/SeqLib', 'contrib/SeqLib',
'vcflib/src', - 'vcflib/src',
- 'vcflib/tabixpp', - 'vcflib/tabixpp',
- 'vcflib/smithwaterman', - 'vcflib/smithwaterman',
- 'vcflib/multichoose',
- 'vcflib/filevercmp')
+ tabixpp_includes, + tabixpp_includes,
+ smithwaterman_includes, + smithwaterman_includes,
'vcflib/multichoose', + vcflib_includes)
'vcflib/filevercmp')
@@ -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, include_directories : incdir,
cpp_args : cpp_args, cpp_args : cpp_args,
c_args : c_args, c_args : c_args,
- dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep], - 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 install: true
) )
@@ -165,7 +199,7 @@ executable('bamleftalign', @@ -165,7 +213,7 @@ executable('bamleftalign',
include_directories : incdir, include_directories : incdir,
cpp_args : cpp_args, cpp_args : cpp_args,
c_args : c_args, c_args : c_args,
- dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep], - 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 install: true
) )