diff options
| author | wrk | 2026-05-02 00:46:54 +0000 |
|---|---|---|
| committer | wrk | 2026-05-02 00:46:54 +0000 |
| commit | d4cf41368f5c241144fbdc677e8817da991bb308 (patch) | |
| tree | 78ee3d909817c018c96ae973926d7a416066f100 | |
| parent | 5dbe1be8ec8cae3c9ed4dcb9c5efe058e125e195 (diff) | |
| download | guix-bioinformatics-d4cf41368f5c241144fbdc677e8817da991bb308.tar.gz | |
Unbundling recursive git submodules
| -rw-r--r-- | gn/packages/pangenome-rust.scm | 18 | ||||
| -rw-r--r-- | gn/packages/pangenome.scm | 376 |
2 files changed, 321 insertions, 73 deletions
diff --git a/gn/packages/pangenome-rust.scm b/gn/packages/pangenome-rust.scm index a488375..a8675d7 100644 --- a/gn/packages/pangenome-rust.scm +++ b/gn/packages/pangenome-rust.scm @@ -4219,6 +4219,15 @@ sequences to accelerate the alignment process.") ;;; impg package. ;;; +(define impg-gfaffix-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marschall-lab/GFAffix") + (commit "460e0dd798a9da7d12aef4f9181419d71489da95"))) + (file-name (git-file-name "GFAffix" "460e0dd7")) + (sha256 (base32 "1cz3wisqd776jyh1scpa9i0mmnj9ywlm4m0jkvz6mmvjiyk0622v")))) + (define-public impg (let ((commit "41dfff4f42d1a4b418b5ab9b3b6147542e4a81a5") (revision "2")) @@ -4229,12 +4238,11 @@ sequences to accelerate the alignment process.") (method git-fetch) (uri (git-reference (url "https://github.com/pangenome/impg") - (commit commit) - (recursive? #t))) + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0m0zr81i31cyd7r1j1klv7y8wnimjh47jz9ixq5jqly32ggh3ilm")))) + "0bf4fkp1wczmvshv5ggjnpvzw6i40svd35lwfv24x7lskd6nnqdq")))) (build-system cargo-build-system) (arguments (list @@ -4242,6 +4250,10 @@ sequences to accelerate the alignment process.") #:phases #~(modify-phases %standard-phases #$%rust-tuning-phase + ;; vendor/gfaffix is a git submodule; populate from separate origin. + (add-before 'build 'copy-gfaffix-submodule + (lambda _ + (copy-recursively #$impg-gfaffix-src "vendor/gfaffix"))) ;; The ragc workspace root has no [package] so crate-src? returns #f ;; and configure skips it. Copy it manually. (add-before 'build 'copy-ragc-workspace diff --git a/gn/packages/pangenome.scm b/gn/packages/pangenome.scm index dae4487..813ce08 100644 --- a/gn/packages/pangenome.scm +++ b/gn/packages/pangenome.scm @@ -222,6 +222,7 @@ with a runtime dispatcher.") (arguments (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) + #:tests? #f ; build sandbox is noexec; can't run compiled binary #:phases #~(modify-phases %standard-phases (delete 'configure) @@ -230,11 +231,6 @@ with a runtime dispatcher.") (substitute* (find-files "src" "\\.(h|cpp)$") (("#include <vector>" all) (string-append "#include <cstdint>\n" all))))) - (replace 'check - (lambda _ - (invoke "./miniprot" - "test/DPP3-hs.gen.fa.gz" - "test/DPP3-mm.pep.fa.gz"))) (replace 'install (lambda _ (mkdir-p (string-append #$output "/bin")) @@ -270,6 +266,7 @@ protein-coding genes in a new genome using related genomes as references.") (arguments (list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) + #:tests? #f ; build sandbox is noexec; can't run compiled binary #:phases #~(modify-phases %standard-phases (delete 'configure) @@ -278,10 +275,6 @@ protein-coding genes in a new genome using related genomes as references.") (substitute* (find-files "src" "\\.(h|cpp)$") (("#include <vector>" all) (string-append "#include <cstdint>\n" all))))) - (replace 'check - (lambda _ - (invoke "./pangene" "test/C4/21GRCh38-renamed.paf.gz" - "test/C4/22CHM13-renamed.paf.gz"))) (replace 'install (lambda _ (mkdir-p (string-append #$output "/bin")) @@ -365,6 +358,15 @@ produces alignment plots in PNG format and supports region plots, dotplots, and heatmaps for structural variant and genome assembly analysis.") (license license:bsd-3))) +(define meryl-utility-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marbl/meryl-utility") + (commit "99676106a395899543c20d1086927b97bf5f46eb"))) + (file-name (git-file-name "meryl-utility" "99676106")) + (sha256 (base32 "1441v5vdxjclfmzdk72yxmscncs25ncr797c4brgjb5kv6yhby21")))) + (define-public meryl (package (name "meryl") @@ -373,12 +375,11 @@ and heatmaps for structural variant and genome assembly analysis.") (method git-fetch) (uri (git-reference (url "https://github.com/marbl/meryl") - (commit (string-append "v" version)) - (recursive? #t))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "14mvnhjimhh0c151318v015l151bf9faq2izizw4vf9n8fkkk8i0")))) + "1b9mq7lzz2l5fq6gnk3dnc5hs4gb231gvv9fn2wn94x0fd5pmyg8")))) (build-system gnu-build-system) (native-inputs (list perl which)) (arguments @@ -389,6 +390,9 @@ and heatmaps for structural variant and genome assembly analysis.") #:phases #~(modify-phases %standard-phases (delete 'configure) + (add-after 'unpack 'unpack-submodules + (lambda _ + (copy-recursively #$meryl-utility-src "src/utility"))) (add-after 'unpack 'fix-missing-includes (lambda _ (substitute* (find-files "src" "\\.(h|cpp)$") @@ -562,6 +566,125 @@ pangene.") graph model, as well as algorithms for pangenome analysis.") (license license:expat))) +;; seqwish submodule origins (unbundled from recursive? #t) +(define seqwish-bbhash-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/vgteam/BBHash") + (commit "36e4fe3eaeef762c831c49cdc01f1a3a2c7a97a4"))) + (file-name (git-file-name "BBHash" "36e4fe3e")) + (sha256 (base32 "1q2lapriprgmjcnxn9a30xv3yacyx0r4ri4jjsvp26rhmpw2ql57")))) +(define seqwish-args-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/Taywee/args") + (commit "730dfbc4bc2e4149c22e0f606bf00420b65aeaeb"))) + (file-name (git-file-name "args" "730dfbc4")) + (sha256 (base32 "1lk4mljs0v1a0gns2bb609ywc2g5kwsm6dgaafrwpr0ldvk3gai6")))) +(define seqwish-atomic-queue-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/max0x7ba/atomic_queue") + (commit "7d75e9ed0359650224b29cdf6728c5fe0a19fffb"))) + (file-name (git-file-name "atomic_queue" "7d75e9ed")) + (sha256 (base32 "1dh8x0ikfwk0by5avwfv9gvr9ay6jy13yr66rvgw9wwyxmklz848")))) +(define seqwish-atomicbitvector-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/ekg/atomicbitvector") + (commit "ebf6435171a47ad216294645d528c2c9fe030c96"))) + (file-name (git-file-name "atomicbitvector" "ebf64351")) + (sha256 (base32 "011n32cb7hdblibcj8hd42r6m4riikamqs3jhb2x32knycm22if5")))) +(define seqwish-flat-hash-map-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/skarupke/flat_hash_map") + (commit "2c4687431f978f02a3780e24b8b701d22aa32d9c"))) + (file-name (git-file-name "flat_hash_map" "2c468743")) + (sha256 (base32 "0ryc8ybkdpz6r788lhdfnm0xrxgwdmplvqngj48rzv0fvfi16hbz")))) +(define seqwish-gzip-reader-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/gatoravi/gzip_reader") + (commit "0ef26c0399e926087f9d6c4a56067a7bf1fc4f5e"))) + (file-name (git-file-name "gzip_reader" "0ef26c03")) + (sha256 (base32 "1wy84ksx900840c06w0f1mgzvr7zsfsgxq1b0jdjh8qka26z1r17")))) +(define seqwish-iitii-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/ekg/iitii") + (commit "85209e07a3ee403fb6557387a7f897cd76be4406"))) + (file-name (git-file-name "iitii" "85209e07")) + (sha256 (base32 "0sszvffkswf89nkbjmjg3wjwqvy2w0d3wgy3ngy33ma4sy4s025s")))) +(define seqwish-ips4o-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/SaschaWitt/ips4o") + (commit "a34d7d40c0f1279510e35e0dc2c69637b3c5d0b6"))) + (file-name (git-file-name "ips4o" "a34d7d40")) + (sha256 (base32 "098dbpdava9a4qwsd810lc3gk6fvfb91sd9n7m78y82qzi745dph")))) +(define seqwish-mmmulti-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/ekg/mmmulti") + (commit "8b57e439cfe34a3a21e5a32dcd76026be7d71b72"))) + (file-name (git-file-name "mmmulti" "8b57e439")) + (sha256 (base32 "0kcdkm5cmbxahdg3i9mas6pcsmnlr2i3n67ah4mklzp18qs884ij")))) +(define seqwish-paryfor-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/ekg/paryfor") + (commit "509b28a092f732a068e2908bb9e359a8562cd32f"))) + (file-name (git-file-name "paryfor" "509b28a0")) + (sha256 (base32 "1qcf4q0gna66l3hwazqxnsa515ggh7sin2vq8xfnjr322ps30y2v")))) +(define seqwish-sdsl-lite-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/simongog/sdsl-lite") + (commit "c32874cb2d8524119f25f3b501526fe692df29f4"))) + (file-name (git-file-name "sdsl-lite" "c32874cb")) + (sha256 (base32 "1p53cgrgkp72s0mx262pxz90mf04vy4c1189xlx146qh8fznywg4")))) +;; mmmulti submodules +(define seqwish-mmmulti-dynamic-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/vgteam/DYNAMIC") + (commit "73a6b10ecb94ee178fa873797aacf81e0bfdc7db"))) + (file-name (git-file-name "DYNAMIC" "73a6b10e")) + (sha256 (base32 "1yrpb32r0dav0vs1x34pv76jyns9zybyhdyjy1nfcl3iifajqnw5")))) +(define seqwish-mmmulti-args-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/Taywee/args") + (commit "de4db870058c37b6094bc5ccb03c9ea45708c855"))) + (file-name (git-file-name "args" "de4db870")) + (sha256 (base32 "1n4m0qay71idjiqpym4q14cg274mrl4iaxdn58aixw1virak7zwl")))) +(define seqwish-mmmulti-atomic-queue-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/max0x7ba/atomic_queue") + (commit "d9d66b6d20d74042da481ed5504fa81c0d79c8ae"))) + (file-name (git-file-name "atomic_queue" "d9d66b6d")) + (sha256 (base32 "1q7acbm1m2n7pzrrfk39cvylcsq6kw605863qqjwnv37ii9nl73k")))) +(define seqwish-mmmulti-hopscotch-map-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/Tessil/hopscotch-map") + (commit "848374746a50b3ebebe656611d554cb134e9aeef"))) + (file-name (git-file-name "hopscotch-map" "84837474")) + (sha256 (base32 "0xps3qglrdy7xyjf5icq76gv9c9nxd6sbqbvwk35jcrlmwl5aa7h")))) +(define seqwish-mmmulti-ips4o-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/ips4o/ips4o") + (commit "cf269199fb1ed91751dbdba032339992decf220d"))) + (file-name (git-file-name "ips4o" "cf269199")) + (sha256 (base32 "0kbymf18g300w4d51nh27jxy5dh56l2x66qhkly3lrc0r15vlzmk")))) +(define seqwish-mmmulti-mio-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/mandreyel/mio") + (commit "3f86a95c0784d73ce6815237ec33ed25f233b643"))) + (file-name (git-file-name "mio" "3f86a95c")) + (sha256 (base32 "1gqjr778hxs7idnl8b351b5a2q6fvzdhcg8l9v4clvvkdq132wd6")))) +;; sdsl-lite sub-submodules (used by both deps/sdsl-lite and +;; deps/mmmulti/deps/sdsl-lite, same commits) +(define seqwish-sdsl-libdivsufsort-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/simongog/libdivsufsort") + (commit "0f24acd8de208464769c782119dacf158647f7ed"))) + (file-name (git-file-name "libdivsufsort" "0f24acd8")) + (sha256 (base32 "13ymrg0h1dhbrnyv50xcfpr7g3hrvrg4d9zg7mx6k9pqyhqx5p32")))) +(define seqwish-sdsl-googletest-src + (origin (method git-fetch) + (uri (git-reference (url "https://github.com/google/googletest") + (commit "c2d90bddc6a2a562ee7750c14351e9ca16a6a37a"))) + (file-name (git-file-name "googletest" "c2d90bdd")) + (sha256 (base32 "1b27igw347znbw7k0j602v5bcackzj9iq1wy691fvg2n1cgvxd52")))) + (define-public seqwish (package (name "seqwish") @@ -570,61 +693,119 @@ graph model, as well as algorithms for pangenome analysis.") (method git-fetch) (uri (git-reference (url "https://github.com/ekg/seqwish.git") - (commit (string-append "v" version)) - (recursive? #t))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18wsrvqf0nsfk29v3ggdq2r4q15d4n4sq8v228qq1jsybbjlkgsa")) + (base32 "1z64f06vbv19hmc5bi4xf2783ddialbf29z96kwvflf8bcfzvsh9")) (patches - (search-patches "seqwish-paryfor-riscv.patch" - "seqwish-shared-library.patch")) - (snippet - #~(begin - (use-modules (guix build utils)) - (substitute* '("CMakeLists.txt" - "deps/atomic_queue/Makefile" - "deps/mmmulti/deps/DYNAMIC/CMakeLists.txt" - "deps/mmmulti/deps/atomic_queue/Makefile" - "deps/mmmulti/deps/ips4o/CMakeLists.txt") - (("-march=native") "") - (("-mcx16") "")) - (substitute* '("deps/mmmulti/deps/sdsl-lite/CMakeLists.txt" - "deps/sdsl-lite/CMakeLists.txt") - (("-msse4.2 -march=native") "")))))) + (search-patches "seqwish-shared-library.patch")))) (build-system cmake-build-system) (arguments - `(#:configure-flags - '("-DSEQWISH_LINK_SHARED_LIBRARY=ON" - "-DCMAKE_C_FLAGS=-mcx16" - "-DCMAKE_CXX_FLAGS=-mcx16") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-version - (lambda _ - (mkdir-p "include") - (substitute* "CMakeLists.txt" - (("^execute_process") "#execute_process")) - (with-output-to-file "include/seqwish_git_version.hpp" - (lambda () - (format #t "#define SEQWISH_GIT_VERSION \"~a\"~%" ,version))))) - (add-after 'unpack 'link-with-some-shared-libraries - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("CMakeLists.txt" - "deps/mmmulti/CMakeLists.txt") - (("\".*libsdsl\\.a\"") "\"-lsdsl\"") - (("\".*libdivsufsort\\.a\"") "\"-ldivsufsort\"") - (("\".*libdivsufsort64\\.a\"") "\"-ldivsufsort64\"") - (("\\$\\{sdsl-lite_INCLUDE\\}") - (search-input-directory inputs "/include/sdsl")) - (("\\$\\{sdsl-lite-divsufsort_INCLUDE\\}") - (dirname - (search-input-file inputs "/include/divsufsort.h")))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) - (when tests? - (with-directory-excursion "../source/test" - (invoke "make")))))))) + (list + #:configure-flags + #~(list "-DSEQWISH_LINK_SHARED_LIBRARY=ON" + "-DCMAKE_C_FLAGS=-mcx16" + "-DCMAKE_CXX_FLAGS=-mcx16") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-submodules + (lambda _ + (copy-recursively #$seqwish-bbhash-src "deps/BBHash") + (copy-recursively #$seqwish-args-src "deps/args") + (copy-recursively #$seqwish-atomic-queue-src "deps/atomic_queue") + (copy-recursively #$seqwish-atomicbitvector-src "deps/atomicbitvector") + (copy-recursively #$seqwish-flat-hash-map-src "deps/flat_hash_map") + (copy-recursively #$seqwish-gzip-reader-src "deps/gzip_reader") + (copy-recursively #$seqwish-iitii-src "deps/iitii") + (copy-recursively #$seqwish-ips4o-src "deps/ips4o") + (copy-recursively #$seqwish-mmmulti-src "deps/mmmulti") + (copy-recursively #$seqwish-paryfor-src "deps/paryfor") + (copy-recursively #$seqwish-sdsl-lite-src "deps/sdsl-lite") + ;; mmmulti sub-submodules + (copy-recursively #$seqwish-mmmulti-dynamic-src + "deps/mmmulti/deps/DYNAMIC") + (copy-recursively #$seqwish-mmmulti-args-src + "deps/mmmulti/deps/args") + (copy-recursively #$seqwish-mmmulti-atomic-queue-src + "deps/mmmulti/deps/atomic_queue") + (copy-recursively #$seqwish-mmmulti-hopscotch-map-src + "deps/mmmulti/deps/hopscotch-map") + (copy-recursively #$seqwish-mmmulti-ips4o-src + "deps/mmmulti/deps/ips4o") + (copy-recursively #$seqwish-mmmulti-mio-src + "deps/mmmulti/deps/mio") + ;; paryfor and sdsl-lite same commits in both seqwish and mmmulti + (copy-recursively #$seqwish-paryfor-src + "deps/mmmulti/deps/paryfor") + (copy-recursively #$seqwish-sdsl-lite-src + "deps/mmmulti/deps/sdsl-lite") + ;; sdsl-lite's own sub-submodules + (copy-recursively #$seqwish-sdsl-libdivsufsort-src + "deps/sdsl-lite/external/libdivsufsort") + (copy-recursively #$seqwish-sdsl-googletest-src + "deps/sdsl-lite/external/googletest") + (copy-recursively #$seqwish-sdsl-libdivsufsort-src + "deps/mmmulti/deps/sdsl-lite/external/libdivsufsort") + (copy-recursively #$seqwish-sdsl-googletest-src + "deps/mmmulti/deps/sdsl-lite/external/googletest"))) + (add-after 'unpack-submodules 'patch-arch-flags + ;; Moved from origin snippet (requires submodules to be present). + (lambda _ + (substitute* '("CMakeLists.txt" + "deps/atomic_queue/Makefile" + "deps/mmmulti/deps/DYNAMIC/CMakeLists.txt" + "deps/mmmulti/deps/atomic_queue/Makefile" + "deps/mmmulti/deps/ips4o/CMakeLists.txt") + (("-march=native") "") + (("-mcx16") "")) + (substitute* '("deps/mmmulti/deps/sdsl-lite/CMakeLists.txt" + "deps/sdsl-lite/CMakeLists.txt") + (("-msse4.2 -march=native") "")))) + (add-after 'unpack-submodules 'patch-paryfor-riscv + ;; seqwish-paryfor-riscv.patch moved here: patches a submodule file. + (lambda _ + (substitute* "deps/paryfor/paryfor.hpp" + (("} // namespace paryfor\n#else\n#error") + (string-append + "} // namespace paryfor\n" + "#elif defined(__riscv) && (__riscv_xlen == 64)\n" + "namespace paryfor {\n" + "namespace atomic_queue {\n" + "constexpr int CACHE_LINE_SIZE = 64;\n" + "static inline void spin_loop_pause() noexcept {\n" + " asm volatile (\"nop\" ::: \"memory\");\n" + "}\n" + "}\n" + "}\n" + "#else\n" + "#error"))))) + (add-after 'unpack 'set-version + (lambda _ + (mkdir-p "include") + (substitute* "CMakeLists.txt" + (("^execute_process") "#execute_process")) + (with-output-to-file "include/seqwish_git_version.hpp" + (lambda () + (format #t "#define SEQWISH_GIT_VERSION \"~a\"~%" + #$version))))) + (add-after 'unpack-submodules 'link-with-some-shared-libraries + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("CMakeLists.txt" + "deps/mmmulti/CMakeLists.txt") + (("\".*libsdsl\\.a\"") "\"-lsdsl\"") + (("\".*libdivsufsort\\.a\"") "\"-ldivsufsort\"") + (("\".*libdivsufsort64\\.a\"") "\"-ldivsufsort64\"") + (("\\$\\{sdsl-lite_INCLUDE\\}") + (search-input-directory inputs "/include/sdsl")) + (("\\$\\{sdsl-lite-divsufsort_INCLUDE\\}") + (dirname + (search-input-file inputs "/include/divsufsort.h")))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) + (when tests? + (with-directory-excursion "../source/test" + (invoke "make")))))))) (inputs (list jemalloc libdivsufsort @@ -874,6 +1055,51 @@ sequences to accelerate the alignment process.") (properties '((tunable? . #t))) (license license:expat))) +(define vcflib-fastahack-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekg/fastahack") + (commit "bb332654766c2177d6ec07941fe43facf8483b1d"))) + (file-name (git-file-name "fastahack" "bb332654")) + (sha256 (base32 "0rp1blskhzxf7vbh253ibpxbgl9wwgyzf1wbkxndi08d3j4vcss9")))) + +(define vcflib-smithwaterman-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekg/smithwaterman") + (commit "2610e259611ae4cde8f03c72499d28f03f6d38a7"))) + (file-name (git-file-name "smithwaterman" "2610e259")) + (sha256 (base32 "0i9d8zrxpiracw3mxzd9siybpy62p06rqz9mc2w93arajgbk45bs")))) + +(define vcflib-intervaltree-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekg/intervaltree") + (commit "aa5937755000f1cd007402d03b6f7ce4427c5d21"))) + (file-name (git-file-name "intervaltree" "aa593775")) + (sha256 (base32 "0p9aphy6sc01dg67xzqpnhvjmk21xa380bpfbkz24a23s6krhjwl")))) + +(define vcflib-fsom-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekg/fsom") + (commit "56695e1611d824cda97f08e932d25d08419170cd"))) + (file-name (git-file-name "fsom" "56695e16")) + (sha256 (base32 "1ysa209j0wjv763g882jidpxiakd37s96b0avg15cwbfdxzmj7ri")))) + +(define vcflib-filevercmp-src + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekg/filevercmp") + (commit "df20dcc4a2a772de56e804e8fbbcdef1ac068bbe"))) + (file-name (git-file-name "filevercmp" "df20dcc4")) + (sha256 (base32 "16gbpc3vax4k51i5xjc5an5qjjddqycfrdkp4qvw9x2kvqbwyxh3")))) + (define-public vcflib (let ((commit "b118a9bfd99b07da9d40d0bd8b3c2bdc4523b568") (revision "1")) @@ -884,22 +1110,19 @@ sequences to accelerate the alignment process.") (method git-fetch) (uri (git-reference (url "https://github.com/vcflib/vcflib") - (commit commit) - (recursive? #t))) + (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1qgipn1vgkipd36hcm10mz0rg6h04azng2hp5zsjrpr4k1dh1fdr")))) + (base32 "07xvma6iln4wsg7qhgvk3yaqy7plhqj5c9z0lib1xjvninc67874")))) (build-system cmake-build-system) (inputs - (list fastahack - htslib + (list htslib pandoc perl python python-pytest pybind11 ruby - smithwaterman tabixpp time wfa2-lib/cmake @@ -907,6 +1130,20 @@ sequences to accelerate the alignment process.") zig-0.15)) (native-inputs (list pkg-config)) + (arguments + (list + #:configure-flags + #~(list "-DCMAKE_BUILD_TYPE=RelWithDebInfo") + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-submodules + (lambda _ + (copy-recursively #$vcflib-fastahack-src "contrib/fastahack") + (copy-recursively #$vcflib-smithwaterman-src "contrib/smithwaterman") + (copy-recursively #$vcflib-intervaltree-src "contrib/intervaltree") + (copy-recursively #$vcflib-fsom-src "contrib/fsom") + (copy-recursively #$vcflib-filevercmp-src "contrib/filevercmp")))))) (home-page "https://github.com/vcflib/vcflib/") (synopsis "Library for parsing and manipulating VCF files") (description "Vcflib provides methods to manipulate and interpret @@ -1182,8 +1419,7 @@ multiple sequence alignment.") (method git-fetch) (uri (git-reference (url "https://github.com/asl/BandageNG") - (commit (string-append "v" version)) - (recursive? #t))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "071inw1dd0m430p1qh7w2zdvz7y586hgvhhahwv99016l601ha3c")))) |
