diff options
| author | pjotrp | 2026-04-02 10:22:02 +0200 |
|---|---|---|
| committer | pjotrp | 2026-04-02 10:22:02 +0200 |
| commit | c1fce35e114679662209d234e3a100ce6a009995 (patch) | |
| tree | 71794ce42f997053694164bb1de683d285ede166 | |
| parent | f873d984352e0d76ca54ce2d3507dcd0b45c8ebc (diff) | |
| download | guix-bioinformatics-c1fce35e114679662209d234e3a100ce6a009995.tar.gz | |
Added a number of packages for cosigt/impg:
+ gfainject + rust-onecode + ragc + fastga-rs + spoa + impg gfautil + safestringlib + bwa-mem2 + miniprot + pangene + wally + meryl + kfilt + cosigt
| -rw-r--r-- | gn/packages/pangenome-rust.scm | 3094 | ||||
| -rw-r--r-- | gn/packages/pangenome.scm | 395 | ||||
| -rw-r--r-- | gn/packages/patches/do-not-build-cplusplus-spoa.patch | 19 |
3 files changed, 3506 insertions, 2 deletions
diff --git a/gn/packages/pangenome-rust.scm b/gn/packages/pangenome-rust.scm new file mode 100644 index 0000000..1d72cfa --- /dev/null +++ b/gn/packages/pangenome-rust.scm @@ -0,0 +1,3094 @@ +;;; Pangenome Rust packages: gfainject, ragc, fastga-rs, impg +;;; and their Rust crate dependencies + +(define-module (gn packages pangenome-rust) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system cargo) + #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) + #:use-module (guix gexp) + #:use-module (gnu packages) + #:use-module (gnu packages assembly) + #:use-module (gnu packages bioinformatics) + #:use-module (gnu packages cmake) + #:use-module (gnu packages compression) + #:use-module (gnu packages llvm) + #:use-module (gnu packages pkg-config) + #:export (lookup-cargo-inputs + wfa2-lib/our + wfa2-lib-static)) + +;;; +;;; Crate sources (generated by: guix import crate -f Cargo.lock gfainject). +;;; + +(define rust-adler-1.0.2 + (crate-source "adler" "1.0.2" + "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj")) + +(define rust-anyhow-1.0.66 + (crate-source "anyhow" "1.0.66" + "1xj3ahmwjlbiqsajhkaa0q6hqwb4l3l5rkfxa7jk1498r3fn2qi1")) + +(define rust-autocfg-1.1.0 + (crate-source "autocfg" "1.1.0" + "1ylp3cb47ylzabimazvbz9ms6ap784zhb6syaz6c1jqpmcmq0s6l")) + +(define rust-bit-vec-0.6.3 + (crate-source "bit-vec" "0.6.3" + "1ywqjnv60cdh1slhz67psnp422md6jdliji6alq0gmly2xm9p7rl")) + +(define rust-bitflags-1.3.2 + (crate-source "bitflags" "1.3.2" + "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy")) + +(define rust-btoi-0.4.2 + (crate-source "btoi" "0.4.2" + "04ba4j96icaan10c613s2rwpn2kdbl8728qhz2xzi0dakyd8dh4p")) + +(define rust-bytemuck-1.12.3 + (crate-source "bytemuck" "1.12.3" + "0zwlaqkrp7r7bnl2n40x9ncpspb93d8xcckar61f54nal7csi8xa")) + +(define rust-byteorder-1.4.3 + (crate-source "byteorder" "1.4.3" + "0456lv9xi1a5bcm32arknf33ikv76p3fr9yzki4lb2897p2qkh8l")) + +(define rust-bytes-1.2.1 + (crate-source "bytes" "1.2.1" + "1nsni0jbx1048inbrarn3hz6zxd000pp0rac2mr07s7xf1m7p2pc")) + +(define rust-cfg-if-1.0.0 + (crate-source "cfg-if" "1.0.0" + "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds")) + +(define rust-crc32fast-1.3.2 + (crate-source "crc32fast" "1.3.2" + "03c8f29yx293yf43xar946xbls1g60c207m9drf8ilqhr25vsh5m")) + +(define rust-crossbeam-channel-0.5.6 + (crate-source "crossbeam-channel" "0.5.6" + "08f5f043rljl82a06d1inda6nl2b030s7yfqp31ps8w8mzfh9pf2")) + +(define rust-crossbeam-utils-0.8.12 + (crate-source "crossbeam-utils" "0.8.12" + "1b0zs5ahnwkgky7svwah9fhmqx645qnb3h97cnk6q68zzb2zxfpd")) + +(define rust-flate2-1.0.24 + (crate-source "flate2" "1.0.24" + "1xmzzg91c0hdl39qz0hwph0w629bva1dh21j3zyqp7xd4x60yazq")) + +(define rust-hashbrown-0.12.3 + (crate-source "hashbrown" "0.12.3" + "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la")) + +(define rust-indexmap-1.9.1 + (crate-source "indexmap" "1.9.1" + "07nli1wcz7m81svvig8l5j6vjycjnv9va46lwblgy803ffbmm8qh")) + +(define rust-lexical-core-0.8.5 + (crate-source "lexical-core" "0.8.5" + "0ihf0x3vrk25fq3bv9q35m0xax0wmvwkh0j0pjm2yk4ddvh5vpic")) + +(define rust-lexical-parse-float-0.8.5 + (crate-source "lexical-parse-float" "0.8.5" + "0py0gp8hlzcrlvjqmqlpl2v1as65iiqxq2xsabxvhc01pmg3lfv8")) + +(define rust-lexical-parse-integer-0.8.6 + (crate-source "lexical-parse-integer" "0.8.6" + "1sayji3mpvb2xsjq56qcq3whfz8px9a6fxk5v7v15hyhbr4982bd")) + +(define rust-lexical-util-0.8.5 + (crate-source "lexical-util" "0.8.5" + "1z73qkv7yxhsbc4aiginn1dqmsj8jarkrdlyxc88g2gz2vzvjmaj")) + +(define rust-lexical-write-float-0.8.5 + (crate-source "lexical-write-float" "0.8.5" + "0qk825l0csvnksh9sywb51996cjc2bylq6rxjaiha7sqqjhvmjmc")) + +(define rust-lexical-write-integer-0.8.5 + (crate-source "lexical-write-integer" "0.8.5" + "0ii4hmvqrg6pd4j9y1pkhkp0nw2wpivjzmljh6v6ca22yk8z7dp1")) + +(define rust-memchr-2.5.0 + (crate-source "memchr" "2.5.0" + "0vanfk5mzs1g1syqnj03q8n0syggnhn55dq535h2wxr7rwpfbzrd")) + +(define rust-miniz-oxide-0.5.4 + (crate-source "miniz_oxide" "0.5.4" + "0d2xcypr8s0skd81dhlrylas1j794qyz74snm11jc8kmy6l0nncn")) + +(define rust-noodles-0.29.0 + (crate-source "noodles" "0.29.0" + "06y9gjsm790yfs6gbh96yncm7nrp2xmc024jqpjzjk131v75rz9h")) + +(define rust-noodles-bam-0.24.0 + (crate-source "noodles-bam" "0.24.0" + "1fq59hngj0apcp242744kiq099xip2gxz62f9azkrcv66j670bgm")) + +(define rust-noodles-bgzf-0.17.0 + (crate-source "noodles-bgzf" "0.17.0" + "04b22jjs3iy76zgdx239idcfzkf7b753dql5znda3gj42namhrvr")) + +(define rust-noodles-core-0.9.0 + (crate-source "noodles-core" "0.9.0" + "1r1gywapdgvqk5ah07lnfikls58nn5m7dmbh3m05klg1fqxg4dd5")) + +(define rust-noodles-csi-0.11.0 + (crate-source "noodles-csi" "0.11.0" + "0syl3f3aqy5g3b7l3mhhxr42zrdbnzb0n1izcakv4hwhwr74kip2")) + +(define rust-noodles-fasta-0.16.0 + (crate-source "noodles-fasta" "0.16.0" + "1irjih7gqgykh75j0ynn6nx104jgg2y93jp4c8xjnhp8qbibjc17")) + +(define rust-noodles-sam-0.21.0 + (crate-source "noodles-sam" "0.21.0" + "133l649g9ghs8ckaivjskfddn6rfi5f0lisb884lbhv3v92kisrc")) + +(define rust-num-traits-0.2.15 + (crate-source "num-traits" "0.2.15" + "1kfdqqw2ndz0wx2j75v9nbjx7d3mh3150zs4p5595y02rwsdx3jp")) + +(define rust-pico-args-0.5.0 + (crate-source "pico-args" "0.5.0" + "05d30pvxd6zlnkg2i3ilr5a70v3f3z2in18m67z25vinmykngqav")) + +(define rust-retain-mut-0.1.7 + (crate-source "retain_mut" "0.1.7" + "11j09lp1wqwc2r9bw58my2474zj95jz5fihff3ldv3rz0g2baccc")) + +(define rust-roaring-0.10.1 + (crate-source "roaring" "0.10.1" + "0wcgprdw49xy7w00zzspbhrq8f1kvlwqasmfxh8y1gd84vlba3zg")) + +(define rust-rustc-hash-1.1.0 + (crate-source "rustc-hash" "1.1.0" + "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08")) + +(define rust-static-assertions-1.1.0 + (crate-source "static_assertions" "1.1.0" + "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2")) + +;;; +;;; Crate sources (generated by: guix import crate -f Cargo.lock ragc-cli). +;;; + +(define rust-adler2-2.0.1 + (crate-source "adler2" "2.0.1" + "1ymy18s9hs7ya1pjc9864l30wk8p2qfqdi7mhhcc5nfakxbij09j")) + +(define rust-ahash-0.8.12 + (crate-source "ahash" "0.8.12" + "0xbsp9rlm5ki017c0w6ay8kjwinwm8knjncci95mii30rmwz25as")) + +(define rust-aho-corasick-1.1.4 + (crate-source "aho-corasick" "1.1.4" + "00a32wb2h07im3skkikc495jvncf62jl6s96vwc7bhi70h9imlyx")) + +(define rust-allocator-api2-0.2.21 + (crate-source "allocator-api2" "0.2.21" + "08zrzs022xwndihvzdn78yqarv2b9696y67i6h78nla3ww87jgb8")) + +(define rust-anes-0.1.6 + (crate-source "anes" "0.1.6" + "16bj1ww1xkwzbckk32j2pnbn5vk6wgsl3q4p3j9551xbcarwnijb")) + +(define rust-anstream-0.6.21 + (crate-source "anstream" "0.6.21" + "0jjgixms4qjj58dzr846h2s29p8w7ynwr9b9x6246m1pwy0v5ma3")) + +(define rust-anstyle-1.0.13 + (crate-source "anstyle" "1.0.13" + "0y2ynjqajpny6q0amvfzzgw0gfw3l47z85km4gvx87vg02lcr4ji")) + +(define rust-anstyle-parse-0.2.7 + (crate-source "anstyle-parse" "0.2.7" + "1hhmkkfr95d462b3zf6yl2vfzdqfy5726ya572wwg8ha9y148xjf")) + +(define rust-anstyle-query-1.1.5 + (crate-source "anstyle-query" "1.1.5" + "1p6shfpnbghs6jsa0vnqd8bb8gd7pjd0jr7w0j8jikakzmr8zi20")) + +(define rust-anstyle-wincon-3.0.11 + (crate-source "anstyle-wincon" "3.0.11" + "0zblannm70sk3xny337mz7c6d8q8i24vhbqi42ld8v7q1wjnl7i9")) + +(define rust-anyhow-1.0.102 + (crate-source "anyhow" "1.0.102" + "0b447dra1v12z474c6z4jmicdmc5yxz5bakympdnij44ckw2s83z")) + +(define rust-arbitrary-chunks-0.4.1 + (crate-source "arbitrary-chunks" "0.4.1" + "11j0xrjcnj8zygdpwqpc9110ac6yji35lw8mx80w85k492d6in1a")) + +(define rust-autocfg-1.5.0 + (crate-source "autocfg" "1.5.0" + "1s77f98id9l4af4alklmzq46f21c980v13z2r1pcxx6bqgw0d1n0")) + +(define rust-bincode-1.3.3 + (crate-source "bincode" "1.3.3" + "1bfw3mnwzx5g1465kiqllp5n4r10qrqy88kdlp3jfwnq2ya5xx5i")) + +(define rust-bitflags-2.11.0 + (crate-source "bitflags" "2.11.0" + "1bwjibwry5nfwsfm9kjg2dqx5n5nja9xymwbfl6svnn8jsz6ff44")) + +(define rust-block-buffer-0.10.4 + (crate-source "block-buffer" "0.10.4" + "0w9sa2ypmrsqqvc20nhwr75wbb5cjr4kkyhpjm1z1lv2kdicfy1h")) + +(define rust-block-pseudorand-0.1.2 + (crate-source "block-pseudorand" "0.1.2" + "19hm05q3nfp5akn9vkq8f09hhimsxlzd3x266xja0i6jjn23b5r0")) + +(define rust-bumpalo-3.20.2 + (crate-source "bumpalo" "3.20.2" + "1jrgxlff76k9glam0akhwpil2fr1w32gbjdf5hpipc7ld2c7h82x")) + +(define rust-byteorder-1.5.0 + (crate-source "byteorder" "1.5.0" + "0jzncxyf404mwqdbspihyzpkndfgda450l0893pz5xj685cg5l0z")) + +(define rust-cast-0.3.0 + (crate-source "cast" "0.3.0" + "1dbyngbyz2qkk0jn2sxil8vrz3rnpcj142y184p9l4nbl9radcip")) + +(define rust-cc-1.2.56 + (crate-source "cc" "1.2.56" + "1chvh9g2izhqad7vzy4cc7xpdljdvqpsr6x6hv1hmyqv3mlkbgxf")) + +(define rust-cfg-if-1.0.4 + (crate-source "cfg-if" "1.0.4" + "008q28ajc546z5p2hcwdnckmg0hia7rnx52fni04bwqkzyrghc4k")) + +(define rust-chiapos-chacha8-0.1.0 + (crate-source "chiapos-chacha8" "0.1.0" + "02ndd71c6j85dj2vy55ri7j9abz30x686hwf3fyc5xl579bvxy1k")) + +(define rust-ciborium-0.2.2 + (crate-source "ciborium" "0.2.2" + "03hgfw4674im1pdqblcp77m7rc8x2v828si5570ga5q9dzyrzrj2")) + +(define rust-ciborium-io-0.2.2 + (crate-source "ciborium-io" "0.2.2" + "0my7s5g24hvp1rs1zd1cxapz94inrvqpdf1rslrvxj8618gfmbq5")) + +(define rust-ciborium-ll-0.2.2 + (crate-source "ciborium-ll" "0.2.2" + "1n8g4j5rwkfs3rzfi6g1p7ngmz6m5yxsksryzf5k72ll7mjknrjp")) + +(define rust-clap-4.5.60 + (crate-source "clap" "4.5.60" + "02h3nzznssjgp815nnbzk0r62y2iw03kdli75c233kirld6z75r7")) + +(define rust-clap-builder-4.5.60 + (crate-source "clap_builder" "4.5.60" + "0xk8mdizvmmn6w5ij5cwhy5pbgyac4w9pfvl6nqmjl7a5hql38i4")) + +(define rust-clap-derive-4.5.55 + (crate-source "clap_derive" "4.5.55" + "1r949xis3jmhzh387smd70vc8a3b9734ck3g5ahg59a63bd969x9")) + +(define rust-clap-lex-1.0.0 + (crate-source "clap_lex" "1.0.0" + "0c8888qi1l9sayqlv666h8s0yxn2qc6jr88v1zagk43mpjjjx0is")) + +(define rust-colorchoice-1.0.4 + (crate-source "colorchoice" "1.0.4" + "0x8ymkz1xr77rcj1cfanhf416pc4v681gmkc9dzb3jqja7f62nxh")) + +(define rust-cpufeatures-0.2.17 + (crate-source "cpufeatures" "0.2.17" + "10023dnnaghhdl70xcds12fsx2b966sxbxjq5sxs49mvxqw5ivar")) + +(define rust-crc32fast-1.5.0 + (crate-source "crc32fast" "1.5.0" + "04d51liy8rbssra92p0qnwjw8i9rm9c4m3bwy19wjamz1k4w30cl")) + +(define rust-criterion-0.5.1 + (crate-source "criterion" "0.5.1" + "0bv9ipygam3z8kk6k771gh9zi0j0lb9ir0xi1pc075ljg80jvcgj")) + +(define rust-criterion-plot-0.5.0 + (crate-source "criterion-plot" "0.5.0" + "1c866xkjqqhzg4cjvg01f8w6xc1j3j7s58rdksl52skq89iq4l3b")) + +(define rust-crossbeam-0.8.4 + (crate-source "crossbeam" "0.8.4" + "1a5c7yacnk723x0hfycdbl91ks2nxhwbwy46b8y5vyy0gxzcsdqi")) + +(define rust-crossbeam-channel-0.5.15 + (crate-source "crossbeam-channel" "0.5.15" + "1cicd9ins0fkpfgvz9vhz3m9rpkh6n8d3437c3wnfsdkd3wgif42")) + +(define rust-crossbeam-deque-0.8.6 + (crate-source "crossbeam-deque" "0.8.6" + "0l9f1saqp1gn5qy0rxvkmz4m6n7fc0b3dbm6q1r5pmgpnyvi3lcx")) + +(define rust-crossbeam-epoch-0.9.18 + (crate-source "crossbeam-epoch" "0.9.18" + "03j2np8llwf376m3fxqx859mgp9f83hj1w34153c7a9c7i5ar0jv")) + +(define rust-crossbeam-queue-0.3.12 + (crate-source "crossbeam-queue" "0.3.12" + "059igaxckccj6ndmg45d5yf7cm4ps46c18m21afq3pwiiz1bnn0g")) + +(define rust-crossbeam-utils-0.8.21 + (crate-source "crossbeam-utils" "0.8.21" + "0a3aa2bmc8q35fb67432w16wvi54sfmb69rk9h5bhd18vw0c99fh")) + +(define rust-crunchy-0.2.4 + (crate-source "crunchy" "0.2.4" + "1mbp5navim2qr3x48lyvadqblcxc1dm0lqr0swrkkwy2qblvw3s6")) + +(define rust-crypto-common-0.1.7 + (crate-source "crypto-common" "0.1.7" + "02nn2rhfy7kvdkdjl457q2z0mklcvj9h662xrq6dzhfialh2kj3q")) + +(define rust-dashmap-6.1.0 + (crate-source "dashmap" "6.1.0" + "1kvnw859xvrqyd1lk89na6797yvl5bri4wi9j0viz2a4j54wqhah")) + +(define rust-digest-0.10.7 + (crate-source "digest" "0.10.7" + "14p2n6ih29x81akj097lvz7wi9b6b9hvls0lwrv7b6xwyy0s5ncy")) + +(define rust-either-1.15.0 + (crate-source "either" "1.15.0" + "069p1fknsmzn9llaizh77kip0pqmcwpdsykv2x30xpjyija5gis8")) + +(define rust-equivalent-1.0.2 + (crate-source "equivalent" "1.0.2" + "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7")) + +(define rust-errno-0.3.14 + (crate-source "errno" "0.3.14" + "1szgccmh8vgryqyadg8xd58mnwwicf39zmin3bsn63df2wbbgjir")) + +(define rust-fastrand-2.3.0 + (crate-source "fastrand" "2.3.0" + "1ghiahsw1jd68df895cy5h3gzwk30hndidn3b682zmshpgmrx41p")) + +(define rust-find-msvc-tools-0.1.9 + (crate-source "find-msvc-tools" "0.1.9" + "10nmi0qdskq6l7zwxw5g56xny7hb624iki1c39d907qmfh3vrbjv")) + +(define rust-flate2-1.1.9 + (crate-source "flate2" "1.1.9" + "0g2pb7cxnzcbzrj8bw4v6gpqqp21aycmf6d84rzb6j748qkvlgw4")) + +(define rust-foldhash-0.1.5 + (crate-source "foldhash" "0.1.5" + "1wisr1xlc2bj7hk4rgkcjkz3j2x4dhd1h9lwk7mj8p71qpdgbi6r")) + +(define rust-generic-array-0.14.7 + (crate-source "generic-array" "0.14.7" + "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45")) + +(define rust-getrandom-0.3.4 + (crate-source "getrandom" "0.3.4" + "1zbpvpicry9lrbjmkd4msgj3ihff1q92i334chk7pzf46xffz7c9")) + +(define rust-getrandom-0.4.2 + (crate-source "getrandom" "0.4.2" + "0mb5833hf9pvn9dhvxjgfg5dx0m77g8wavvjdpvpnkp9fil1xr8d")) + +(define rust-half-2.7.1 + (crate-source "half" "2.7.1" + "0jyq42xfa6sghc397mx84av7fayd4xfxr4jahsqv90lmjr5xi8kf")) + +(define rust-hashbrown-0.14.5 + (crate-source "hashbrown" "0.14.5" + "1wa1vy1xs3mp11bn3z9dv0jricgr6a2j0zkf1g19yz3vw4il89z5")) + +(define rust-hashbrown-0.15.5 + (crate-source "hashbrown" "0.15.5" + "189qaczmjxnikm9db748xyhiw04kpmhm9xj9k9hg0sgx7pjwyacj")) + +(define rust-hashbrown-0.16.1 + (crate-source "hashbrown" "0.16.1" + "004i3njw38ji3bzdp9z178ba9x3k0c1pgy8x69pj7yfppv4iq7c4")) + +(define rust-heck-0.5.0 + (crate-source "heck" "0.5.0" + "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113")) + +(define rust-hermit-abi-0.5.2 + (crate-source "hermit-abi" "0.5.2" + "1744vaqkczpwncfy960j2hxrbjl1q01csm84jpd9dajbdr2yy3zw")) + +(define rust-id-arena-2.3.0 + (crate-source "id-arena" "2.3.0" + "0m6rs0jcaj4mg33gkv98d71w3hridghp5c4yr928hplpkgbnfc1x")) + +(define rust-indexmap-2.13.0 + (crate-source "indexmap" "2.13.0" + "05qh5c4h2hrnyypphxpwflk45syqbzvqsvvyxg43mp576w2ff53p")) + +(define rust-is-terminal-0.4.17 + (crate-source "is-terminal" "0.4.17" + "0ilfr9n31m0k6fsm3gvfrqaa62kbzkjqpwcd9mc46klfig1w2h1n")) + +(define rust-is-terminal-polyfill-1.70.2 + (crate-source "is_terminal_polyfill" "1.70.2" + "15anlc47sbz0jfs9q8fhwf0h3vs2w4imc030shdnq54sny5i7jx6")) + +(define rust-itertools-0.10.5 + (crate-source "itertools" "0.10.5" + "0ww45h7nxx5kj6z2y6chlskxd1igvs4j507anr6dzg99x1h25zdh")) + +(define rust-itoa-1.0.17 + (crate-source "itoa" "1.0.17" + "1lh93xydrdn1g9x547bd05g0d3hra7pd1k4jfd2z1pl1h5hwdv4j")) + +(define rust-jobserver-0.1.34 + (crate-source "jobserver" "0.1.34" + "0cwx0fllqzdycqn4d6nb277qx5qwnmjdxdl0lxkkwssx77j3vyws")) + +(define rust-js-sys-0.3.91 + ;; TODO REVIEW: Check bundled sources. + (crate-source "js-sys" "0.3.91" + "171rzgq33wc1nxkgnvhlqqwwnrifs13mg3jjpjj5nf1z0yvib5xl")) + +(define rust-leb128fmt-0.1.0 + (crate-source "leb128fmt" "0.1.0" + "1chxm1484a0bly6anh6bd7a99sn355ymlagnwj3yajafnpldkv89")) + +(define rust-libc-0.2.183 + (crate-source "libc" "0.2.183" + "17c9gyia7rrzf9gsssvk3vq9ca2jp6rh32fsw6ciarpn5djlddmm")) + +(define rust-linux-raw-sys-0.12.1 + ;; TODO REVIEW: Check bundled sources. + (crate-source "linux-raw-sys" "0.12.1" + "0lwasljrqxjjfk9l2j8lyib1babh2qjlnhylqzl01nihw14nk9ij")) + +(define rust-lock-api-0.4.14 + (crate-source "lock_api" "0.4.14" + "0rg9mhx7vdpajfxvdjmgmlyrn20ligzqvn8ifmaz7dc79gkrjhr2")) + +(define rust-log-0.4.29 + (crate-source "log" "0.4.29" + "15q8j9c8g5zpkcw0hnd6cf2z7fxqnvsjh3rw5mv5q10r83i34l2y")) + +(define rust-memchr-2.8.0 + (crate-source "memchr" "2.8.0" + "0y9zzxcqxvdqg6wyag7vc3h0blhdn7hkq164bxyx2vph8zs5ijpq")) + +(define rust-miniz-oxide-0.8.9 + (crate-source "miniz_oxide" "0.8.9" + "05k3pdg8bjjzayq3rf0qhpirq9k37pxnasfn4arbs17phqn6m9qz")) + +(define rust-nanorand-0.6.1 + (crate-source "nanorand" "0.6.1" + "0n4903vzvk1ywp35x7qpf5avh4apqnjx1550w01iiakx4hsb77kj")) + +(define rust-num-traits-0.2.19 + (crate-source "num-traits" "0.2.19" + "0h984rhdkkqd4ny9cif7y2azl3xdfb7768hb9irhpsch4q3gq787")) + +(define rust-num-cpus-1.17.0 + (crate-source "num_cpus" "1.17.0" + "0fxjazlng4z8cgbmsvbzv411wrg7x3hyxdq8nxixgzjswyylppwi")) + +(define rust-once-cell-1.21.3 + (crate-source "once_cell" "1.21.3" + "0b9x77lb9f1j6nqgf5aka4s2qj0nly176bpbrv6f9iakk5ff3xa2")) + +(define rust-once-cell-polyfill-1.70.2 + (crate-source "once_cell_polyfill" "1.70.2" + "1zmla628f0sk3fhjdjqzgxhalr2xrfna958s632z65bjsfv8ljrq")) + +(define rust-oorandom-11.1.5 + (crate-source "oorandom" "11.1.5" + "07mlf13z453fq01qff38big1lh83j8l6aaglf63ksqzzqxc0yyfn")) + +(define rust-parking-lot-core-0.9.12 + (crate-source "parking_lot_core" "0.9.12" + "1hb4rggy70fwa1w9nb0svbyflzdc69h047482v2z3sx2hmcnh896")) + +(define rust-partition-0.1.2 + (crate-source "partition" "0.1.2" + "1fiapzg2mnafr3zpc4w67grljk3qk1n4gh67iqmz2p2qm8x86zwl")) + +(define rust-pkg-config-0.3.32 + (crate-source "pkg-config" "0.3.32" + "0k4h3gnzs94sjb2ix6jyksacs52cf1fanpwsmlhjnwrdnp8dppby")) + +(define rust-plotters-0.3.7 + (crate-source "plotters" "0.3.7" + "0ixpy9svpmr2rkzkxvvdpysjjky4gw104d73n7pi2jbs7m06zsss")) + +(define rust-plotters-backend-0.3.7 + (crate-source "plotters-backend" "0.3.7" + "0ahpliim4hrrf7d4ispc2hwr7rzkn6d6nf7lyyrid2lm28yf2hnz")) + +(define rust-plotters-svg-0.3.7 + (crate-source "plotters-svg" "0.3.7" + "0w56sxaa2crpasa1zj0bhxzihlapqfkncggavyngg0w86anf5fji")) + +(define rust-prettyplease-0.2.37 + (crate-source "prettyplease" "0.2.37" + "0azn11i1kh0byabhsgab6kqs74zyrg69xkirzgqyhz6xmjnsi727")) + +(define rust-proc-macro2-1.0.106 + (crate-source "proc-macro2" "1.0.106" + "0d09nczyaj67x4ihqr5p7gxbkz38gxhk4asc0k8q23g9n85hzl4g")) + +(define rust-quote-1.0.45 + (crate-source "quote" "1.0.45" + "095rb5rg7pbnwdp6v8w5jw93wndwyijgci1b5lw8j1h5cscn3wj1")) + +(define rust-r-efi-5.3.0 + (crate-source "r-efi" "5.3.0" + "03sbfm3g7myvzyylff6qaxk4z6fy76yv860yy66jiswc2m6b7kb9")) + +(define rust-r-efi-6.0.0 + (crate-source "r-efi" "6.0.0" + "1gyrl2k5fyzj9k7kchg2n296z5881lg7070msabid09asp3wkp7q")) + +(define rust-rayon-1.11.0 + (crate-source "rayon" "1.11.0" + "13x5fxb7rn4j2yw0cr26n7782jkc7rjzmdkg42qxk3xz0p8033rn")) + +(define rust-rayon-core-1.13.0 + (crate-source "rayon-core" "1.13.0" + "14dbr0sq83a6lf1rfjq5xdpk5r6zgzvmzs5j6110vlv2007qpq92")) + +(define rust-rdst-0.20.14 + (crate-source "rdst" "0.20.14" + "0li77hviphwg27p2dc2v3x71lvdnc9k5ysz5snb6mdvpwns70ybf")) + +(define rust-redox-syscall-0.5.18 + (crate-source "redox_syscall" "0.5.18" + "0b9n38zsxylql36vybw18if68yc9jczxmbyzdwyhb9sifmag4azd")) + +(define rust-regex-1.12.3 + (crate-source "regex" "1.12.3" + "0xp2q0x7ybmpa5zlgaz00p8zswcirj9h8nry3rxxsdwi9fhm81z1")) + +(define rust-regex-automata-0.4.14 + (crate-source "regex-automata" "0.4.14" + "13xf7hhn4qmgfh784llcp2kzrvljd13lb2b1ca0mwnf15w9d87bf")) + +(define rust-regex-syntax-0.8.10 + (crate-source "regex-syntax" "0.8.10" + "02jx311ka0daxxc7v45ikzhcl3iydjbbb0mdrpc1xgg8v7c7v2fw")) + +(define rust-rustix-1.1.4 + (crate-source "rustix" "1.1.4" + "14511f9yjqh0ix07xjrjpllah3325774gfwi9zpq72sip5jlbzmn")) + +(define rust-rustversion-1.0.22 + (crate-source "rustversion" "1.0.22" + "0vfl70jhv72scd9rfqgr2n11m5i9l1acnk684m2w83w0zbqdx75k")) + +(define rust-same-file-1.0.6 + (crate-source "same-file" "1.0.6" + "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k")) + +(define rust-scopeguard-1.2.0 + (crate-source "scopeguard" "1.2.0" + "0jcz9sd47zlsgcnm1hdw0664krxwb5gczlif4qngj2aif8vky54l")) + +(define rust-semver-1.0.27 + (crate-source "semver" "1.0.27" + "1qmi3akfrnqc2hfkdgcxhld5bv961wbk8my3ascv5068mc5fnryp")) + +(define rust-serde-1.0.228 + (crate-source "serde" "1.0.228" + "17mf4hhjxv5m90g42wmlbc61hdhlm6j9hwfkpcnd72rpgzm993ls")) + +(define rust-serde-core-1.0.228 + (crate-source "serde_core" "1.0.228" + "1bb7id2xwx8izq50098s5j2sqrrvk31jbbrjqygyan6ask3qbls1")) + +(define rust-serde-derive-1.0.228 + (crate-source "serde_derive" "1.0.228" + "0y8xm7fvmr2kjcd029g9fijpndh8csv5m20g4bd76w8qschg4h6m")) + +(define rust-serde-json-1.0.149 + (crate-source "serde_json" "1.0.149" + "11jdx4vilzrjjd1dpgy67x5lgzr0laplz30dhv75lnf5ffa07z43")) + +(define rust-sha2-0.10.9 + (crate-source "sha2" "0.10.9" + "10xjj843v31ghsksd9sl9y12qfc48157j1xpb8v1ml39jy0psl57")) + +(define rust-shlex-1.3.0 + (crate-source "shlex" "1.3.0" + "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg")) + +(define rust-simd-adler32-0.3.8 + (crate-source "simd-adler32" "0.3.8" + "18lx2gdgislabbvlgw5q3j5ssrr77v8kmkrxaanp3liimp2sc873")) + +(define rust-smallvec-1.15.1 + (crate-source "smallvec" "1.15.1" + "00xxdxxpgyq5vjnpljvkmy99xij5rxgh913ii1v16kzynnivgcb7")) + +(define rust-strsim-0.11.1 + (crate-source "strsim" "0.11.1" + "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x")) + +(define rust-syn-2.0.117 + (crate-source "syn" "2.0.117" + "16cv7c0wbn8amxc54n4w15kxlx5ypdmla8s0gxr2l7bv7s0bhrg6")) + +(define rust-tempfile-3.26.0 + (crate-source "tempfile" "3.26.0" + "182lfcv9d5w9349i0rjlgn4431k2m3yqfn9ls84p9d3ifxv2r9w2")) + +(define rust-thiserror-1.0.69 + (crate-source "thiserror" "1.0.69" + "0lizjay08agcr5hs9yfzzj6axs53a2rgx070a1dsi3jpkcrzbamn")) + +(define rust-thiserror-impl-1.0.69 + (crate-source "thiserror-impl" "1.0.69" + "1h84fmn2nai41cxbhk6pqf46bxqq1b344v8yz089w1chzi76rvjg")) + +(define rust-tikv-jemalloc-sys-0.5.4+5.3.0-patched + ;; TODO REVIEW: Check bundled sources. + (crate-source "tikv-jemalloc-sys" "0.5.4+5.3.0-patched" + "1lc5vm1p9dqdvd3mn3264zddnd7z6i95ch3y69prnjgxp0y480ll")) + +(define rust-tikv-jemallocator-0.5.4 + (crate-source "tikv-jemallocator" "0.5.4" + "1jpanfm9az8hcbg6dyxdabykx03lj0j4g9cbwfa6rig5dg1f0pwn")) + +(define rust-tinytemplate-1.2.1 + (crate-source "tinytemplate" "1.2.1" + "1g5n77cqkdh9hy75zdb01adxn45mkh9y40wdr7l68xpz35gnnkdy")) + +(define rust-typenum-1.19.0 + (crate-source "typenum" "1.19.0" + "1fw2mpbn2vmqan56j1b3fbpcdg80mz26fm53fs16bq5xcq84hban")) + +(define rust-unicode-ident-1.0.24 + (crate-source "unicode-ident" "1.0.24" + "0xfs8y1g7syl2iykji8zk5hgfi5jw819f5zsrbaxmlzwsly33r76")) + +(define rust-unicode-xid-0.2.6 + (crate-source "unicode-xid" "0.2.6" + "0lzqaky89fq0bcrh6jj6bhlz37scfd8c7dsj5dq7y32if56c1hgb")) + +(define rust-utf8parse-0.2.2 + (crate-source "utf8parse" "0.2.2" + "088807qwjq46azicqwbhlmzwrbkz7l4hpw43sdkdyyk524vdxaq6")) + +(define rust-version-check-0.9.5 + (crate-source "version_check" "0.9.5" + "0nhhi4i5x89gm911azqbn7avs9mdacw2i3vcz3cnmz3mv4rqz4hb")) + +(define rust-voracious-radix-sort-1.2.0 + (crate-source "voracious_radix_sort" "1.2.0" + "16a8j7hm35j3y8rah8mi4j2c8wavxvr1xrgpbb872yn2nvy7yvj4")) + +(define rust-walkdir-2.5.0 + (crate-source "walkdir" "2.5.0" + "0jsy7a710qv8gld5957ybrnc07gavppp963gs32xk4ag8130jy99")) + +(define rust-wasip2-1.0.2+wasi-0.2.9 + (crate-source "wasip2" "1.0.2+wasi-0.2.9" + "1xdw7v08jpfjdg94sp4lbdgzwa587m5ifpz6fpdnkh02kwizj5wm")) + +(define rust-wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06 + (crate-source "wasip3" "0.4.0+wasi-0.3.0-rc-2026-01-06" + "19dc8p0y2mfrvgk3qw3c3240nfbylv22mvyxz84dqpgai2zzha2l")) + +(define rust-wasm-bindgen-0.2.114 + (crate-source "wasm-bindgen" "0.2.114" + "13nkhw552hpllrrmkd2x9y4bmcxr82kdpky2n667kqzcq6jzjck5")) + +(define rust-wasm-bindgen-macro-0.2.114 + (crate-source "wasm-bindgen-macro" "0.2.114" + "1rhq9kkl7n0zjrag9p25xsi4aabpgfkyf02zn4xv6pqhrw7xb8hq")) + +(define rust-wasm-bindgen-macro-support-0.2.114 + (crate-source "wasm-bindgen-macro-support" "0.2.114" + "1qriqqjpn922kv5c7f7627fj823k5aifv06j2gvwsiy5map4rkh3")) + +(define rust-wasm-bindgen-shared-0.2.114 + (crate-source "wasm-bindgen-shared" "0.2.114" + "05lc6w64jxlk4wk8rjci4z61lhx2ams90la27a41gvi3qaw2d8vm")) + +(define rust-wasm-encoder-0.244.0 + (crate-source "wasm-encoder" "0.244.0" + "06c35kv4h42vk3k51xjz1x6hn3mqwfswycmr6ziky033zvr6a04r")) + +(define rust-wasm-metadata-0.244.0 + (crate-source "wasm-metadata" "0.244.0" + "02f9dhlnryd2l7zf03whlxai5sv26x4spfibjdvc3g9gd8z3a3mv")) + +(define rust-wasmparser-0.244.0 + (crate-source "wasmparser" "0.244.0" + "1zi821hrlsxfhn39nqpmgzc0wk7ax3dv6vrs5cw6kb0v5v3hgf27")) + +(define rust-web-sys-0.3.91 + ;; TODO REVIEW: Check bundled sources. + (crate-source "web-sys" "0.3.91" + "1y91r8f4dy4iqgrr03swdzqffz6wmllrgninp8kgpaq4n5xs2jw5")) + +(define rust-winapi-util-0.1.11 + (crate-source "winapi-util" "0.1.11" + "08hdl7mkll7pz8whg869h58c1r9y7in0w0pk8fm24qc77k0b39y2")) + +(define rust-windows-link-0.2.1 + (crate-source "windows-link" "0.2.1" + "1rag186yfr3xx7piv5rg8b6im2dwcf8zldiflvb22xbzwli5507h")) + +(define rust-windows-sys-0.61.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "windows-sys" "0.61.2" + "1z7k3y9b6b5h52kid57lvmvm05362zv1v8w0gc7xyv5xphlp44xf")) + +(define rust-wit-bindgen-0.51.0 + (crate-source "wit-bindgen" "0.51.0" + "19fazgch8sq5cvjv3ynhhfh5d5x08jq2pkw8jfb05vbcyqcr496p")) + +(define rust-wit-bindgen-core-0.51.0 + (crate-source "wit-bindgen-core" "0.51.0" + "1p2jszqsqbx8k7y8nwvxg65wqzxjm048ba5phaq8r9iy9ildwqga")) + +(define rust-wit-bindgen-rust-0.51.0 + (crate-source "wit-bindgen-rust" "0.51.0" + "08bzn5fsvkb9x9wyvyx98qglknj2075xk1n7c5jxv15jykh6didp")) + +(define rust-wit-bindgen-rust-macro-0.51.0 + (crate-source "wit-bindgen-rust-macro" "0.51.0" + "0ymizapzv2id89igxsz2n587y2hlfypf6n8kyp68x976fzyrn3qc")) + +(define rust-wit-component-0.244.0 + (crate-source "wit-component" "0.244.0" + "1clwxgsgdns3zj2fqnrjcp8y5gazwfa1k0sy5cbk0fsmx4hflrlx")) + +(define rust-wit-parser-0.244.0 + (crate-source "wit-parser" "0.244.0" + "0dm7avvdxryxd5b02l0g5h6933z1cw5z0d4wynvq2cywq55srj7c")) + +(define rust-zerocopy-0.8.40 + (crate-source "zerocopy" "0.8.40" + "1r9j2mlb54q1l9pgall3mk0gg6cprhdncvbbgsgxnxmmj3jcd2d7")) + +(define rust-zerocopy-derive-0.8.40 + (crate-source "zerocopy-derive" "0.8.40" + "0lsrhg5nvf0c40z644a014l2nrvh7xw0ff3i9744k9vif2d4hp7n")) + +(define rust-zmij-1.0.21 + (crate-source "zmij" "1.0.21" + "1amb5i6gz7yjb0dnmz5y669674pqmwbj44p4yfxfv2ncgvk8x15q")) + +(define rust-zstd-0.13.3 + (crate-source "zstd" "0.13.3" + "12n0h4w9l526li7jl972rxpyf012jw3nwmji2qbjghv9ll8y67p9")) + +(define rust-zstd-safe-7.2.4 + (crate-source "zstd-safe" "7.2.4" + "179vxmkzhpz6cq6mfzvgwc99bpgllkr6lwxq7ylh5dmby3aw8jcg")) + +(define rust-zstd-sys-2.0.16+zstd.1.5.7 + ;; TODO REVIEW: Check bundled sources. + (crate-source "zstd-sys" "2.0.16+zstd.1.5.7" + "0j1pd2iaqpvaxlgqmmijj68wma7xwdv9grrr63j873yw5ay9xqci")) + +;;; +;;; Crate sources (generated by: guix import crate -f Cargo.lock onecode). +;;; + +(define rust-aho-corasick-1.1.3 + (crate-source "aho-corasick" "1.1.3" + "05mrpkvdgp5d20y2p989f187ry9diliijgwrs254fs9s1m1x6q4f")) + +(define rust-bindgen-0.70.1 + (crate-source "bindgen" "0.70.1" + "0vyf0jp6apcy9kjyz4s8vldj0xqycnbzb6zv3skkwiqdi3nqz7gl")) + +(define rust-bitflags-2.9.4 + (crate-source "bitflags" "2.9.4" + "157kkcv8s7vk6d17dar1pa5cqcz4c8pdrn16wm1ld7jnr86d2q92")) + +(define rust-cc-1.2.40 + (crate-source "cc" "1.2.40" + "1ywr07jr2rj1h7gkgkc2c1bn39wchpfnrm39sjm7dzdiyj95vl71")) + +(define rust-cexpr-0.6.0 + (crate-source "cexpr" "0.6.0" + "0rl77bwhs5p979ih4r0202cn5jrfsrbgrksp40lkfz5vk1x3ib3g")) + +(define rust-cfg-if-1.0.3 + (crate-source "cfg-if" "1.0.3" + "1afg7146gbxjvkbjx7i5sdrpqp9q5akmk9004fr8rsm90jf2il9g")) + +(define rust-clang-sys-1.8.1 + ;; TODO REVIEW: Check bundled sources. + (crate-source "clang-sys" "1.8.1" + "1x1r9yqss76z8xwpdanw313ss6fniwc1r7dzb5ycjn0ph53kj0hb")) + +(define rust-find-msvc-tools-0.1.3 + (crate-source "find-msvc-tools" "0.1.3" + "1cr47xn14dgkyd5ca2jzfk1apkm3wwqvvglqqhrcx4aidv9gk683")) + +(define rust-glob-0.3.3 + (crate-source "glob" "0.3.3" + "106jpd3syfzjfj2k70mwm0v436qbx96wig98m4q8x071yrq35hhc")) + +(define rust-itertools-0.13.0 + (crate-source "itertools" "0.13.0" + "11hiy3qzl643zcigknclh446qb9zlg4dpdzfkjaa9q9fqpgyfgj1")) + +(define rust-libc-0.2.176 + (crate-source "libc" "0.2.176" + "0x7ivn80h7nz2l46vra7bxx36s6r8d0lkax14dx97skjsss2kyaq")) + +(define rust-libloading-0.8.9 + (crate-source "libloading" "0.8.9" + "0mfwxwjwi2cf0plxcd685yxzavlslz7xirss3b9cbrzyk4hv1i6p")) + +(define rust-log-0.4.28 + (crate-source "log" "0.4.28" + "0cklpzrpxafbaq1nyxarhnmcw9z3xcjrad3ch55mmr58xw2ha21l")) + +(define rust-memchr-2.7.6 + (crate-source "memchr" "2.7.6" + "0wy29kf6pb4fbhfksjbs05jy2f32r2f3r1ga6qkmpz31k79h0azm")) + +(define rust-minimal-lexical-0.2.1 + (crate-source "minimal-lexical" "0.2.1" + "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8")) + +(define rust-nom-7.1.3 + (crate-source "nom" "7.1.3" + "0jha9901wxam390jcf5pfa0qqfrgh8li787jx2ip0yk5b8y9hwyj")) + +(define rust-proc-macro2-1.0.101 + (crate-source "proc-macro2" "1.0.101" + "1pijhychkpl7rcyf1h7mfk6gjfii1ywf5n0snmnqs5g4hvyl7bl9")) + +(define rust-quote-1.0.41 + (crate-source "quote" "1.0.41" + "1lg108nb57lwbqlnpsii89cchk6i8pkcvrv88xh1p7a9gdz7c9ff")) + +(define rust-regex-1.11.3 + (crate-source "regex" "1.11.3" + "0b58ya98c4i5cjjiwhpcnjr61cv9g143qhdwhsryggj09098hllb")) + +(define rust-regex-automata-0.4.11 + (crate-source "regex-automata" "0.4.11" + "1bawj908pxixpggcnma3xazw53mwyz68lv9hn4yg63nlhv7bjgl3")) + +(define rust-regex-syntax-0.8.6 + (crate-source "regex-syntax" "0.8.6" + "00chjpglclfskmc919fj5aq308ffbrmcn7kzbkz92k231xdsmx6a")) + +(define rust-syn-2.0.106 + (crate-source "syn" "2.0.106" + "19mddxp1ia00hfdzimygqmr1jqdvyl86k48427bkci4d08wc9rzd")) + +(define rust-unicode-ident-1.0.19 + (crate-source "unicode-ident" "1.0.19" + "17bx1j1zf6b9j3kpyf74mraary7ava3984km0n8kh499h5a58fpn")) + +;;; +;;; Additional crate sources for fastga-rs (generated by: guix import crate -f Cargo.lock fastga-rs). +;;; which 4.4.2 is used instead of 6.0.3 to avoid home 0.5.12 (requires rustc 1.88). +;;; + +(define rust-which-4.4.2 + (crate-source "which" "4.4.2" + "1ixzmx3svsv5hbdvd8vdhd3qwvf6ns8jdpif1wmwsy10k90j9fl7")) + +(define rust-anyhow-1.0.100 + (crate-source "anyhow" "1.0.100" + "0qbfmw4hhv2ampza1csyvf1jqjs2dgrj29cv3h3sh623c6qvcgm2")) + +(define rust-bitflags-2.10.0 + (crate-source "bitflags" "2.10.0" + "1lqxwc3625lcjrjm5vygban9v8a6dlxisp1aqylibiaw52si4bl1")) + +(define rust-cc-1.2.43 + (crate-source "cc" "1.2.43" + "1hpg1f1srgd5bfivvln1s3kcajdxpqvjsvd8m4y4nmap8pwv17kk")) + +(define rust-diff-0.1.13 + (crate-source "diff" "0.1.13" + "1j0nzjxci2zqx63hdcihkp0a4dkdmzxd7my4m7zk6cjyfy34j9an")) + +(define rust-find-msvc-tools-0.1.4 + (crate-source "find-msvc-tools" "0.1.4" + "09x1sfinrz86bkm6i2d85lpsfnxn0w797g5zisv1nwhaz1w1h1aj")) + +(define rust-home-0.5.12 + (crate-source "home" "0.5.12" + "13bjyzgx6q9srnfvl43dvmhn93qc8mh5w7cylk2g13sj3i3pyqnc")) + +(define rust-libc-0.2.177 + (crate-source "libc" "0.2.177" + "0xjrn69cywaii1iq2lib201bhlvan7czmrm604h5qcm28yps4x18")) + +(define rust-linux-raw-sys-0.4.15 + ;; TODO REVIEW: Check bundled sources. + (crate-source "linux-raw-sys" "0.4.15" + "1aq7r2g7786hyxhv40spzf2nhag5xbw2axxc1k8z5k1dsgdm4v6j")) + +(define rust-linux-raw-sys-0.11.0 + ;; TODO REVIEW: Check bundled sources. + (crate-source "linux-raw-sys" "0.11.0" + "0fghx0nn8nvbz5yzgizfcwd6ap2pislp68j8c1bwyr6sacxkq7fz")) + +(define rust-nix-0.27.1 + (crate-source "nix" "0.27.1" + "0ly0kkmij5f0sqz35lx9czlbk6zpihb7yh1bsy4irzwfd2f4xc1f")) + +(define rust-onecode-0.1.0 + (crate-source "onecode" "0.1.0" + "14fp7jpimfqrcm71yag2kbfidsyq430fb1vg1qrm0xi3jfm5b1f5")) + +(define rust-pretty-assertions-1.4.1 + (crate-source "pretty_assertions" "1.4.1" + "0v8iq35ca4rw3rza5is3wjxwsf88303ivys07anc5yviybi31q9s")) + +(define rust-proc-macro2-1.0.103 + (crate-source "proc-macro2" "1.0.103" + "1s29bz20xl2qk5ffs2mbdqknaj43ri673dz86axdbf47xz25psay")) + +(define rust-regex-1.12.2 + (crate-source "regex" "1.12.2" + "1m14zkg6xmkb0q5ah3y39cmggclsjdr1wpxfa4kf5wvm3wcw0fw4")) + +(define rust-regex-automata-0.4.13 + (crate-source "regex-automata" "0.4.13" + "070z0j23pjfidqz0z89id1fca4p572wxpcr20a0qsv68bbrclxjj")) + +(define rust-regex-syntax-0.8.8 + (crate-source "regex-syntax" "0.8.8" + "0n7ggnpk0r32rzgnycy5xrc1yp2kq19m6pz98ch3c6dkaxw9hbbs")) + +(define rust-rustix-0.38.44 + (crate-source "rustix" "0.38.44" + "0m61v0h15lf5rrnbjhcb9306bgqrhskrqv7i1n0939dsw8dbrdgx")) + +(define rust-rustix-1.1.2 + (crate-source "rustix" "1.1.2" + "0gpz343xfzx16x82s1x336n0kr49j02cvhgxdvaq86jmqnigh5fd")) + +(define rust-syn-2.0.108 + (crate-source "syn" "2.0.108" + "05z908svb0yw5wzrlv27l2i8j1d8l16hd5r8bjh809146myr2n6s")) + +(define rust-tempfile-3.23.0 + (crate-source "tempfile" "3.23.0" + "05igl2gml6z6i2va1bv49f9f1wb3f752c2i63lvlb9s2vxxwfc9d")) + +(define rust-unicode-ident-1.0.20 + (crate-source "unicode-ident" "1.0.20" + "01lafj17xwizrlvn006zz8ip99hqisf77kjk0a8flfmpmrsynbj6")) + +(define rust-wasip2-1.0.1+wasi-0.2.4 + (crate-source "wasip2" "1.0.1+wasi-0.2.4" + "1rsqmpspwy0zja82xx7kbkbg9fv34a4a2if3sbd76dy64a244qh5")) + +(define rust-which-6.0.3 + (crate-source "which" "6.0.3" + "07yg74dsq644hq5a35546c9mja6rsjdsg92rykr9hkflxf7r5vml")) + +(define rust-windows-sys-0.59.0 + ;; TODO REVIEW: Check bundled sources. + (crate-source "windows-sys" "0.59.0" + "0fw5672ziw8b3zpmnbp9pdv1famk74f1l9fcbc3zsrzdg56vqf0y")) + +(define rust-windows-targets-0.52.6 + (crate-source "windows-targets" "0.52.6" + "0wwrx625nwlfp7k93r2rra568gad1mwd888h1jwnl0vfg5r4ywlv")) + +(define rust-windows-aarch64-gnullvm-0.52.6 + (crate-source "windows_aarch64_gnullvm" "0.52.6" + "1lrcq38cr2arvmz19v32qaggvj8bh1640mdm9c2fr877h0hn591j")) + +(define rust-windows-aarch64-msvc-0.52.6 + (crate-source "windows_aarch64_msvc" "0.52.6" + "0sfl0nysnz32yyfh773hpi49b1q700ah6y7sacmjbqjjn5xjmv09")) + +(define rust-windows-i686-gnu-0.52.6 + (crate-source "windows_i686_gnu" "0.52.6" + "02zspglbykh1jh9pi7gn8g1f97jh1rrccni9ivmrfbl0mgamm6wf")) + +(define rust-windows-i686-gnullvm-0.52.6 + (crate-source "windows_i686_gnullvm" "0.52.6" + "0rpdx1537mw6slcpqa0rm3qixmsb79nbhqy5fsm3q2q9ik9m5vhf")) + +(define rust-windows-i686-msvc-0.52.6 + (crate-source "windows_i686_msvc" "0.52.6" + "0rkcqmp4zzmfvrrrx01260q3xkpzi6fzi2x2pgdcdry50ny4h294")) + +(define rust-windows-x86-64-gnu-0.52.6 + (crate-source "windows_x86_64_gnu" "0.52.6" + "0y0sifqcb56a56mvn7xjgs8g43p33mfqkd8wj1yhrgxzma05qyhl")) + +(define rust-windows-x86-64-gnullvm-0.52.6 + (crate-source "windows_x86_64_gnullvm" "0.52.6" + "03gda7zjx1qh8k9nnlgb7m3w3s1xkysg55hkd1wjch8pqhyv5m94")) + +(define rust-windows-x86-64-msvc-0.52.6 + (crate-source "windows_x86_64_msvc" "0.52.6" + "1v7rb5cibyzx8vak29pdrk8nx9hycsjs4w0jgms08qk49jl6v7sq")) + +(define rust-winsafe-0.0.19 + (crate-source "winsafe" "0.0.19" + "0169xy9mjma8dys4m8v4x0xhw2gkbhv2v1wsbvcjl9bhnxxd2dfi")) + +(define rust-wit-bindgen-0.46.0 + (crate-source "wit-bindgen" "0.46.0" + "0ngysw50gp2wrrfxbwgp6dhw1g6sckknsn3wm7l00vaf7n48aypi")) + +(define rust-yansi-1.0.1 + (crate-source "yansi" "1.0.1" + "0jdh55jyv0dpd38ij4qh60zglbw9aa8wafqai6m0wa7xaxk3mrfg")) + +;;; +;;; Additional crate sources for impg (generated by: guix import crate -f Cargo.lock impg). +;;; + +(define rust-approx-0.5.1 + (crate-source "approx" "0.5.1" + "1ilpv3dgd58rasslss0labarq7jawxmivk17wsh8wmkdm3q15cfa")) + +(define rust-arrayvec-0.5.2 + (crate-source "arrayvec" "0.5.2" + "12q6hn01x5435bprwlb7w9m7817dyfq55yrl4psygr78bp32zdi3")) + +(define rust-bgzip-0.3.1 + (crate-source "bgzip" "0.3.1" + "16zr2nclis3kgz0jxi7ayyk510ar5dvyfpf03fazajmn1ycdhkxn")) + +(define rust-bincode-2.0.1 + (crate-source "bincode" "2.0.1" + "0h5pxp3dqkigjwy926a03sl69n9wv7aq4142a20kw9lhn3bzbsin")) + +(define rust-bincode-derive-2.0.1 + (crate-source "bincode_derive" "2.0.1" + "029wmh26hq3hhs1gq629y0frn2pkl7ld061rk23fji8g8jd715dz")) + +(define rust-bio-types-1.0.4 + (crate-source "bio-types" "1.0.4" + "0zmdcvj44a088larkahcic5z61cwn2x80iym0w14albzid7zbp7l")) + +(define rust-bitvec-1.0.1 + (crate-source "bitvec" "1.0.1" + "173ydyj2q5vwj88k6xgjnfsshs4x9wbvjjv7sm0h36r34hn87hhv")) + +(define rust-boomphf-0.5.9 + (crate-source "boomphf" "0.5.9" + "0braniw72g9yq5006sfgc1g8d4317bb524c694jw6nggizrvg3sf")) + +(define rust-bstr-0.2.17 + (crate-source "bstr" "0.2.17" + "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds")) + +(define rust-bytemuck-1.25.0 + (crate-source "bytemuck" "1.25.0" + "1v1z32igg9zq49phb3fra0ax5r2inf3aw473vldnm886sx5vdvy8")) + +(define rust-bytemuck-derive-1.10.2 + (crate-source "bytemuck_derive" "1.10.2" + "1zvmjmw1sdmx9znzm4dpbb2yvz9vyim8w6gp4z256l46qqdvvazr")) + +(define rust-bytes-1.11.1 + (crate-source "bytes" "1.11.1" + "0czwlhbq8z29wq0ia87yass2mzy1y0jcasjb8ghriiybnwrqfx0y")) + +(define rust-bzip2-0.5.2 + (crate-source "bzip2" "0.5.2" + "0iya6nbj0p2y8jss0z05yncc5hadry164fw3zva01y06v4igpv29")) + +(define rust-bzip2-sys-0.1.13+1.0.8 + ;; TODO: Check bundled sources. + (crate-source "bzip2-sys" "0.1.13+1.0.8" + "056c39pgjh4272bdslv445f5ry64xvb0f7nph3z7860ln8rzynr2")) + +(define rust-cmake-0.1.57 + (crate-source "cmake" "0.1.57" + "0zgg10qgykig4nxyf7whrqfg7fkk0xfxhiavikmrndvbrm23qi3m")) + +(define rust-codespan-reporting-0.13.1 + (crate-source "codespan-reporting" "0.13.1" + "10gnryisncjpfv7wi3jv9mhmrvqz6ksvfzddw3gf99q9k5b1sjdg")) + +(define rust-coitrees-0.4.0 + (crate-source "coitrees" "0.4.0" + "1qwb4c5gx30gl1kyi85rbq6z23l2f9lm0q02ym160n0fvc89c3r4")) + +(define rust-console-0.16.1 + (crate-source "console" "0.16.1" + "1x4x6vfi1s55nbr4i77b9r87s213h46lq396sij9fkmidqx78c5l")) + +(define rust-core-affinity-0.8.3 + (crate-source "core_affinity" "0.8.3" + "0hhkjybngi5n2ayjmbba2n2gh9fc8xbqgpzm2dp6q094nskv6d50")) + +(define rust-custom-derive-0.1.7 + (crate-source "custom_derive" "0.1.7" + "1f81bavw1wnykwh21hh4yyzigs6zl6f6pkk9p3car8kq95yfb2pg")) + +(define rust-cxx-1.0.194 + (crate-source "cxx" "1.0.194" + "0zkw4ig6cwss01xfmgnsyp071ji7g49iqd1vv51jyfly64vq8zbl")) + +(define rust-cxx-build-1.0.194 + (crate-source "cxx-build" "1.0.194" + "07pwgafaf8qd7ic8f5lbgqgc9zcvm6l7vvvan5vj850a35ynkx5h")) + +(define rust-cxxbridge-cmd-1.0.194 + (crate-source "cxxbridge-cmd" "1.0.194" + "0a63lwv4x36ayxn9fvn7hghjlmf0w4nqy0pd1v2x8y46zacng5fh")) + +(define rust-cxxbridge-flags-1.0.194 + (crate-source "cxxbridge-flags" "1.0.194" + "0fi8rf9076fk53f8gd4a6x1dwffys9d9bqz7mjcavw5lda1llf13")) + +(define rust-cxxbridge-macro-1.0.194 + (crate-source "cxxbridge-macro" "1.0.194" + "1kv3yw1qc9x686kw8z3mmh5ddz98f6v7ghsgzfnjd59bhaswdb76")) + +(define rust-derive-new-0.5.9 + (crate-source "derive-new" "0.5.9" + "0d9m5kcj1rdmdjqfgj7rxxhdzx0as7p4rp1mjx5j6w5dl2f3461l")) + +(define rust-derive-new-0.7.0 + (crate-source "derive-new" "0.7.0" + "1k5y4lrj182n86zjb3q0rkajgfqazamjzinsi7prw616yi88vp1c")) + +(define rust-displaydoc-0.2.5 + (crate-source "displaydoc" "0.2.5" + "1q0alair462j21iiqwrr21iabkfnb13d6x5w95lkdg21q2xrqdlp")) + +(define rust-encode-unicode-1.0.0 + (crate-source "encode_unicode" "1.0.0" + "1h5j7j7byi289by63s3w4a8b3g6l5ccdrws7a67nn07vdxj77ail")) + +(define rust-env-filter-1.0.0 + (crate-source "env_filter" "1.0.0" + "13rhwy5arjn626a0z3hvvkpf9w9pnll14c35vscyqx3jwp43q73s")) + +(define rust-env-logger-0.11.9 + (crate-source "env_logger" "0.11.9" + "13913sqpnhv741z5ixmcy5j3nnml53gmsllnhajjkx2ili7fxnmj")) + +(define rust-flume-0.11.1 + (crate-source "flume" "0.11.1" + "15ch0slxa8sqsi6c73a0ky6vdnh48q8cxjf7rksa3243m394s3ns")) + +(define rust-fnv-1.0.7 + (crate-source "fnv" "1.0.7" + "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz")) + +(define rust-foldhash-0.2.0 + (crate-source "foldhash" "0.2.0" + "1nvgylb099s11xpfm1kn2wcsql080nqmnhj1l25bp3r2b35j9kkp")) + +(define rust-form-urlencoded-1.2.2 + (crate-source "form_urlencoded" "1.2.2" + "1kqzb2qn608rxl3dws04zahcklpplkd5r1vpabwga5l50d2v4k6b")) + +(define rust-fs-utils-1.1.4 + (crate-source "fs-utils" "1.1.4" + "14r5wl14mz227v0lpy89lvjzfnxgdxigvrrmm6c4r52w03fakivg")) + +(define rust-funty-2.0.0 + (crate-source "funty" "2.0.0" + "177w048bm0046qlzvp33ag3ghqkqw4ncpzcm5lq36gxf2lla7mg6")) + +(define rust-futures-core-0.3.32 + (crate-source "futures-core" "0.3.32" + "07bbvwjbm5g2i330nyr1kcvjapkmdqzl4r6mqv75ivvjaa0m0d3y")) + +(define rust-futures-sink-0.3.32 + (crate-source "futures-sink" "0.3.32" + "14q8ml7hn5a6gyy9ri236j28kh0svqmrk4gcg0wh26rkazhm95y3")) + +(define rust-getrandom-0.2.16 + (crate-source "getrandom" "0.2.16" + "14l5aaia20cc6cc08xdlhrzmfcylmrnprwnna20lqf746pqzjprk")) + +(define rust-getrandom-0.3.3 + (crate-source "getrandom" "0.3.3" + "1x6jl875zp6b2b6qp9ghc84b0l76bvng2lvm8zfcmwjl7rb5w516")) + +(define rust-gfa-0.10.1 + (crate-source "gfa" "0.10.1" + "1x996rpfnflgi2j4dgaj5sdxdbf24zfm9d2ha0zy8aid0cd60cln")) + +(define rust-gzp-1.0.1 + (crate-source "gzp" "1.0.1" + "0k9qhky0vm4kyqqqi8i8h99128mlfmvl9w53v9kgm9nql3lq18gc")) + +(define rust-handlegraph-0.7.0-alpha.9.3ac575e + ;; TODO: Define standalone package if this is a workspace. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/chfi/rs-handlegraph") + (commit "3ac575e4216ce16a16667503a8875e469a40a97a"))) + (file-name (git-file-name "rust-handlegraph" "0.7.0-alpha.9.3ac575e")) + (sha256 (base32 "1x9lhc4hjyfixvhdxr6z0lanfcynnqsmx3dqaf6xw4dpx0i4mcgg")))) + +(define rust-hts-sys-2.2.0 + ;; TODO: Check bundled sources. + (crate-source "hts-sys" "2.2.0" + "1cmvdwssd6xjk6w1iigaj5rl9ibx4zaaskfb2ji2mlhw28f7z3g3")) + +(define rust-icu-collections-2.1.1 + (crate-source "icu_collections" "2.1.1" + "0hsblchsdl64q21qwrs4hvc2672jrf466zivbj1bwyv606bn8ssc")) + +(define rust-icu-locale-core-2.1.1 + (crate-source "icu_locale_core" "2.1.1" + "1djvdc2f5ylmp1ymzv4gcnmq1s4hqfim9nxlcm173lsd01hpifpd")) + +(define rust-icu-normalizer-2.1.1 + (crate-source "icu_normalizer" "2.1.1" + "16dmn5596la2qm0r3vih0bzjfi0vx9a20yqjha6r1y3vnql8hv2z")) + +(define rust-icu-normalizer-data-2.1.1 + (crate-source "icu_normalizer_data" "2.1.1" + "02jnzizg6q75m41l6c13xc7nkc5q8yr1b728dcgfhpzw076wrvbs")) + +(define rust-icu-properties-2.0.1 + (crate-source "icu_properties" "2.0.1" + "0az349pjg8f18lrjbdmxcpg676a7iz2ibc09d2wfz57b3sf62v01")) + +(define rust-icu-properties-data-2.0.1 + (crate-source "icu_properties_data" "2.0.1" + "0cnn3fkq6k88w7p86w7hsd1254s4sl783rpz4p6hlccq74a5k119")) + +(define rust-icu-provider-2.1.1 + (crate-source "icu_provider" "2.1.1" + "0576b7dizgyhpfa74kacv86y4g1p7v5ffd6c56kf1q82rvq2r5l5")) + +(define rust-idna-1.1.0 + (crate-source "idna" "1.1.0" + "1pp4n7hppm480zcx411dsv9wfibai00wbpgnjj4qj0xa7kr7a21v")) + +(define rust-idna-adapter-1.2.1 + (crate-source "idna_adapter" "1.2.1" + "0i0339pxig6mv786nkqcxnwqa87v4m94b2653f6k3aj0jmhfkjis")) + +(define rust-ieee754-0.2.6 + (crate-source "ieee754" "0.2.6" + "1771d2kvw1wga65yrg9m7maky0fzsaq9hvhkv91n6gmxmjfdl1wh")) + +(define rust-indicatif-0.18.4 + (crate-source "indicatif" "0.18.4" + "1sz9p1a7i0z666psqzjdpi8xa11icmnpfd4q4dyxm4ihh0ihyir5")) + +(define rust-jiff-0.2.22 + (crate-source "jiff" "0.2.22" + "1hni7qv2j2kbjisw84r7y6gxdb8qx534vw92nmz13nc7gjy496w1")) + +(define rust-jiff-static-0.2.22 + (crate-source "jiff-static" "0.2.22" + "18fljj75vxqvq1v55s074pbbrjy67qg1p2f0cvbmzhzc33dm40j7")) + +(define rust-lazy-static-1.5.0 + (crate-source "lazy_static" "1.5.0" + "1zk6dqqni0193xg6iijh7i3i44sryglwgvx20spdvwk3r6sbrlmv")) + +(define rust-lexical-core-0.7.6 + (crate-source "lexical-core" "0.7.6" + "1zjzab1fnaw4kj6ixyrskp4dyz761gdcab07m4bkvlk1l4mcc1v6")) + +(define rust-libc-0.2.175 + (crate-source "libc" "0.2.175" + "0hw5sb3gjr0ivah7s3fmavlpvspjpd4mr009abmam2sr7r4sx0ka")) + +(define rust-libdeflate-sys-1.25.2 + ;; TODO: Check bundled sources. + (crate-source "libdeflate-sys" "1.25.2" + "02pc3wphyi5c33vcm3dvmwgybazp1lnh8w075wyrd1za1003wxbj")) + +(define rust-libdeflater-1.25.2 + (crate-source "libdeflater" "1.25.2" + "0wgyb0b7mz7hhx60hhj1wjnnmchsq1xzp7xmvwq61fxidz7l3vni")) + +(define rust-liblzma-0.3.6 + (crate-source "liblzma" "0.3.6" + "0r6pkykpajdypdyyij90d8s2ihhsz9m9ly7pm1dpfsg29frd4cd6")) + +(define rust-liblzma-sys-0.3.13 + ;; TODO: Check bundled sources. + (crate-source "liblzma-sys" "0.3.13" + "0x9lni7a3x1rwdsribj311zpxb5n99kn256yad2z7vxck4ddznpg")) + +(define rust-libz-ng-sys-1.1.24 + ;; TODO: Check bundled sources. + (crate-source "libz-ng-sys" "1.1.24" + "1fi9c3w09nnjhx693675zmm71qmm6rpxxkhpiswx2vkw6j7h5zsj")) + +(define rust-libz-rs-sys-0.5.2 + ;; TODO: Check bundled sources. + (crate-source "libz-rs-sys" "0.5.2" + "1kdy093bhxfkgx7li3raxigcc3qdqjn3hvrpjkblvv6r777vh3c4")) + +(define rust-libz-sys-1.1.24 + ;; TODO: Check bundled sources. + (crate-source "libz-sys" "1.1.24" + "0f8879301wxgljw8snkcix90p6qbm4inp3sqrsjq9b2svv5yjda7")) + +(define rust-linear-map-1.2.0 + (crate-source "linear-map" "1.2.0" + "1vh3sczl4xb5asdlpafdf3y4g9bp63fgs8y2a2sjgmcsn7v21bmz")) + +(define rust-link-cplusplus-1.0.12 + (crate-source "link-cplusplus" "1.0.12" + "10lcgfp9pnxpihp21s86xnq57vpr97m2k419d8rvkl57m8qcfy3z")) + +(define rust-litemap-0.8.1 + (crate-source "litemap" "0.8.1" + "0xsy8pfp9s802rsj1bq2ys2kbk1g36w5dr3gkfip7gphb5x60wv3")) + +(define rust-matrixmultiply-0.3.10 + (crate-source "matrixmultiply" "0.3.10" + "020sqwg3cvprfasbszqbnis9zx6c3w9vlkfidyimgblzdq0y6vd0")) + +(define rust-memmap-0.7.0 + (crate-source "memmap" "0.7.0" + "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5")) + +(define rust-nalgebra-0.33.2 + (crate-source "nalgebra" "0.33.2" + "0fvayv2fa6x4mfm4cq3m2cfcc2jwkiq4sm73209zszkh9gvcvbi6")) + +(define rust-nalgebra-macros-0.2.2 + (crate-source "nalgebra-macros" "0.2.2" + "1z6v9phhr1hwzyyblf792128lxfv1hy1sxl4cvikihcgmxr56ji5")) + +(define rust-nanorand-0.7.0 + (crate-source "nanorand" "0.7.0" + "1hr60b8zlfy7mxjcwx2wfmhpkx7vfr3v9x12shmv1c10b0y32lba")) + +(define rust-natord-1.0.9 + (crate-source "natord" "1.0.9" + "0z75spwag3ch20841pvfwhh3892i2z2sli4pzp1jgizbipdrd39h")) + +(define rust-newtype-derive-0.1.6 + (crate-source "newtype_derive" "0.1.6" + "1v3170xscs65gjx5vl1zjnqp86wngbzw3n2q74ibfnqqkx6x535c")) + +(define rust-niffler-3.0.0 + (crate-source "niffler" "3.0.0" + "0x1mzgfhpxr0mwwpsrmlkyalmbaiv97pspyjvymrzb1xr5f13lv2")) + +(define rust-noodles-0.100.0 + (crate-source "noodles" "0.100.0" + "17lnhmzbp94g383sxxwmqd0aag9daa1vmgsqx7p9gzdkwwbrqpca")) + +(define rust-noodles-bgzf-0.42.0 + (crate-source "noodles-bgzf" "0.42.0" + "0fdllcmsdyqg6zays6y0s3lls1qjjdm5jkhh832x1by434zkw73w")) + +(define rust-num-bigint-0.4.6 + (crate-source "num-bigint" "0.4.6" + "1f903zd33i6hkjpsgwhqwi2wffnvkxbn6rv4mkgcjcqi7xr4zr55")) + +(define rust-num-complex-0.4.6 + (crate-source "num-complex" "0.4.6" + "15cla16mnw12xzf5g041nxbjjm9m85hdgadd5dl5d0b30w9qmy3k")) + +(define rust-num-integer-0.1.46 + (crate-source "num-integer" "0.1.46" + "13w5g54a9184cqlbsq80rnxw4jj4s0d8wv75jsq5r2lms8gncsbr")) + +(define rust-num-rational-0.4.2 + (crate-source "num-rational" "0.4.2" + "093qndy02817vpgcqjnj139im3jl7vkq4h68kykdqqh577d18ggq")) + +(define rust-paste-1.0.15 + (crate-source "paste" "1.0.15" + "02pxffpdqkapy292harq6asfjvadgp1s005fip9ljfsn9fvxgh2p")) + +(define rust-percent-encoding-2.3.2 + (crate-source "percent-encoding" "2.3.2" + "083jv1ai930azvawz2khv7w73xh8mnylk7i578cifndjn5y64kwv")) + +(define rust-portable-atomic-1.13.1 + (crate-source "portable-atomic" "1.13.1" + "0j8vlar3n5acyigq8q6f4wjx3k3s5yz0rlpqrv76j73gi5qr8fn3")) + +(define rust-portable-atomic-util-0.2.5 + (crate-source "portable-atomic-util" "0.2.5" + "1xcm0ia8756k6hdgafx4g3lx3fw0hvz2zqswq7c2sy58gxnvk7bs")) + +(define rust-potential-utf-0.1.4 + (crate-source "potential_utf" "0.1.4" + "0xxg0pkfpq299wvwln409z4fk80rbv55phh3f1jhjajy5x1ljfdp")) + +(define rust-quick-error-1.2.3 + (crate-source "quick-error" "1.2.3" + "1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51")) + +(define rust-quote-1.0.40 + (crate-source "quote" "1.0.40" + "1394cxjg6nwld82pzp2d4fp6pmaz32gai1zh9z5hvh0dawww118q")) + +(define rust-radium-0.7.0 + (crate-source "radium" "0.7.0" + "02cxfi3ky3c4yhyqx9axqwhyaca804ws46nn4gc1imbk94nzycyw")) + +(define rust-rand-0.8.5 + (crate-source "rand" "0.8.5" + "013l6931nn7gkc23jz5mm3qdhf93jjf0fg64nz2lp4i51qd8vbrl")) + +(define rust-rand-0.9.2 + (crate-source "rand" "0.9.2" + "1lah73ainvrgl7brcxx0pwhpnqa3sm3qaj672034jz8i0q7pgckd")) + +(define rust-rand-chacha-0.3.1 + (crate-source "rand_chacha" "0.3.1" + "123x2adin558xbhvqb8w4f6syjsdkmqff8cxwhmjacpsl1ihmhg6")) + +(define rust-rand-chacha-0.9.0 + (crate-source "rand_chacha" "0.9.0" + "1jr5ygix7r60pz0s1cv3ms1f6pd1i9pcdmnxzzhjc3zn3mgjn0nk")) + +(define rust-rand-core-0.6.4 + (crate-source "rand_core" "0.6.4" + "0b4j2v4cb5krak1pv6kakv4sz6xcwbrmy2zckc32hsigbrwy82zc")) + +(define rust-rand-core-0.9.5 + (crate-source "rand_core" "0.9.5" + "0g6qc5r3f0hdmz9b11nripyp9qqrzb0xqk9piip8w8qlvqkcibvn")) + +(define rust-rand-distr-0.5.1 + (crate-source "rand_distr" "0.5.1" + "0qvlzxq4a2rvrf3wq0xq1bfw8iy9zqm6jlmbywqzld6g1paib1ka")) + +(define rust-rand-xoshiro-0.7.0 + (crate-source "rand_xoshiro" "0.7.0" + "0h9dv9mn703zb2z5dys7vc4rzy3az8xg99fc5m8zbnh0axkg80zp")) + +(define rust-rawpointer-0.2.1 + (crate-source "rawpointer" "0.2.1" + "1qy1qvj17yh957vhffnq6agq0brvylw27xgks171qrah75wmg8v0")) + +(define rust-regex-automata-0.1.10 + (crate-source "regex-automata" "0.1.10" + "0ci1hvbzhrfby5fdpf4ganhf7kla58acad9i1ff1p34dzdrhs8vc")) + +(define rust-rust-htslib-1.0.0 + (crate-source "rust-htslib" "1.0.0" + "1abvjmpgqxxhnk3z0rg6rk5c725zblr86csz9i1ycwixiikn28gj")) + +(define rust-rustc-hash-2.1.1 + (crate-source "rustc-hash" "2.1.1" + "03gz5lvd9ghcwsal022cgkq67dmimcgdjghfb5yb5d352ga06xrm")) + +(define rust-rustc-version-0.1.7 + (crate-source "rustc_version" "0.1.7" + "1160jjsqhqr25cvhr48hmpp8v61bjvjcnxzb0cyf4373lmp3gxf5")) + +(define rust-ryu-1.0.20 + (crate-source "ryu" "1.0.20" + "07s855l8sb333h6bpn24pka5sp7hjk2w667xy6a0khkf6sqv5lr8")) + +(define rust-safe-arch-0.7.4 + (crate-source "safe_arch" "0.7.4" + "08sk47n1kcm5w2di6bpgi2hsw8r2caz2230pwqvbdqfv5pl2vc4n")) + +(define rust-scratch-1.0.9 + (crate-source "scratch" "1.0.9" + "1cj826qggwn482wbfnzij5g9p411qszai0dnfld4qzh93g2jx3yn")) + +(define rust-simba-0.9.1 + (crate-source "simba" "0.9.1" + "15gxgwcm6vs2wbbc5z4x8zsi1rhjl3nvqnxpl95hjrhnnaz894n9")) + +(define rust-spin-0.9.8 + (crate-source "spin" "0.9.8" + "0rvam5r0p3a6qhc18scqpvpgb3ckzyqxpgdfyjnghh8ja7byi039")) + +(define rust-spoa-rs-0.1.0.6f4f102 + ;; TODO: Define standalone package if this is a workspace. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/AndreaGuarracino/spoa-rs.git") + (commit "6f4f1024cc09959b926d4616991672693013ed3e"))) + (file-name (git-file-name "rust-spoa-rs" "0.1.0.6f4f102")) + (sha256 (base32 "13hmxqk70c0728v8l44qap25qla4w86im3kwfmay7jwwg9lk7lfg")) + (patches + (list (local-file "patches/do-not-build-cplusplus-spoa.patch"))))) + +(define rust-stable-deref-trait-1.2.1 + (crate-source "stable_deref_trait" "1.2.1" + "15h5h73ppqyhdhx6ywxfj88azmrpml9gl6zp3pwy2malqa6vxqkc")) + +(define rust-strum-macros-0.26.4 + (crate-source "strum_macros" "0.26.4" + "1gl1wmq24b8md527cpyd5bw9rkbqldd7k1h38kf5ajd2ln2ywssc")) + +(define rust-succinct-0.5.2 + (crate-source "succinct" "0.5.2" + "0654c9gq50x7djyf25zbzz3d2pc4x3z21wmjj3qbr6d9h4hbd63p")) + +(define rust-syn-1.0.109 + (crate-source "syn" "1.0.109" + "0ds2if4600bd59wsv7jjgfkayfzy3hnazs394kz6zdkmna8l3dkj")) + +(define rust-synstructure-0.13.2 + (crate-source "synstructure" "0.13.2" + "1lh9lx3r3jb18f8sbj29am5hm9jymvbwh6jb1izsnnxgvgrp12kj")) + +(define rust-tap-1.0.1 + (crate-source "tap" "1.0.1" + "0sc3gl4nldqpvyhqi3bbd0l9k7fngrcl4zs47n314nqqk4bpx4sm")) + +(define rust-termcolor-1.4.1 + (crate-source "termcolor" "1.4.1" + "0mappjh3fj3p2nmrg4y7qv94rchwi9mzmgmfflr8p2awdj7lyy86")) + +(define rust-thiserror-2.0.16 + (crate-source "thiserror" "2.0.16" + "1h30bqyjn5s9ypm668yd9849371rzwk185klwgjg503k2hadcrrl")) + +(define rust-thiserror-impl-2.0.16 + (crate-source "thiserror-impl" "2.0.16" + "0q3r1ipr1rhff6cgrcvc0njffw17rpcqz9hdc7p754cbqkhinpkc")) + +(define rust-tinystr-0.8.2 + (crate-source "tinystr" "0.8.2" + "0sa8z88axdsf088hgw5p4xcyi6g3w3sgbb6qdp81bph9bk2fkls2")) + +(define rust-unicode-width-0.2.2 + (crate-source "unicode-width" "0.2.2" + "0m7jjzlcccw716dy9423xxh0clys8pfpllc5smvfxrzdf66h9b5l")) + +(define rust-unit-prefix-0.5.2 + (crate-source "unit-prefix" "0.5.2" + "18xr6yhdvlxrv51y6js9npa3qhkzc5b1z4skr5kfzn7kkd449rc1")) + +(define rust-unty-0.0.4 + (crate-source "unty" "0.0.4" + "1blhyv01qiv5sb72sal3xa1l8nzck3answawxkkiw3fd2x1phjbd")) + +(define rust-url-2.5.7 + (crate-source "url" "2.5.7" + "0nzghdv0kcksyvri0npxbjzyx2ihprks5k590y77bld355m17g08")) + +(define rust-utf8-iter-1.0.4 + (crate-source "utf8_iter" "1.0.4" + "1gmna9flnj8dbyd8ba17zigrp9c4c3zclngf5lnb5yvz1ri41hdn")) + +(define rust-vcpkg-0.2.15 + (crate-source "vcpkg" "0.2.15" + "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc")) + +(define rust-virtue-0.0.18 + (crate-source "virtue" "0.0.18" + "1cgp79pzzs117kjlc3jnnkixbyaqri12j40mx2an41qhrymv27h5")) + +(define rust-wasi-0.11.1+wasi-snapshot-preview1 + (crate-source "wasi" "0.11.1+wasi-snapshot-preview1" + "0jx49r7nbkbhyfrfyhz0bm4817yrnxgd3jiwwwfv0zl439jyrwyc")) + +(define rust-wasm-bindgen-backend-0.2.102 + (crate-source "wasm-bindgen-backend" "0.2.102" + "0cp7jgjj3c9dig1rpw79ymli9290jqf3nsmi48zw1lyw9c8684rs")) + +(define rust-web-time-1.1.0 + (crate-source "web-time" "1.1.0" + "1fx05yqx83dhx628wb70fyy10yjfq1jpl20qfqhdkymi13rq0ras")) + +(define rust-wide-0.7.33 + (crate-source "wide" "0.7.33" + "00yd2sg83xvfrjjlwndyk49fjx8jlmlrz8byigndig32rf7dmr8c")) + +(define rust-winapi-0.3.9 + (crate-source "winapi" "0.3.9" + "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw")) + +(define rust-winapi-i686-pc-windows-gnu-0.4.0 + (crate-source "winapi-i686-pc-windows-gnu" "0.4.0" + "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")) + +(define rust-winapi-x86-64-pc-windows-gnu-0.4.0 + (crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0" + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")) + +(define rust-windows-link-0.1.3 + (crate-source "windows-link" "0.1.3" + "12kr1p46dbhpijr4zbwr2spfgq8i8c5x55mvvfmyl96m01cx4sjy")) + +(define rust-windows-sys-0.60.2 + ;; TODO: Check bundled sources. + (crate-source "windows-sys" "0.60.2" + "1jrbc615ihqnhjhxplr2kw7rasrskv9wj3lr80hgfd42sbj01xgj")) + +(define rust-writeable-0.6.2 + (crate-source "writeable" "0.6.2" + "1fg08y97n6vk7l0rnjggw3xyrii6dcqg54wqaxldrlk98zdy1pcy")) + +(define rust-wyhash-0.5.0 + (crate-source "wyhash" "0.5.0" + "15f26hvx6nyp4d6iswha7rm3psidxa2k2iab1f1aqgsyq9iy3xms")) + +(define rust-wyz-0.5.1 + (crate-source "wyz" "0.5.1" + "1vdrfy7i2bznnzjdl9vvrzljvs4s3qm8bnlgqwln6a941gy61wq5")) + +(define rust-yoke-0.8.1 + (crate-source "yoke" "0.8.1" + "0m29dm0bf5iakxgma0bj6dbmc3b8qi9b1vaw9sa76kdqmz3fbmkj")) + +(define rust-yoke-derive-0.8.1 + (crate-source "yoke-derive" "0.8.1" + "0pbyja133jnng4mrhimzdq4a0y26421g734ybgz8wsgbfhl0andn")) + +(define rust-zerofrom-0.1.6 + (crate-source "zerofrom" "0.1.6" + "19dyky67zkjichsb7ykhv0aqws3q0jfvzww76l66c19y6gh45k2h")) + +(define rust-zerofrom-derive-0.1.6 + (crate-source "zerofrom-derive" "0.1.6" + "00l5niw7c1b0lf1vhvajpjmcnbdp2vn96jg4nmkhq2db0rp5s7np")) + +(define rust-zerotrie-0.2.3 + (crate-source "zerotrie" "0.2.3" + "0lbqznlqazmrwwzslw0ci7p3pqxykrbfhq29npj0gmb2amxc2n9a")) + +(define rust-zerovec-0.11.5 + (crate-source "zerovec" "0.11.5" + "00m0p47k2g9mkv505hky5xh3r6ps7v8qc0dy4pspg542jj972a3c")) + +(define rust-zerovec-derive-0.11.2 + (crate-source "zerovec-derive" "0.11.2" + "1wsig4h5j7a1scd5hrlnragnazjny9qjc44hancb6p6a76ay7p7a")) + +(define rust-zlib-rs-0.6.2 + (crate-source "zlib-rs" "0.6.2" + "1j1nf9nmmx9wcwf0mn22smpam7wb28sdz6fw6v8pwcq7227c8if7")) + +(define rust-fastga-rs-0.1.2.e7a6d93 + ;; TODO REVIEW: Check bundled sources. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/pangenome/fastga-rs") + (commit "e7a6d93621e53d141df5fbecb47651564555d43b"))) + (file-name (git-file-name "rust-fastga-rs" "0.1.2.e7a6d93")) + (sha256 (base32 "0s99i55j44rz3miywik3ms1l3mz6h63n5fmwvgjh4ywxw2k9r4p5")))) + +(define rust-gfasort-0.1.0.e23f45e + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/pangenome/gfasort") + (commit "e23f45e94e2746f2817eb17925f53e0319b1b085"))) + (file-name (git-file-name "rust-gfasort" "0.1.0.e23f45e")) + (sha256 (base32 "1jdjainfgz73xnz7j0bvgnc6ybqsp7qrj2k0nbzav5v70gy9sibs")))) + +(define rust-lib-wfa2-0.1.0.0fe1ebf + ;; TODO REVIEW: Check bundled sources. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/AndreaGuarracino/lib_wfa2") + (commit "0fe1ebfb7a364226f3d8d7b84b703611168435c6"))) + (file-name (git-file-name "rust-lib-wfa2" "0.1.0.0fe1ebf")) + (sha256 (base32 "05rmy34x5xhqkw0v6sj35q2jijfg7rlh3gb1xjisblamy2g5nn29")))) + +(define rust-onecode-0.1.0.38182c7 + ;; TODO REVIEW: Check bundled sources. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/pangenome/onecode-rs") + (commit "38182c7acf7cccc53509176b1d11001ae6ff2642"))) + (file-name (git-file-name "rust-onecode" "0.1.0.38182c7")) + (sha256 (base32 "04wlrjlylhiks8pnhr19anf33r8ah1rnsl98n5j54sxrjvmhvyyf")))) + +(define rust-onecode-0.1.0.f531f5b + ;; TODO REVIEW: Check bundled sources. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/pangenome/onecode-rs") + (commit "f531f5b0ff54001a898ec4e0c0c761b2bd0a1f34"))) + (file-name (git-file-name "rust-onecode" "0.1.0.f531f5b")) + (sha256 (base32 "0nzhgg7sqalrpl1mzlp0rvaj4dgcwghv1jngcsfqqk1mhx4hvj0n")))) + +(define rust-ragc-0.1.1.e9e4a6f + ;; This is a Cargo workspace (ragc-core and ragc-common members). + ;; crate-src? returns #f for workspaces (no [package] in root Cargo.toml). + ;; The impg package phase manually copies this to the vendor dir. + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/AndreaGuarracino/ragc") + (commit "e9e4a6f880f5d6fa90fc90f24542def3ca637d38"))) + (file-name (git-file-name "rust-ragc" "0.1.1.e9e4a6f")) + (sha256 (base32 "0ks74pgh0vjy4mzxvp7riq1rkf9zh9kqzhvvy8iys46zrbkxmhs7")))) + +(define rust-seqwish-0.1.3.a781924 + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/pangenome/seqwish") + (commit "a781924a1074f8177a24f8caa2b9be07d746acb0"))) + (file-name (git-file-name "rust-seqwish" "0.1.3.a781924")) + (sha256 (base32 "17ii1659v5k1smnwzn7hm12dqw0l2zpflb20krwdb84xv75rnmgd")))) + +(define rust-sweepga-0.1.1.f591843 + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/pangenome/sweepga") + (commit "f5918434c1abadfad594b40392ad7c43e0da4af8"))) + (file-name (git-file-name "rust-sweepga" "0.1.1.f591843")) + (sha256 (base32 "1clc295cvmis131aw5m2z5v8v16qfk7xxyawdx18iygwr5nbqbg9")))) + +(define rust-tpa-0.1.0.301dc3f + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/AndreaGuarracino/tpa") + (commit "301dc3ff53482d993c065217dbcd8abb6ffff2d9"))) + (file-name (git-file-name "rust-tpa" "0.1.0.301dc3f")) + (sha256 (base32 "18v0g2845pgzj3y002q4y04rav28ccr5gjxck7bc92jlrcl75mjk")))) + +(define rust-tracepoints-0.1.0.b737734 + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/AndreaGuarracino/tracepoints") + (commit "b73773433561fb36f21136776a7297c5877ab593"))) + (file-name (git-file-name "rust-tracepoints" "0.1.0.b737734")) + (sha256 (base32 "0xyqvi01rvnmvwxbx6y413qjjci7d271xjpz1z0lkw1s2zc61h0c")))) + +;;; +;;; Additional crate sources for impg transitive dependencies. +;;; + +(define rust-derive-new-0.6.0 + (crate-source "derive-new" "0.6.0" + "1b8jv6jx0b8jgkz9kmz0ciqmnf74xkk0mmvkb5z1c87932kdwl6i")) + +(define rust-bindgen-0.69.5 + (crate-source "bindgen" "0.69.5" + "1240snlcfj663k04bjsg629g4wx6f83flgbjh5rzpgyagk3864r7")) + +(define rust-cbindgen-0.27.0 + (crate-source "cbindgen" "0.27.0" + "1sqm3axr678d72yihgmpr9d17mj99ccibxfqhw53mgzwzkbqvkiz")) + +(define rust-chrono-0.4.44 + (crate-source "chrono" "0.4.44" + "1c64mk9a235271j5g3v4zrzqqmd43vp9vki7vqfllpqf5rd0fwy6")) + +(define rust-console-0.16.2 + (crate-source "console" "0.16.2" + "1i5y6h3myz38jl9p3gglx5vh9c69kxxajsv3jx0pw8i6i555mr03")) + +(define rust-core-foundation-sys-0.8.7 + (crate-source "core-foundation-sys" "0.8.7" + "12w8j73lazxmr1z0h98hf3z623kl8ms7g07jch7n4p8f9nwlhdkp")) + +(define rust-fm-index-0.3.0 + (crate-source "fm-index" "0.3.0" + "05dzsmdf1zpqsliwm06b5m2xapyppy1191mjya8bwpvc5gwi9x19")) + +(define rust-getrandom-0.2.17 + (crate-source "getrandom" "0.2.17" + "1l2ac6jfj9xhpjjgmcx6s1x89bbnw9x6j9258yy6xjkzpq0bqapz")) + +(define rust-getrandom-0.4.1 + (crate-source "getrandom" "0.4.1" + "1v7fm84f2jh6x7w3bd2ncl3sw29wnb0rhg7xya1pd30i02cg77hk")) + +(define rust-heck-0.4.1 + (crate-source "heck" "0.4.1" + "1a7mqsnycv5z4z5vnv1k34548jzmc0ajic7c1j8jsaspnhw5ql4m")) + +(define rust-iana-time-zone-0.1.65 + (crate-source "iana-time-zone" "0.1.65" + "0w64khw5p8s4nzwcf36bwnsmqzf61vpwk9ca1920x82bk6nwj6z3")) + +(define rust-iana-time-zone-haiku-0.1.2 + (crate-source "iana-time-zone-haiku" "0.1.2" + "17r6jmj31chn7xs9698r122mapq85mfnv98bb4pg6spm0si2f67k")) + +(define rust-icu-properties-2.1.2 + (crate-source "icu_properties" "2.1.2" + "1v3lbmhhi7i6jgw51ikjb1p50qh5rb67grlkdnkc63l7zq1gq2q2")) + +(define rust-icu-properties-data-2.1.2 + (crate-source "icu_properties_data" "2.1.2" + "1bvpkh939rgzrjfdb7hz47v4wijngk0snmcgrnpwc9fpz162jv31")) + +(define rust-iitree-rs-0.1.1 + (crate-source "iitree-rs" "0.1.1" + "1mg705qlj1qb92ra1fkr0rlqcphrkkfsnbsv4ysrvin82b5m959r")) + +(define rust-itertools-0.12.1 + (crate-source "itertools" "0.12.1" + "0s95jbb3ndj1lvfxyq5wanc0fm0r6hg6q4ngb92qlfdxvci10ads")) + +(define rust-lazycell-1.3.0 + (crate-source "lazycell" "1.3.0" + "0m8gw7dn30i0zjjpjdyf6pc16c34nl71lpv461mix50x3p70h3c3")) + +(define rust-libc-0.2.182 + (crate-source "libc" "0.2.182" + "04k1w1mq9f4cxv520dbr5xw1i7xkbc9fcrvaggyjy25jdkdvl038")) + +(define rust-libm-0.2.16 + (crate-source "libm" "0.2.16" + "10brh0a3qjmbzkr5mf5xqi887nhs5y9layvnki89ykz9xb1wxlmn")) + +(define rust-memmap2-0.9.10 + (crate-source "memmap2" "0.9.10" + "1qz0n4ch68pz2mp07sdwnk27imdjjqy6aqir3hp9j4g0iw19hh3i")) + +(define rust-nom-5.1.3 + (crate-source "nom" "5.1.3" + "0jyxc4d3pih60pp8hvzpg5ajh16s273cpnsdpzp04qv7g8w9m588")) + +(define rust-ordered-float-4.6.0 + (crate-source "ordered-float" "4.6.0" + "0ldrcgilsiijd141vw51fbkziqmh5fpllil3ydhirjm67wdixdvv")) + +(define rust-parking-lot-0.12.5 + (crate-source "parking_lot" "0.12.5" + "06jsqh9aqmc94j2rlm8gpccilqm6bskbd67zf6ypfc0f4m9p91ck")) + +(define rust-ppv-lite86-0.2.21 + (crate-source "ppv-lite86" "0.2.21" + "1abxx6qz5qnd43br1dd9b2savpihzjza8gb4fbzdql1gxp2f7sl5")) + +(define rust-quote-1.0.44 + (crate-source "quote" "1.0.44" + "1r7c7hxl66vz3q9qizgjhy77pdrrypqgk4ghc7260xvvfb7ypci1")) + +(define rust-ryu-1.0.23 + (crate-source "ryu" "1.0.23" + "0zs70sg00l2fb9jwrf6cbkdyscjs53anrvai2hf7npyyfi5blx4p")) + +(define rust-semver-0.1.20 + (crate-source "semver" "0.1.20" + "1b10m0hxrr947gp41lj9vnmgl5ddwx3d41vnblsg06ppvkz11x6l")) + +(define rust-serde-spanned-0.6.9 + (crate-source "serde_spanned" "0.6.9" + "18vmxq6qfrm110caszxrzibjhy2s54n1g5w1bshxq9kjmz7y0hdz")) + +(define rust-sucds-0.8.3 + (crate-source "sucds" "0.8.3" + "1k8ddiyv0lglcyqp7im5gzams3npmf5bnsajx82z2r5y0nm4wcnd")) + +(define rust-thiserror-2.0.18 + (crate-source "thiserror" "2.0.18" + "1i7vcmw9900bvsmay7mww04ahahab7wmr8s925xc083rpjybb222")) + +(define rust-thiserror-impl-2.0.18 + (crate-source "thiserror-impl" "2.0.18" + "1mf1vrbbimj1g6dvhdgzjmn6q09yflz2b92zs1j9n3k7cxzyxi7b")) + +(define rust-toml-0.8.23 + (crate-source "toml" "0.8.23" + "0qnkrq4lm2sdhp3l6cb6f26i8zbnhqb7mhbmksd550wxdfcyn6yw")) + +(define rust-toml-datetime-0.6.11 + (crate-source "toml_datetime" "0.6.11" + "077ix2hb1dcya49hmi1avalwbixmrs75zgzb3b2i7g2gizwdmk92")) + +(define rust-toml-edit-0.22.27 + (crate-source "toml_edit" "0.22.27" + "16l15xm40404asih8vyjvnka9g0xs9i4hfb6ry3ph9g419k8rzj1")) + +(define rust-toml-write-0.1.2 + (crate-source "toml_write" "0.1.2" + "008qlhqlqvljp1gpp9rn5cqs74gwvdgbvs92wnpq8y3jlz4zi6ax")) + +(define rust-url-2.5.8 + (crate-source "url" "2.5.8" + "1v8f7nx3hpr1qh76if0a04sj08k86amsq4h8cvpw6wvk76jahrzz")) + +(define rust-vers-vecs-1.9.0 + (crate-source "vers-vecs" "1.9.0" + "0m6bjzf36d8jix1lzv0kg6mg6vxrljjwj9sxg1zp65gzd5ly8rlv")) + +(define rust-windows-core-0.62.2 + (crate-source "windows-core" "0.62.2" + "1swxpv1a8qvn3bkxv8cn663238h2jccq35ff3nsj61jdsca3ms5q")) + +(define rust-windows-implement-0.60.2 + (crate-source "windows-implement" "0.60.2" + "1psxhmklzcf3wjs4b8qb42qb6znvc142cb5pa74rsyxm1822wgh5")) + +(define rust-windows-interface-0.59.3 + (crate-source "windows-interface" "0.59.3" + "0n73cwrn4247d0axrk7gjp08p34x1723483jxjxjdfkh4m56qc9z")) + +(define rust-windows-result-0.4.1 + (crate-source "windows-result" "0.4.1" + "1d9yhmrmmfqh56zlj751s5wfm9a2aa7az9rd7nn5027nxa4zm0bp")) + +(define rust-windows-strings-0.5.1 + (crate-source "windows-strings" "0.5.1" + "14bhng9jqv4fyl7lqjz3az7vzh8pw0w4am49fsqgcz67d67x0dvq")) + +(define rust-winnow-0.7.14 + (crate-source "winnow" "0.7.14" + "0a88ahjqhyn2ln1yplq2xsigm09kxqkdkkk2c2mfxkbzszln8lss")) + +(define rust-android-system-properties-0.1.5 + (crate-source "android_system_properties" "0.1.5" + "04b3wrz12837j7mdczqd95b732gw5q7q66cv4yn4646lvccp57l1")) + +(define rust-uf-rush-0.1.1 + (crate-source "uf_rush" "0.1.1" + "18sx8lvkhnx5gx131y4pqyl4xmdvcqwv8vb2vspfczifnrgxydw3")) + + +;;; +;;; Cargo inputs lookup tables. +;;; Used by: (inputs (cargo-inputs 'gfainject #:module '(gn packages pangenome-rust))) +;;; Used by: (inputs (cargo-inputs 'ragc-cli #:module '(gn packages pangenome-rust))) +;;; Used by: (inputs (cargo-inputs 'onecode #:module '(gn packages pangenome-rust))) +;;; Used by: (inputs (cargo-inputs 'fastga-rs #:module '(gn packages pangenome-rust))) +;;; Used by: (inputs (cargo-inputs 'impg #:module '(gn packages pangenome-rust))) +;;; + +(define-cargo-inputs lookup-cargo-inputs + (gfainject => + (list rust-adler-1.0.2 + rust-anyhow-1.0.66 + rust-autocfg-1.1.0 + rust-bit-vec-0.6.3 + rust-bitflags-1.3.2 + rust-btoi-0.4.2 + rust-bytemuck-1.12.3 + rust-byteorder-1.4.3 + rust-bytes-1.2.1 + rust-cfg-if-1.0.0 + rust-crc32fast-1.3.2 + rust-crossbeam-channel-0.5.6 + rust-crossbeam-utils-0.8.12 + rust-flate2-1.0.24 + rust-hashbrown-0.12.3 + rust-indexmap-1.9.1 + rust-lexical-core-0.8.5 + rust-lexical-parse-float-0.8.5 + rust-lexical-parse-integer-0.8.6 + rust-lexical-util-0.8.5 + rust-lexical-write-float-0.8.5 + rust-lexical-write-integer-0.8.5 + rust-memchr-2.5.0 + rust-miniz-oxide-0.5.4 + rust-noodles-0.29.0 + rust-noodles-bam-0.24.0 + rust-noodles-bgzf-0.17.0 + rust-noodles-core-0.9.0 + rust-noodles-csi-0.11.0 + rust-noodles-fasta-0.16.0 + rust-noodles-sam-0.21.0 + rust-num-traits-0.2.15 + rust-pico-args-0.5.0 + rust-retain-mut-0.1.7 + rust-roaring-0.10.1 + rust-rustc-hash-1.1.0 + rust-static-assertions-1.1.0)) + (ragc-cli => + (list rust-adler2-2.0.1 + rust-ahash-0.8.12 + rust-aho-corasick-1.1.4 + rust-allocator-api2-0.2.21 + rust-anes-0.1.6 + rust-anstream-0.6.21 + rust-anstyle-1.0.13 + rust-anstyle-parse-0.2.7 + rust-anstyle-query-1.1.5 + rust-anstyle-wincon-3.0.11 + rust-anyhow-1.0.102 + rust-arbitrary-chunks-0.4.1 + rust-autocfg-1.5.0 + rust-bincode-1.3.3 + rust-bitflags-2.11.0 + rust-block-buffer-0.10.4 + rust-block-pseudorand-0.1.2 + rust-bumpalo-3.20.2 + rust-byteorder-1.5.0 + rust-cast-0.3.0 + rust-cc-1.2.56 + rust-cfg-if-1.0.4 + rust-chiapos-chacha8-0.1.0 + rust-ciborium-0.2.2 + rust-ciborium-io-0.2.2 + rust-ciborium-ll-0.2.2 + rust-clap-4.5.60 + rust-clap-builder-4.5.60 + rust-clap-derive-4.5.55 + rust-clap-lex-1.0.0 + rust-colorchoice-1.0.4 + rust-cpufeatures-0.2.17 + rust-crc32fast-1.5.0 + rust-criterion-0.5.1 + rust-criterion-plot-0.5.0 + rust-crossbeam-0.8.4 + rust-crossbeam-channel-0.5.15 + rust-crossbeam-deque-0.8.6 + rust-crossbeam-epoch-0.9.18 + rust-crossbeam-queue-0.3.12 + rust-crossbeam-utils-0.8.21 + rust-crunchy-0.2.4 + rust-crypto-common-0.1.7 + rust-dashmap-6.1.0 + rust-digest-0.10.7 + rust-either-1.15.0 + rust-equivalent-1.0.2 + rust-errno-0.3.14 + rust-fastrand-2.3.0 + rust-find-msvc-tools-0.1.9 + rust-flate2-1.1.9 + rust-foldhash-0.1.5 + rust-generic-array-0.14.7 + rust-getrandom-0.3.4 + rust-getrandom-0.4.2 + rust-half-2.7.1 + rust-hashbrown-0.14.5 + rust-hashbrown-0.15.5 + rust-hashbrown-0.16.1 + rust-heck-0.5.0 + rust-hermit-abi-0.5.2 + rust-id-arena-2.3.0 + rust-indexmap-2.13.0 + rust-is-terminal-0.4.17 + rust-is-terminal-polyfill-1.70.2 + rust-itertools-0.10.5 + rust-itoa-1.0.17 + rust-jobserver-0.1.34 + rust-js-sys-0.3.91 + rust-leb128fmt-0.1.0 + rust-libc-0.2.183 + rust-linux-raw-sys-0.12.1 + rust-lock-api-0.4.14 + rust-log-0.4.29 + rust-memchr-2.8.0 + rust-miniz-oxide-0.8.9 + rust-nanorand-0.6.1 + rust-num-traits-0.2.19 + rust-num-cpus-1.17.0 + rust-once-cell-1.21.3 + rust-once-cell-polyfill-1.70.2 + rust-oorandom-11.1.5 + rust-parking-lot-core-0.9.12 + rust-partition-0.1.2 + rust-pkg-config-0.3.32 + rust-plotters-0.3.7 + rust-plotters-backend-0.3.7 + rust-plotters-svg-0.3.7 + rust-prettyplease-0.2.37 + rust-proc-macro2-1.0.106 + rust-quote-1.0.45 + rust-r-efi-5.3.0 + rust-r-efi-6.0.0 + rust-rayon-1.11.0 + rust-rayon-core-1.13.0 + rust-rdst-0.20.14 + rust-redox-syscall-0.5.18 + rust-regex-1.12.3 + rust-regex-automata-0.4.14 + rust-regex-syntax-0.8.10 + rust-rustix-1.1.4 + rust-rustversion-1.0.22 + rust-same-file-1.0.6 + rust-scopeguard-1.2.0 + rust-semver-1.0.27 + rust-serde-1.0.228 + rust-serde-core-1.0.228 + rust-serde-derive-1.0.228 + rust-serde-json-1.0.149 + rust-sha2-0.10.9 + rust-shlex-1.3.0 + rust-simd-adler32-0.3.8 + rust-smallvec-1.15.1 + rust-strsim-0.11.1 + rust-syn-2.0.117 + rust-tempfile-3.26.0 + rust-thiserror-1.0.69 + rust-thiserror-impl-1.0.69 + rust-tikv-jemalloc-sys-0.5.4+5.3.0-patched + rust-tikv-jemallocator-0.5.4 + rust-tinytemplate-1.2.1 + rust-typenum-1.19.0 + rust-unicode-ident-1.0.24 + rust-unicode-xid-0.2.6 + rust-utf8parse-0.2.2 + rust-version-check-0.9.5 + rust-voracious-radix-sort-1.2.0 + rust-walkdir-2.5.0 + rust-wasip2-1.0.2+wasi-0.2.9 + rust-wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06 + rust-wasm-bindgen-0.2.114 + rust-wasm-bindgen-macro-0.2.114 + rust-wasm-bindgen-macro-support-0.2.114 + rust-wasm-bindgen-shared-0.2.114 + rust-wasm-encoder-0.244.0 + rust-wasm-metadata-0.244.0 + rust-wasmparser-0.244.0 + rust-web-sys-0.3.91 + rust-winapi-util-0.1.11 + rust-windows-link-0.2.1 + rust-windows-sys-0.61.2 + rust-wit-bindgen-0.51.0 + rust-wit-bindgen-core-0.51.0 + rust-wit-bindgen-rust-0.51.0 + rust-wit-bindgen-rust-macro-0.51.0 + rust-wit-component-0.244.0 + rust-wit-parser-0.244.0 + rust-zerocopy-0.8.40 + rust-zerocopy-derive-0.8.40 + rust-zmij-1.0.21 + rust-zstd-0.13.3 + rust-zstd-safe-7.2.4 + rust-zstd-sys-2.0.16+zstd.1.5.7)) + (onecode => + (list rust-aho-corasick-1.1.3 + rust-bindgen-0.70.1 + rust-bitflags-2.9.4 + rust-cc-1.2.40 + rust-cexpr-0.6.0 + rust-cfg-if-1.0.3 + rust-clang-sys-1.8.1 + rust-either-1.15.0 + rust-find-msvc-tools-0.1.3 + rust-glob-0.3.3 + rust-itertools-0.13.0 + rust-libc-0.2.176 + rust-libloading-0.8.9 + rust-log-0.4.28 + rust-memchr-2.7.6 + rust-minimal-lexical-0.2.1 + rust-nom-7.1.3 + rust-prettyplease-0.2.37 + rust-proc-macro2-1.0.101 + rust-quote-1.0.41 + rust-regex-1.11.3 + rust-regex-automata-0.4.11 + rust-regex-syntax-0.8.6 + rust-rustc-hash-1.1.0 + rust-shlex-1.3.0 + rust-syn-2.0.106 + rust-unicode-ident-1.0.19 + rust-windows-link-0.2.1)) + (fastga-rs => + (list rust-aho-corasick-1.1.3 + rust-anyhow-1.0.100 + rust-bindgen-0.70.1 + rust-bitflags-2.10.0 + rust-cc-1.2.43 + rust-cexpr-0.6.0 + rust-cfg-if-1.0.4 + rust-clang-sys-1.8.1 + rust-diff-0.1.13 + rust-either-1.15.0 + rust-errno-0.3.14 + rust-fastrand-2.3.0 + rust-find-msvc-tools-0.1.4 + rust-getrandom-0.3.4 + rust-glob-0.3.3 + rust-hermit-abi-0.5.2 + rust-home-0.5.12 + rust-itertools-0.13.0 + rust-libc-0.2.177 + rust-libloading-0.8.9 + rust-linux-raw-sys-0.11.0 + rust-linux-raw-sys-0.4.15 + rust-log-0.4.28 + rust-memchr-2.7.6 + rust-minimal-lexical-0.2.1 + rust-nix-0.27.1 + rust-nom-7.1.3 + rust-num-cpus-1.17.0 + rust-once-cell-1.21.3 + rust-onecode-0.1.0 + rust-pkg-config-0.3.32 + rust-pretty-assertions-1.4.1 + rust-prettyplease-0.2.37 + rust-proc-macro2-1.0.103 + rust-quote-1.0.41 + rust-r-efi-5.3.0 + rust-regex-1.12.2 + rust-regex-automata-0.4.13 + rust-regex-syntax-0.8.8 + rust-rustc-hash-1.1.0 + rust-rustix-0.38.44 + rust-rustix-1.1.2 + rust-shlex-1.3.0 + rust-syn-2.0.108 + rust-tempfile-3.23.0 + rust-thiserror-1.0.69 + rust-thiserror-impl-1.0.69 + rust-unicode-ident-1.0.20 + rust-wasip2-1.0.1+wasi-0.2.4 + rust-which-6.0.3 + rust-windows-aarch64-gnullvm-0.52.6 + rust-windows-aarch64-msvc-0.52.6 + rust-windows-i686-gnu-0.52.6 + rust-windows-i686-gnullvm-0.52.6 + rust-windows-i686-msvc-0.52.6 + rust-windows-link-0.2.1 + rust-windows-sys-0.59.0 + rust-windows-sys-0.61.2 + rust-windows-targets-0.52.6 + rust-windows-x86-64-gnu-0.52.6 + rust-windows-x86-64-gnullvm-0.52.6 + rust-windows-x86-64-msvc-0.52.6 + rust-winsafe-0.0.19 + rust-wit-bindgen-0.46.0 + rust-yansi-1.0.1)) + (impg => + (list rust-adler2-2.0.1 + rust-aho-corasick-1.1.4 + rust-anstream-0.6.21 + rust-anstyle-1.0.13 + rust-anstyle-parse-0.2.7 + rust-anstyle-query-1.1.5 + rust-anstyle-wincon-3.0.11 + rust-anyhow-1.0.102 + rust-approx-0.5.1 + rust-arrayvec-0.5.2 + rust-autocfg-1.5.0 + rust-bgzip-0.3.1 + rust-bincode-2.0.1 + rust-bincode-derive-2.0.1 + rust-bio-types-1.0.4 + rust-bitflags-1.3.2 + rust-bitflags-2.11.0 + rust-bitvec-1.0.1 + rust-boomphf-0.5.9 + rust-bstr-0.2.17 + rust-bumpalo-3.20.2 + rust-bytemuck-1.25.0 + rust-bytemuck-derive-1.10.2 + rust-byteorder-1.5.0 + rust-bytes-1.11.1 + rust-bzip2-0.5.2 + rust-bzip2-sys-0.1.13+1.0.8 + rust-cc-1.2.56 + rust-cfg-if-1.0.4 + rust-clap-4.5.60 + rust-clap-builder-4.5.60 + rust-clap-derive-4.5.55 + rust-clap-lex-1.0.0 + rust-cmake-0.1.57 + rust-codespan-reporting-0.13.1 + rust-coitrees-0.4.0 + rust-colorchoice-1.0.4 + rust-console-0.16.1 + rust-core-affinity-0.8.3 + rust-crc32fast-1.5.0 + rust-crossbeam-channel-0.5.15 + rust-crossbeam-deque-0.8.6 + rust-crossbeam-epoch-0.9.18 + rust-crossbeam-utils-0.8.21 + rust-custom-derive-0.1.7 + rust-cxx-1.0.194 + rust-cxx-build-1.0.194 + rust-cxxbridge-cmd-1.0.194 + rust-cxxbridge-flags-1.0.194 + rust-cxxbridge-macro-1.0.194 + rust-derive-new-0.5.9 + rust-derive-new-0.7.0 + rust-displaydoc-0.2.5 + rust-either-1.15.0 + rust-encode-unicode-1.0.0 + rust-env-filter-1.0.0 + rust-env-logger-0.11.9 + rust-equivalent-1.0.2 + rust-errno-0.3.14 + rust-fastga-rs-0.1.2.e7a6d93 + rust-fastrand-2.3.0 + rust-find-msvc-tools-0.1.9 + rust-flate2-1.1.9 + rust-flume-0.11.1 + rust-fnv-1.0.7 + rust-foldhash-0.2.0 + rust-form-urlencoded-1.2.2 + rust-fs-utils-1.1.4 + rust-funty-2.0.0 + rust-futures-core-0.3.32 + rust-futures-sink-0.3.32 + rust-getrandom-0.2.16 + rust-getrandom-0.3.3 + rust-gfa-0.10.1 + rust-gfasort-0.1.0.e23f45e + rust-glob-0.3.3 + rust-gzp-1.0.1 + rust-handlegraph-0.7.0-alpha.9.3ac575e + rust-hashbrown-0.16.1 + rust-heck-0.5.0 + rust-hermit-abi-0.5.2 + rust-hts-sys-2.2.0 + rust-icu-collections-2.1.1 + rust-icu-locale-core-2.1.1 + rust-icu-normalizer-2.1.1 + rust-icu-normalizer-data-2.1.1 + rust-icu-properties-2.0.1 + rust-icu-properties-data-2.0.1 + rust-icu-provider-2.1.1 + rust-idna-1.1.0 + rust-idna-adapter-1.2.1 + rust-ieee754-0.2.6 + rust-indexmap-2.13.0 + rust-indicatif-0.18.4 + rust-is-terminal-polyfill-1.70.2 + rust-jiff-0.2.22 + rust-jiff-static-0.2.22 + rust-jobserver-0.1.34 + rust-js-sys-0.3.91 + rust-lazy-static-1.5.0 + rust-lexical-core-0.7.6 + rust-lib-wfa2-0.1.0.0fe1ebf + rust-libc-0.2.175 + rust-libdeflate-sys-1.25.2 + rust-libdeflater-1.25.2 + rust-liblzma-0.3.6 + rust-liblzma-sys-0.3.13 + rust-libz-ng-sys-1.1.24 + rust-libz-rs-sys-0.5.2 + rust-libz-sys-1.1.24 + rust-linear-map-1.2.0 + rust-link-cplusplus-1.0.12 + rust-linux-raw-sys-0.12.1 + rust-litemap-0.8.1 + rust-lock-api-0.4.14 + rust-log-0.4.29 + rust-matrixmultiply-0.3.10 + rust-memchr-2.8.0 + rust-memmap-0.7.0 + rust-miniz-oxide-0.8.9 + rust-nalgebra-0.33.2 + rust-nalgebra-macros-0.2.2 + rust-nanorand-0.7.0 + rust-natord-1.0.9 + rust-newtype-derive-0.1.6 + rust-niffler-3.0.0 + rust-nom-7.1.3 + rust-noodles-0.100.0 + rust-noodles-bgzf-0.42.0 + rust-num-bigint-0.4.6 + rust-num-complex-0.4.6 + rust-num-integer-0.1.46 + rust-num-rational-0.4.2 + rust-num-traits-0.2.19 + rust-num-cpus-1.17.0 + rust-once-cell-1.21.3 + rust-once-cell-polyfill-1.70.2 + rust-onecode-0.1.0.38182c7 + rust-onecode-0.1.0.f531f5b + rust-paste-1.0.15 + rust-percent-encoding-2.3.2 + rust-pkg-config-0.3.32 + rust-portable-atomic-1.13.1 + rust-portable-atomic-util-0.2.5 + rust-potential-utf-0.1.4 + rust-proc-macro2-1.0.106 + rust-quick-error-1.2.3 + rust-quote-1.0.40 + rust-r-efi-5.3.0 + rust-radium-0.7.0 + rust-ragc-0.1.1.e9e4a6f + rust-rand-0.8.5 + rust-rand-0.9.2 + rust-rand-chacha-0.3.1 + rust-rand-chacha-0.9.0 + rust-rand-core-0.6.4 + rust-rand-core-0.9.5 + rust-rand-distr-0.5.1 + rust-rand-xoshiro-0.7.0 + rust-rawpointer-0.2.1 + rust-rayon-1.11.0 + rust-rayon-core-1.13.0 + rust-regex-1.12.3 + rust-regex-automata-0.1.10 + rust-regex-automata-0.4.14 + rust-regex-syntax-0.8.10 + rust-rust-htslib-1.0.0 + rust-rustc-hash-2.1.1 + rust-rustc-version-0.1.7 + rust-rustix-1.1.4 + rust-rustversion-1.0.22 + rust-ryu-1.0.20 + rust-safe-arch-0.7.4 + rust-scopeguard-1.2.0 + rust-scratch-1.0.9 + rust-semver-1.0.27 + rust-sha2-0.10.9 + rust-digest-0.10.7 + rust-crypto-common-0.1.7 + rust-block-buffer-0.10.4 + rust-generic-array-0.14.7 + rust-cpufeatures-0.2.17 + rust-seqwish-0.1.3.a781924 + rust-serde-1.0.228 + rust-serde-core-1.0.228 + rust-serde-derive-1.0.228 + rust-shlex-1.3.0 + rust-simba-0.9.1 + rust-smallvec-1.15.1 + rust-spin-0.9.8 + rust-spoa-rs-0.1.0.6f4f102 + rust-stable-deref-trait-1.2.1 + rust-static-assertions-1.1.0 + rust-strsim-0.11.1 + rust-strum-macros-0.26.4 + rust-succinct-0.5.2 + rust-sweepga-0.1.1.f591843 + rust-syn-1.0.109 + rust-syn-2.0.117 + rust-synstructure-0.13.2 + rust-tap-1.0.1 + rust-tempfile-3.26.0 + rust-termcolor-1.4.1 + rust-thiserror-1.0.69 + rust-thiserror-2.0.16 + rust-thiserror-impl-1.0.69 + rust-thiserror-impl-2.0.16 + rust-tinystr-0.8.2 + rust-tpa-0.1.0.301dc3f + rust-tracepoints-0.1.0.b737734 + rust-typenum-1.19.0 + rust-unicode-ident-1.0.24 + rust-unicode-width-0.2.2 + rust-unit-prefix-0.5.2 + rust-unty-0.0.4 + rust-url-2.5.7 + rust-utf8-iter-1.0.4 + rust-utf8parse-0.2.2 + rust-vcpkg-0.2.15 + rust-version-check-0.9.5 + rust-virtue-0.0.18 + rust-wasi-0.11.1+wasi-snapshot-preview1 + rust-wasip2-1.0.2+wasi-0.2.9 + rust-wasm-bindgen-0.2.114 + rust-wasm-bindgen-backend-0.2.102 + rust-wasm-bindgen-macro-0.2.114 + rust-wasm-bindgen-macro-support-0.2.114 + rust-wasm-bindgen-shared-0.2.114 + rust-web-time-1.1.0 + rust-wide-0.7.33 + rust-winapi-0.3.9 + rust-winapi-i686-pc-windows-gnu-0.4.0 + rust-winapi-util-0.1.11 + rust-winapi-x86-64-pc-windows-gnu-0.4.0 + rust-windows-link-0.1.3 + rust-windows-link-0.2.1 + rust-windows-sys-0.60.2 + rust-windows-sys-0.61.2 + rust-windows-targets-0.52.6 + rust-windows-aarch64-gnullvm-0.52.6 + rust-windows-aarch64-msvc-0.52.6 + rust-windows-i686-gnu-0.52.6 + rust-windows-i686-gnullvm-0.52.6 + rust-windows-i686-msvc-0.52.6 + rust-windows-x86-64-gnu-0.52.6 + rust-windows-x86-64-gnullvm-0.52.6 + rust-windows-x86-64-msvc-0.52.6 + rust-wit-bindgen-0.51.0 + rust-writeable-0.6.2 + rust-wyhash-0.5.0 + rust-wyz-0.5.1 + rust-yoke-0.8.1 + rust-yoke-derive-0.8.1 + rust-zerofrom-0.1.6 + rust-zerofrom-derive-0.1.6 + rust-zerotrie-0.2.3 + rust-zerovec-0.11.5 + rust-zerovec-derive-0.11.2 + rust-zlib-rs-0.6.2 + rust-zstd-0.13.3 + rust-zstd-safe-7.2.4 + rust-zstd-sys-2.0.16+zstd.1.5.7 + ;; Transitive dependencies of git-sourced crates + rust-ahash-0.8.12 + rust-allocator-api2-0.2.21 + rust-android-system-properties-0.1.5 + rust-arbitrary-chunks-0.4.1 + rust-bincode-1.3.3 + rust-bindgen-0.69.5 + rust-bindgen-0.70.1 + rust-block-pseudorand-0.1.2 + rust-cbindgen-0.27.0 + rust-cexpr-0.6.0 + rust-chiapos-chacha8-0.1.0 + rust-chrono-0.4.44 + rust-clang-sys-1.8.1 + rust-console-0.16.2 + rust-core-foundation-sys-0.8.7 + rust-crossbeam-0.8.4 + rust-crossbeam-queue-0.3.12 + rust-crunchy-0.2.4 + rust-dashmap-6.1.0 + rust-derive-new-0.6.0 + rust-fm-index-0.3.0 + rust-foldhash-0.1.5 + rust-getrandom-0.2.17 + rust-getrandom-0.3.4 + rust-getrandom-0.4.1 + rust-hashbrown-0.14.5 + rust-hashbrown-0.15.5 + rust-heck-0.4.1 + rust-home-0.5.12 + rust-iana-time-zone-0.1.65 + rust-iana-time-zone-haiku-0.1.2 + rust-icu-properties-2.1.2 + rust-icu-properties-data-2.1.2 + rust-id-arena-2.3.0 + rust-iitree-rs-0.1.1 + rust-is-terminal-0.4.17 + rust-itertools-0.10.5 + rust-itertools-0.12.1 + rust-itertools-0.13.0 + rust-itoa-1.0.17 + rust-lazycell-1.3.0 + rust-leb128fmt-0.1.0 + rust-libc-0.2.182 + rust-libloading-0.8.9 + rust-libm-0.2.16 + rust-linux-raw-sys-0.4.15 + rust-memmap2-0.9.10 + rust-minimal-lexical-0.2.1 + rust-nanorand-0.6.1 + rust-nix-0.27.1 + rust-nom-5.1.3 + rust-onecode-0.1.0 + rust-ordered-float-4.6.0 + rust-parking-lot-0.12.5 + rust-parking-lot-core-0.9.12 + rust-partition-0.1.2 + rust-ppv-lite86-0.2.21 + rust-prettyplease-0.2.37 + rust-quote-1.0.44 + rust-rdst-0.20.14 + rust-redox-syscall-0.5.18 + rust-rustc-hash-1.1.0 + rust-rustix-0.38.44 + rust-ryu-1.0.23 + rust-same-file-1.0.6 + rust-semver-0.1.20 + rust-serde-json-1.0.149 + rust-serde-spanned-0.6.9 + rust-simd-adler32-0.3.8 + rust-sucds-0.8.3 + rust-thiserror-2.0.18 + rust-thiserror-impl-2.0.18 + rust-tikv-jemalloc-sys-0.5.4+5.3.0-patched + rust-tikv-jemallocator-0.5.4 + rust-toml-0.8.23 + rust-toml-datetime-0.6.11 + rust-toml-edit-0.22.27 + rust-toml-write-0.1.2 + rust-uf-rush-0.1.1 + rust-unicode-xid-0.2.6 + rust-url-2.5.8 + rust-vers-vecs-1.9.0 + rust-voracious-radix-sort-1.2.0 + rust-walkdir-2.5.0 + rust-windows-core-0.62.2 + rust-windows-implement-0.60.2 + rust-windows-interface-0.59.3 + rust-windows-result-0.4.1 + rust-windows-strings-0.5.1 + rust-winnow-0.7.14 + rust-zerocopy-0.8.40 + rust-zerocopy-derive-0.8.40 + rust-zmij-1.0.21 + ;; Dev/build dependencies of transitive crates + rust-anes-0.1.6 + rust-cast-0.3.0 + rust-ciborium-0.2.2 + rust-ciborium-io-0.2.2 + rust-ciborium-ll-0.2.2 + rust-criterion-0.5.1 + rust-criterion-plot-0.5.0 + rust-half-2.7.1 + rust-oorandom-11.1.5 + rust-plotters-0.3.7 + rust-plotters-backend-0.3.7 + rust-plotters-svg-0.3.7 + rust-tinytemplate-1.2.1 + rust-wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06 + rust-wasm-encoder-0.244.0 + rust-wasm-metadata-0.244.0 + rust-wasmparser-0.244.0 + rust-web-sys-0.3.91 + rust-which-6.0.3 + rust-windows-sys-0.59.0 + rust-winsafe-0.0.19 + rust-wit-bindgen-core-0.51.0 + rust-wit-bindgen-rust-0.51.0 + rust-wit-bindgen-rust-macro-0.51.0 + rust-wit-component-0.244.0 + rust-wit-parser-0.244.0))) + +;;; +;;; Main package. +;;; + +(define-public gfainject + (let ((commit "e56cba362047e7137352858dfba5f56e944cbf06") + (revision "0")) + (package + (name "gfainject") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chfi/gfainject") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kv1abwwj1m5d7y61ymrrj309bg543vk5dlfq56h5d4qswmb7zyv")))) + (build-system cargo-build-system) + (arguments (list #:install-source? #f)) + ;; No upstream test data; tests require GFA/BAM input files. + (inputs (cargo-inputs 'gfainject #:module '(gn packages pangenome-rust))) + (home-page "https://github.com/chfi/gfainject") + (synopsis "Map BAM alignments to GFA graph paths as GAF records") + (description + "Gfainject maps read alignments from a BAM file to reference paths in a +GFA format graph, producing output in GAF format. The alignment reference +names must match the path names in the GFA.") + (license license:expat)))) + +(define-public rust-onecode + (let ((commit "f531f5b0ff54001a898ec4e0c0c761b2bd0a1f34") + (revision "0")) + (package + (name "rust-onecode") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pangenome/onecode-rs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nzhgg7sqalrpl1mzlp0rvaj4dgcwghv1jngcsfqqk1mhx4hvj0n")))) + (build-system cargo-build-system) + (arguments + (list #:install-source? #f)) + (inputs (cargo-inputs 'onecode #:module '(gn packages pangenome-rust))) + (home-page "https://github.com/pangenome/onecode-rs") + (synopsis "Rust bindings for ONEcode genomic data format") + (description + "This package provides Rust FFI bindings for ONEcode, a simple and +efficient data representation format for genomic data. ONEcode provides both +human-readable ASCII and compressed binary file formats with strongly typed +data. The C library (ONElib) is bundled and compiled at build time.") + (license license:expat)))) + +(define-public ragc + (let ((commit "e9e4a6f880f5d6fa90fc90f24542def3ca637d38") + (revision "0")) + (package + (name "ragc") + (version (git-version "0.1.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AndreaGuarracino/ragc") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ks74pgh0vjy4mzxvp7riq1rkf9zh9kqzhvvy8iys46zrbkxmhs7")))) + (build-system cargo-build-system) + (native-inputs (list pkg-config)) + (inputs (cons `(,zstd "lib") (cargo-inputs 'ragc-cli #:module '(gn packages pangenome-rust)))) + (arguments + (list #:install-source? #f + ;; Tests use unstable feature unsigned_is_multiple_of (nightly only) + #:tests? #f + #:cargo-build-flags ''("--release" "--package" "ragc-cli") + ;; Workspace root has no [[bin]], must specify the CLI member + #:cargo-install-paths ''("ragc-cli"))) + (home-page "https://github.com/AndreaGuarracino/ragc") + (synopsis "Genome compression tool implementing the AGC format in Rust") + (description + "Ragc (Rust AGC) implements the Adaptive Genome Compressor (AGC) format +in pure Rust. It provides high-ratio compression for large collections of +similar genome sequences and is compatible with the C++ AGC format.") + (license license:expat)))) + +(define-public fastga-rs + (let ((commit "c0bf6202506f51c77e47cf8707e58b7b61e2b621") + (revision "0")) + (package + (name "fastga-rs") + (version (git-version "0.1.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pangenome/fastga-rs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zb385qk943v6xypbza8av6qhh2j26m76qkpzmlwyp9xhbn7j26i")))) + (build-system cargo-build-system) + (native-inputs (list pkg-config clang)) + (inputs (cons zlib (cargo-inputs 'fastga-rs #:module '(gn packages pangenome-rust)))) + (arguments + (list #:install-source? #f + ;; Tests require FastGA utilities built in OUT_DIR and genome data files + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-sources + ;; Cargo.toml uses a git source for onecode but Cargo.lock + ;; resolved it to the registry version 0.1.0. + (lambda _ + (substitute* "Cargo.toml" + (("onecode = \\{ git = \"[^\"]*\" \\}") + "onecode = \"0.1.0\"")))) + (add-before 'build 'patch-home-msrv + ;; home 0.5.12 declares rust-version = "1.88" but Guix ships + ;; rustc 1.85.1. The 'configure phase extracts inputs with + ;; strip-store-file-name as directory names, so home ends up + ;; at guix-vendor/rust-home-0.5.12.tar.gz/. + (lambda _ + (substitute* "guix-vendor/rust-home-0.5.12.tar.gz/Cargo.toml" + (("rust-version = \"[^\"]*\"\n") ""))))))) + (home-page "https://github.com/pangenome/fastga-rs") + (synopsis "Rust bindings for FastGA genome aligner with extended CIGAR support") + (description + "FastGA-RS provides Rust bindings for FastGA, a fast genome aligner. +It compiles FastGA's C code directly and exposes an API for pairwise genome +alignment with extended CIGAR output. The bundled FastGA utilities are built +at compile time and embedded in the binary.") + (license license:expat)))) + +;;; +;;; Spoa (required by impg via spoa-rs). +;;; + +(define biosoup-0.11.0 + (package + (inherit biosoup) + (name "biosoup") + (version "0.11.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rvaser/biosoup") + (commit "3e31aa1d9039a2689241aebd18c45933b2d0f5e3"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vn1hj3h152iwahnrzghqll34qaphchi07klb3j70vgc248micbz")))))) + +(define bioparser-3.1.0 + (package + (inherit bioparser) + (name "bioparser") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rvaser/bioparser") + (commit "4fa7126293d2a0eb90125b58fb704f0eed33ffe0"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "057zb3g8qyvbkbfzgkygrf0iphz3v4icm13pchxzrafiy7zkbmrq")))) + (inputs + (modify-inputs (package-inputs bioparser) + (replace "biosoup" biosoup-0.11.0))))) + +(define-public spoa + (let ((commit "08957f6b87ce4262358a88c6b2c3c7860cf60239")) + (package + (name "spoa") + (version "4.0.8") + (source (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/rvaser/spoa") + (commit commit))) + (file-name (git-file-name "spoa" (string-append version "-" (string-take commit 7)))) + (sha256 (base32 "0vafy9ry3cdrymxshcfmiv4schb0va3yxb6g3p20l54wl8alhxfj")))) + (build-system meson-build-system) + ;; googletest 1.17.0 requires C++14 but spoa builds with -std=c++11. + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-test-subdir + (lambda _ + (substitute* "meson.build" + ((".*gtest.*\n") "") + (("subdir\\('test'\\).*\n") ""))))))) + (inputs (list zlib + simde + biosoup-0.11.0 + bioparser-3.1.0 + pkg-config + cpu-features + cmake-minimal)) + (synopsis "C++ implementation of the Partial Order Alignment algorithm") + (description "Spoa (SIMD POA) is a C++ implementation of the partial order +alignment (POA) algorithm used to generate consensus sequences. It supports +local, global and semi-global alignment modes with linear, affine and convex +gap modes.") + (license license:expat) + (home-page "https://github.com/rvaser/spoa")))) + +;;; +;;; wfa2-lib (required by impg via lib_wfa2 crate). +;;; + +(define wfa2-lib/our + (let ((commit "380eb31bb6be7b7043c86fb5d8ab51d7a3ba25b8") + (revision "2")) + (package + (name "wfa2-lib") + (version (git-version "2.3.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/smarco/WFA2-lib") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xhlgr7rrb8m3nhf7d4g6xqjdziv9dz2xsd80kljhkm7ml7x7161")) + (snippet + #~(begin + (use-modules ((guix build utils))) + (substitute* "Makefile" + (("-march=native") "")))))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; No tests. + #:parallel-build? #f ; Race condition in Makefile. + #:modules '((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "CPP=" #$(cxx-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; No configure script. + ;; -flto breaks align_benchmark. + (replace 'build + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" "all" make-flags))) + (replace 'install + (lambda _ + (for-each + (cut install-file <> (string-append #$output "/bin")) + (find-files "bin")) + (for-each + (cut install-file <> (string-append #$output "/lib")) + (find-files "lib")) + (for-each + (lambda (file) + (mkdir-p (string-append #$output "/include/wfa2-lib/" (dirname file))) + (copy-file file (string-append #$output "/include/wfa2-lib/" file))) + (find-files "." "\\.(h|hpp)$"))))))) + (home-page "https://github.com/smarco/WFA2-lib") + (synopsis "Wavefront alignment algorithm library") + (description "The wavefront alignment (WFA) algorithm is an exact +gap-affine algorithm that takes advantage of homologous regions between the +sequences to accelerate the alignment process.") + (properties '((tunable? . #t))) + (license license:expat)))) + +(define wfa2-lib-static + (package + (inherit (static-package wfa2-lib/our)) + (name "wfa2-lib-static") + (arguments + (substitute-keyword-arguments (package-arguments wfa2-lib/our) + ((#:make-flags flags ''()) + #~(cons* "CC_FLAGS+=-static -fPIC" "CFLAGS+=-fPIC" #$flags)))))) + +;;; +;;; impg package. +;;; + +(define-public impg + (let ((commit "748bd5e43ff81ac7bedc28b6e79b9c3b2aa08486") + (revision "0")) + (package + (name "impg") + (version (git-version "0.4.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pangenome/impg") + (commit commit) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j1xgh0kv7hm8xfla2bg11iq9nm9lry6awcm84iqczvvy4vf26i2")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + ;; Tests require input data files not shipped in the repo + #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; 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 + (lambda* (#:key inputs #:allow-other-keys) + (let ((src (assoc-ref inputs "rust-ragc-0.1.1.e9e4a6f-checkout"))) + (copy-recursively src "ragc-workspace")))) + (add-before 'build 'fix-dependency-sources + (lambda _ + (substitute* "Cargo.toml" + ;; spoa-rs + (("git = \"https://github.com/AndreaGuarracino/spoa-rs\\.git\"") + "path = \"guix-vendor/rust-spoa-rs-0.1.0.6f4f102-checkout\", version = \"0.1.0\"") + ;; ragc-core in [dependencies] and [patch] + (("ragc-core = \\{ git = \"https://github.com/AndreaGuarracino/ragc\", rev = \"e9e4a6f\" \\}") + "ragc-core = { path = \"ragc-workspace/ragc-core\" }") + ;; ragc-common in [patch] + (("ragc-common = \\{ git = \"https://github.com/AndreaGuarracino/ragc\", rev = \"e9e4a6f\" \\}") + "ragc-common = { path = \"ragc-workspace/ragc-common\" }") + ;; onecode + (("git = \"https://github.com/pangenome/onecode-rs\", rev = \"38182c7acf7cccc53509176b1d11001ae6ff2642\"") + "path = \"guix-vendor/rust-onecode-0.1.0.38182c7-checkout\", version = \"0.1.0\"") + ;; tpa + (("git = \"https://github.com/AndreaGuarracino/tpa\", rev = \"301dc3ff53482d993c065217dbcd8abb6ffff2d9\"") + "path = \"guix-vendor/rust-tpa-0.1.0.301dc3f-checkout\", version = \"0.1.0\"") + ;; lib_wfa2 + (("git = \"https://github.com/AndreaGuarracino/lib_wfa2\", rev = \"0fe1ebfb7a364226f3d8d7b84b703611168435c6\"") + "path = \"guix-vendor/rust-lib-wfa2-0.1.0.0fe1ebf-checkout\", version = \"0.1.0\"") + ;; tracepoints + (("git = \"https://github.com/AndreaGuarracino/tracepoints\", rev = \"b73773433561fb36f21136776a7297c5877ab593\"") + "path = \"guix-vendor/rust-tracepoints-0.1.0.b737734-checkout\", version = \"0.1.0\"") + ;; handlegraph + (("git = \"https://github.com/chfi/rs-handlegraph\", rev = \"3ac575e4216ce16a16667503a8875e469a40a97a\"") + "path = \"guix-vendor/rust-handlegraph-0.7.0-alpha.9.3ac575e-checkout\", version = \"0.7.0-alpha.9\"") + ;; sweepga + (("git = \"https://github.com/pangenome/sweepga\", rev = \"f5918434c1abadfad594b40392ad7c43e0da4af8\", default-features = false") + "path = \"guix-vendor/rust-sweepga-0.1.1.f591843-checkout\", version = \"0.1.1\", default-features = false") + ;; seqwish + (("git = \"https://github.com/pangenome/seqwish\", rev = \"a781924a1074f8177a24f8caa2b9be07d746acb0\"") + "path = \"guix-vendor/rust-seqwish-0.1.3.a781924-checkout\", version = \"0.1.3\"") + ;; gfasort + (("git = \"https://github.com/pangenome/gfasort\", rev = \"e23f45e\"") + "path = \"guix-vendor/rust-gfasort-0.1.0.e23f45e-checkout\", version = \"0.1.0\"")))) + (add-before 'build 'fix-vendored-git-deps + (lambda _ + ;; Two different onecode revisions (38182c7 and f531f5b) both + ;; declare version 0.1.0, causing a cargo lockfile collision. + ;; Bump the older rev (f531f5b) to 0.1.0-alt so cargo can + ;; distinguish them. + (substitute* "guix-vendor/rust-onecode-0.1.0.f531f5b-checkout/Cargo.toml" + (("version = \"0.1.0\"") + "version = \"0.1.0-alt\"")) + ;; sweepga has git deps on fastga-rs, onecode, ragc-core + (substitute* "guix-vendor/rust-sweepga-0.1.1.f591843-checkout/Cargo.toml" + (("fastga-rs = \\{ git = \"[^\"]*\"[^}]*\\}") + "fastga-rs = { path = \"../rust-fastga-rs-0.1.2.e7a6d93-checkout\", version = \"0.1.2\" }") + (("onecode = \\{ git = \"[^\"]*\"[^}]*\\}") + "onecode = { path = \"../rust-onecode-0.1.0.f531f5b-checkout\", version = \"0.1.0-alt\" }") + (("ragc-core = \\{ git = \"[^\"]*\"[^}]*\\}") + "ragc-core = { path = \"../../ragc-workspace/ragc-core\" }")) + ;; tpa has git deps on lib_wfa2 and tracepoints + (substitute* "guix-vendor/rust-tpa-0.1.0.301dc3f-checkout/Cargo.toml" + (("lib_wfa2 = \\{ git = \"[^\"]*\"[^}]*\\}") + "lib_wfa2 = { path = \"../rust-lib-wfa2-0.1.0.0fe1ebf-checkout\", version = \"0.1.0\" }") + (("tracepoints = \\{ git = \"[^\"]*\"[^}]*\\}") + "tracepoints = { path = \"../rust-tracepoints-0.1.0.b737734-checkout\", version = \"0.1.0\" }")) + ;; tracepoints has git dep on lib_wfa2 + (substitute* "guix-vendor/rust-tracepoints-0.1.0.b737734-checkout/Cargo.toml" + (("lib_wfa2 = \\{ git = \"[^\"]*\"[^}]*\\}") + "lib_wfa2 = { path = \"../rust-lib-wfa2-0.1.0.0fe1ebf-checkout\", version = \"0.1.0\" }")) + ;; fastga-rs has git dep on onecode (the f531f5b rev) + (substitute* "guix-vendor/rust-fastga-rs-0.1.2.e7a6d93-checkout/Cargo.toml" + (("onecode = \\{ git = \"[^\"]*\"[^}]*\\}") + "onecode = { path = \"../rust-onecode-0.1.0.f531f5b-checkout\", version = \"0.1.0-alt\" }")))) + (add-before 'build 'fix-seqwish-lockfile + ;; seqwish's Cargo.lock pins clap 4.5.51 but our vendor has + ;; 4.5.60. Delete its lockfile so cargo metadata succeeds. + (lambda _ + (delete-file + "guix-vendor/rust-seqwish-0.1.3.a781924-checkout/Cargo.lock"))) + (add-before 'build 'patch-home-msrv + ;; home 0.5.12 declares rust-version = "1.88" but Guix ships + ;; rustc 1.85.1. + (lambda _ + (substitute* "guix-vendor/rust-home-0.5.12.tar.gz/Cargo.toml" + (("rust-version = \"[^\"]*\"\n") "")))) + (add-before 'build 'patch-is-multiple-of + ;; Several crates use is_multiple_of (stabilized in Rust 1.87) + ;; but Guix ships rustc 1.85.1. Replace with modulo check. + (lambda _ + (for-each + (lambda (file) + (substitute* file + ;; Negated: !expr.is_multiple_of(val) -> expr % val != 0 + (("!([a-z_.()]+)\\.is_multiple_of\\(([^)]+)\\)" all expr val) + (string-append expr " % " val " != 0")) + ;; Positive: expr.is_multiple_of(val) -> expr % val == 0 + (("\\.is_multiple_of\\(([^)]+)\\)" all val) + (string-append " % " val " == 0")))) + (append + (find-files "src" "\\.rs$") + (find-files "guix-vendor/rust-vers-vecs-1.9.0.tar.gz" "\\.rs$") + (find-files "guix-vendor/rust-rust-htslib-1.0.0.tar.gz" "\\.rs$"))))) + (add-before 'build 'patch-lib-wfa2-use-system + ;; Replace lib_wfa2 build.rs to link against system wfa2-lib-static + ;; instead of building WFA2-lib from source. + (lambda _ + (chmod "guix-vendor/rust-lib-wfa2-0.1.0.0fe1ebf-checkout/build.rs" #o644) + (call-with-output-file + "guix-vendor/rust-lib-wfa2-0.1.0.0fe1ebf-checkout/build.rs" + (lambda (port) + (display + (string-append + "fn main() {\n" + " println!(\"cargo:rustc-link-lib=static=wfa\");\n" + " println!(\"cargo:rustc-link-lib=gomp\");\n" + " println!(\"cargo:rustc-link-search=native=" + #$(file-append wfa2-lib-static "/lib") "\");\n" + "}\n") + port))) + ;; Patch bindings_wfa.rs: replace cast_signed/cast_unsigned + ;; (unstable until Rust 1.87) with plain `as` casts. + (substitute* + "guix-vendor/rust-lib-wfa2-0.1.0.0fe1ebf-checkout/src/bindings_wfa.rs" + ;; u32::cast_signed(expr as u32) -> ((expr as u32) as i32) + (("u32::cast_signed\\(self\\._bitfield_1\\.get\\(0usize, 24u8\\) as u32\\)") + "((self._bitfield_1.get(0usize, 24u8) as u32) as i32)") + ;; Multiline u32::cast_signed(<...>::raw_get(...) + (("u32::cast_signed\\(<") + "((<") + ((" \\) as u32\\)") + " ) as u32) as i32)") + ;; i32::cast_unsigned(val) -> (val as u32) + (("i32::cast_unsigned\\(val\\)") + "(val as u32)") + (("i32::cast_unsigned\\(_flags2\\)") + "(_flags2 as u32)")))) + (add-before 'build 'patch-include-paths-to-spoa + (lambda _ + (substitute* "guix-vendor/rust-spoa-rs-0.1.0.6f4f102-checkout/build.rs" + (("spoa/include") #$(file-append spoa "/include")) + (("^ *out_dir\\.display.*$") "") + (("\\{\\}/build/lib\",") #$(file-append spoa "/lib\"")))))))) + (native-inputs (list pkg-config cmake-minimal clang)) + (inputs (cons* spoa + wfa2-lib-static + zlib + (list zstd "lib") + (cargo-inputs 'impg #:module '(gn packages pangenome-rust)))) + (home-page "https://github.com/pangenome/impg") + (synopsis "Tool to extract and compute graphs of sequences and alignments") + (description "IMplicit Pangenome Graph (impg) is a tool that takes in +sequences and their relative alignments and extracts sections of the sequences +and alignments for analysis. It can also compute graphs for the sequences.") + (license license:expat)))) diff --git a/gn/packages/pangenome.scm b/gn/packages/pangenome.scm index 5c5ef00..93d66d0 100644 --- a/gn/packages/pangenome.scm +++ b/gn/packages/pangenome.scm @@ -1,14 +1,29 @@ -;; Pangenome module +;; Pangenome module -- pangenome tools and their dependencies (define-module (gn packages pangenome) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix build-system cargo) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages bioinformatics) + #:use-module (gnu packages boost) + #:use-module (gnu packages compression) + #:use-module (gnu packages golang-xyz) + #:use-module (gnu packages golang-maths) + #:use-module (gnu packages image-processing) + #:use-module (gnu packages maths) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (past-crates packages crates-io) #:use-module (gn packages crates-io)) - (define-public gfautil (package (name "gfautil") @@ -38,3 +53,379 @@ "This package provides command line tools for working with @acronym{GFA, Graphical Fragment Assembly} files and related formats.") (license license:expat))) + +(define-public safestringlib + (let ((commit "39219363f0497d04c710a1e11acdeb6d18d4b2f5") + (revision "0")) + (package + (name "safestringlib") + (version (git-version "1.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/safestringlib") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b5s2b19hybr2r0mxch5x5f0gzy77w1xcfp2js4rprqr8dimppak")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + ;; -DSTDC_HEADERS tells safeclib_private.h to include + ;; stdlib.h/ctype.h unconditionally (normally set by autoconf). + (add-before 'build 'fix-cflags + (lambda _ + (substitute* "makefile" + (("-Wformat-security") + "-Wformat-security -DSTDC_HEADERS")))) + (add-before 'build 'make-obj-dir + (lambda _ + (mkdir-p "obj"))) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "libsafestring.a" make-flags))) + (replace 'install + (lambda _ + (mkdir-p (string-append #$output "/lib")) + (mkdir-p (string-append #$output "/include")) + (install-file "libsafestring.a" + (string-append #$output "/lib")) + (for-each (lambda (h) + (install-file h (string-append #$output "/include"))) + (append + (find-files "include" "\\.h$") + (find-files "safeclib" "^safe_.*\\.h$")))))))) + (home-page "https://github.com/intel/safestringlib") + (synopsis "Intel Safe String Library") + (description + "Safestringlib is derived from the Safe C Library by Cisco Systems. +It provides replacements for dangerous C string and memory functions that +perform bounds checking and return meaningful error codes.") + (license license:expat)))) + +(define-public bwa-mem2 + (package + (name "bwa-mem2") + (version "2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bwa-mem2/bwa-mem2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01dhryf6nbdicrvbdk4mrdypm0l9vqh1qis9qp0pdh8qbxgh060c")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "CXX=" #$(cxx-for-target))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-installed-safestringlib + (lambda _ + (let ((ssl #$(this-package-input "safestringlib"))) + (substitute* "Makefile" + ;; Replace include/lib paths with installed safestringlib. + (("-Iext/safestringlib/include") + (string-append "-I" ssl "/include")) + (("-Lext/safestringlib/ -lsafestring") + (string-append "-L" ssl "/lib -lsafestring")) + (("-Lext/safestringlib -lsafestring") + (string-append "-L" ssl "/lib -lsafestring")) + ;; Strip the "cd ext/safestringlib && make clean" from + ;; the multi target's cleanup lines. + ((" cd ext/safestringlib/ && \\$\\(MAKE\\) clean;") + "") + ;; Remove $(SAFE_STR_LIB) from EXE prerequisites. + (("\\$\\(BWA_LIB\\) \\$\\(SAFE_STR_LIB\\) ") + "$(BWA_LIB) ") + ;; Remove the $(SAFE_STR_LIB) build rule (two lines). + (("\\$\\(SAFE_STR_LIB\\):\n\tcd ext/safestringlib.*\n") + "") + ;; Remove safestringlib from the clean target. + (("\tcd ext/safestringlib/ && \\$\\(MAKE\\) clean\n") + ""))))) + (delete 'configure) + (replace 'install + (lambda _ + (mkdir-p (string-append #$output "/bin")) + (for-each (lambda (f) + (install-file f (string-append #$output "/bin"))) + (find-files "." "^bwa-mem2" #:directories? #f))))))) + (inputs (list safestringlib zlib)) + ;; Tests (fmi_test, smem2_test, bwt_seed_strategy_test, sa2ref_test, + ;; xeonbsw) require a BWA-MEM2 genome index and reads; no standalone + ;; test data is shipped upstream. + (supported-systems '("x86_64-linux")) + (home-page "https://github.com/bwa-mem2/bwa-mem2") + (synopsis "Next generation of the BWA-MEM short read aligner") + (description + "BWA-MEM2 is the next version of the BWA-MEM algorithm in the BWA +software package. It produces alignment identical to BWA-MEM and is +approximately 1.3-3.1x faster depending on the use case, the reference +genome, and the query set. The tool runs on x86 hardware and builds +multiple SIMD-optimized variants (SSE4.1, SSE4.2, AVX, AVX2, AVX512BW) +with a runtime dispatcher.") + (license license:expat))) + +(define-public miniprot + (package + (name "miniprot") + (version "0.18") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lh3/miniprot") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "093pgw9cm2xdh9d3wv2311cd8fxj2k6rk5gw72zjyq9j7g5dshm3")))) + (build-system gnu-build-system) + (arguments + (list #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (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")) + (mkdir-p (string-append #$output "/share/man/man1")) + (install-file "miniprot" + (string-append #$output "/bin")) + (install-file "miniprot.1" + (string-append #$output "/share/man/man1"))))))) + (inputs (list zlib)) + (home-page "https://github.com/lh3/miniprot") + (synopsis "Protein-to-genome aligner") + (description + "Miniprot aligns a protein sequence against a genome with affine gap +penalty, splicing and frameshift. It is primarily designed for annotating +protein-coding genes in a new genome using related genomes as references.") + (license license:expat))) + +(define-public pangene + (package + (name "pangene") + (version "1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lh3/pangene") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04vwriwa32q6gnrppn98mqvck8pr2s7ld88dlmg09j7881x584nh")))) + (build-system gnu-build-system) + (arguments + (list #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (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")) + (mkdir-p (string-append #$output "/share/man/man1")) + (install-file "pangene" + (string-append #$output "/bin")) + (install-file "pangene.1" + (string-append #$output "/share/man/man1"))))))) + (inputs (list zlib)) + (home-page "https://github.com/lh3/pangene") + (synopsis "Construct pangenome gene graphs") + (description + "Pangene constructs a pangenome gene graph from protein-to-genome +alignments. It takes PAF files as input and outputs a graph in GFA format, +suitable for downstream pangenome analysis.") + (license license:expat))) + +(define-public wally + (package + (name "wally") + (version "0.7.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tobiasrausch/wally") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p0jz8m7src0lfznc8kpa0ra9i2362d35ka69457va957y1klm9v")))) + (build-system gnu-build-system) + (native-inputs (list pkg-config)) + (inputs (list boost htslib opencv zlib xz bzip2)) + (arguments + (list #:tests? #f + #:make-flags + #~(list (string-append "CXX=" #$(cxx-for-target)) + ;; Point to installed htslib; Makefile uses EBROOTHTSLIB as + ;; prefix (EasyBuild convention), patched below to append + ;; /include and /lib. + (string-append "EBROOTHTSLIB=" #$(this-package-input "htslib")) + ;; Non-default value prevents in-tree opencv submodule build. + "OPENCVSRC=/dev/null" + (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-makefile + (lambda _ + (substitute* "Makefile" + ;; EBROOTHTSLIB is used bare as an include/lib prefix; + ;; installed htslib has headers in include/ and libs in lib/. + (("-isystem \\$\\{EBROOTHTSLIB\\}") + "-isystem ${EBROOTHTSLIB}/include") + (("-L\\$\\{EBROOTHTSLIB\\}") + "-L${EBROOTHTSLIB}/lib") + ;; Remove rpath flags; Guix manages rpaths via ld-wrapper. + ((" -Wl,-rpath,\\$\\{EBROOTHTSLIB\\}") "") + ((" -Wl,-rpath,\\$\\{OPENCV\\}/lib/") "") + ((" -Wl,-rpath,\\$\\{OPENCV\\}/lib64/") "") + ;; boost::system became header-only in boost >= 1.69; + ;; libboost_system is no longer installed. + ((" -lboost_system") "") + ;; Remove in-tree opencv PKG_CONFIG_PATH override so the + ;; Guix build environment's PKG_CONFIG_PATH finds opencv4. + (("export PKG_CONFIG_PATH=\\$\\{PWD\\}/src/ocv/lib/pkgconfig/:\\$\\{PWD\\}/src/ocv/lib64/pkgconfig/:\\$\\{PKG_CONFIG_PATH\\} && ") + ""))))))) + ;; No upstream test suite; the tool requires BAM/CRAM input files. + (home-page "https://github.com/tobiasrausch/wally") + (synopsis "Read alignment visualization tool") + (description + "Wally visualizes read alignments stored in BAM/CRAM format. It +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-public meryl + (package + (name "meryl") + (version "1.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marbl/meryl") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14mvnhjimhh0c151318v015l151bf9faq2izizw4vf9n8fkkk8i0")))) + (build-system gnu-build-system) + (native-inputs (list perl which)) + (arguments + (list #:tests? #f + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "CXX=" #$(cxx-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'chdir-src + (lambda _ (chdir "src"))) + (replace 'install + (lambda _ + ;; Build puts binaries in ../build/bin/. + (let ((bin (string-append #$output "/bin"))) + (mkdir-p bin) + (for-each (lambda (f) + (install-file f bin)) + (find-files "../build/bin" ".")))))))) + (home-page "https://github.com/marbl/meryl") + (synopsis "Genomic k-mer counter and set operations") + (description + "Meryl is a genomic k-mer counter and sequence utility. It counts +k-mers in genomic sequences and supports set operations (union, intersect, +difference) on k-mer databases.") + (license (list license:gpl2 + license:bsd-2 + license:bsd-3)))) + +(define-public kfilt + (let ((commit "ace6888d78156d3bd3a42bd3b8b31dbb57ee6dbe") + (revision "0")) + (package + (name "kfilt") + (version (git-version "0.1.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidebolo1993/kfilt") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02j12bir1v3v2kpld0a628kfdcmn7py6qfqggf7vlvglhk33yqx4")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/davidebolo1993/kfilt" + #:install-source? #f)) + (inputs (list go-github-com-spf13-cobra + go-github-com-cheggaaa-pb-v3)) + (home-page "https://github.com/davidebolo1993/kfilt") + (synopsis "K-mer based sequence filtering tool") + (description + "Kfilt builds k-mer indices from genomic sequences and filters reads +based on k-mer matches. It is used in the cosigt pipeline to filter +unmapped reads using unique k-mers from pangenome graph alleles.") + (license license:expat)))) + +(define-public cosigt + (package + (name "cosigt") + (version "0.1.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidebolo1993/cosigt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hcmk520qs3iihdvzdyj46kf2gpqvqdr02klrlzzdjs7z5g1fmq4")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/davidebolo1993/cosigt" + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-pipeline + (lambda _ + (let ((share (string-append #$output "/share/cosigt"))) + (copy-recursively + "src/github.com/davidebolo1993/cosigt/cosigt_smk" + share))))))) + (inputs (list go-github-com-akamensky-argparse + go-gonum-org-v1-gonum)) + (home-page "https://github.com/davidebolo1993/cosigt") + (synopsis "Cosine similarity-based structural haplotype genotyper") + (description + "Cosigt (COsine SImilarity-based GenoTyper) assigns structural +haplotypes to sequenced samples using pangenome graphs. It includes a +Snakemake pipeline (@file{share/cosigt/}) and a genotyping binary. Pipeline +tools needed at runtime: snakemake, minimap2, samtools, bedtools, bwa-mem2, +odgi, gafpack, gfainject, impg, pggb, meryl, kfilt, wally, miniprot, and +pangene.") + (license license:expat))) diff --git a/gn/packages/patches/do-not-build-cplusplus-spoa.patch b/gn/packages/patches/do-not-build-cplusplus-spoa.patch new file mode 100644 index 0000000..b9afb9a --- /dev/null +++ b/gn/packages/patches/do-not-build-cplusplus-spoa.patch @@ -0,0 +1,19 @@ +diff --git a/build.rs b/build.rs +index 3f0566a..a607d9d 100644 +--- a/build.rs ++++ b/build.rs +@@ -3,14 +3,6 @@ use std::fs::canonicalize; + use std::path::PathBuf; + + fn main() { +- let out_dir = cmake::Config::new("spoa") +- //.uses_cxx11() // Deprecated +- .define("spoa_install", "OFF") +- .define("spoa_build_exe", "OFF") +- .define("spoa_build_tests", "OFF") +- .build_target("spoa") +- .build(); +- + println!( + "cargo:rustc-link-search=native={}/build/lib", + out_dir.display() |
