/doc/images/

g/'>
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
;;; Copyright © 2019-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2020 André Batista <nandre@riseup.net>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021-2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2021, 2022 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 muradm <mail@muradm.net>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021-2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz>
;;; Copyright © 2021, 2022 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Evgenii Lepikhin <e.lepikhin@corp.mail.ru>
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Paul Alesius <paul@unnservice.com>
;;; Copyright © 2023 Arnav Andrew Jose <arnav.jose@gmail.com>
;;; Copyright © 2023, 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2023, 2024 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Steve George <steve@futurile.net>
;;; Copyright © 2023 Sergio Pastor Pérez <sergio.pastorperez@outlook.es>
;;; Copyright © 2023, 2024 VÖRÖSKŐI András <voroskoi@gmail.com>
;;; Copyright © 2023 Daniel Ziltener <dziltener@lyrion.ch>
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 Aaron Covrig <aaron.covrig.us@ieee.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024, 2025 Jordan Moore <lockbox@struct.foo>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Murilo <murilo@disroot.org>
;;; Copyright © 2025 Divya Ranjan Pattanaik <divya@subvertising.org>
;;; Copyright © 2025 Karl Hallsby <karl@hallsby.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages crates-io)
  #:use-module (guix build-system cargo)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (gnu packages)
  #:use-module (gnu packages acl)
  #:use-module (gnu packages admin)
  #:use-module (gnu packages aidc)
  #:use-module (gnu packages audio)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages avahi)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages c)
  #:use-module (gnu packages certs)
  #:use-module (gnu packages cmake)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages cpp)
  #:use-module (gnu packages crates-apple)
  #:use-module (gnu packages crates-audio)
  #:use-module (gnu packages crates-check)
  #:use-module (gnu packages crates-compression)
  #:use-module (gnu packages crates-crypto)
  #:use-module (gnu packages crates-database)
  #:use-module (gnu packages crates-graphics)
  #:use-module (gnu packages crates-gtk)
  #:use-module (gnu packages crates-shell)
  #:use-module (gnu packages crates-tls)
  #:use-module (gnu packages crates-vcs)
  #:use-module (gnu packages crates-web)
  #:use-module (gnu packages crates-windows)
  #:use-module (gnu packages crypto)
  #:use-module (gnu packages curl)
  #:use-module (gnu packages databases)
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages gl)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages hardware)
  #:use-module (gnu packages icu4c)
  #:use-module (gnu packages image)
  #:use-module (gnu packages jemalloc)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages llvm)
  #:use-module (gnu packages mail)
  #:use-module (gnu packages maths)
  #:use-module (gnu packages multiprecision)
  #:use-module (gnu packages nettle)
  #:use-module (gnu packages pcre)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages protobuf)
  #:use-module (gnu packages python)
  #:use-module (gnu packages rust)
  #:use-module (gnu packages rust-apps)
  #:use-module (gnu packages security-token)
  #:use-module (gnu packages selinux)
  #:use-module (gnu packages sequoia)
  #:use-module (gnu packages serialization)
  #:use-module (gnu packages sqlite)
  #:use-module (gnu packages ssh)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages valgrind)
  #:use-module (gnu packages version-control)
  #:use-module (gnu packages web)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages virtualization)
  #:use-module (gnu packages webkit)
  #:use-module (srfi srfi-1))

;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;

(define-public rust-ab-glyph-0.2
  (package
    (name "rust-ab-glyph")
    (version "0.2.29")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ab_glyph" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1c7p94qf8x6n62nrbia7nzwdxm2sbyygnhd5qfmfl7p7h30p4dpc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests want font files.
       #:cargo-inputs
       (("rust-ab-glyph-rasterizer" ,rust-ab-glyph-rasterizer-0.1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-owned-ttf-parser" ,rust-owned-ttf-parser-0.25))))
    (home-page "https://github.com/alexheretic/ab-glyph")
    (synopsis "API for rasterizing OpenType font glyphs")
    (description
     "This package provides an API for loading, scaling, positioning and
rasterizing OpenType font glyphs.")
    (license license:asl2.0)))

(define-public rust-ab-glyph-rasterizer-0.1
  (package
    (name "rust-ab-glyph-rasterizer")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ab_glyph_rasterizer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ikhgzig59q8b1a1iw83sxfnvylg5gx6w2y8ynbnf231xs9if6y7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libm" ,rust-libm-0.2))))
    (home-page "https://github.com/alexheretic/ab-glyph")
    (synopsis "Coverage rasterization for lines, quadratic & cubic beziers")
    (description
     "This package provides coverage rasterization for lines, quadratic and
cubic beziers.")
    (license license:asl2.0)))

(define-public rust-abi-stable-0.11
  (package
    (name "rust-abi-stable")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "abi_stable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0if428pq8ly97zi6q1842nak977rwxnj17650i8gwpxh7qnm3mk9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--features=testing")
       #:cargo-inputs (("rust-abi-stable-derive" ,rust-abi-stable-derive-0.11)
                       ("rust-abi-stable-shared" ,rust-abi-stable-shared-0.11)
                       ("rust-const-panic" ,rust-const-panic-0.2)
                       ("rust-core-extensions" ,rust-core-extensions-1)
                       ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-generational-arena" ,rust-generational-arena-0.2)
                       ("rust-libloading" ,rust-libloading-0.7)
                       ("rust-lock-api" ,rust-lock-api-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-repr-offset" ,rust-repr-offset-0.2)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
                                   ("rust-fnv" ,rust-fnv-1)
                                   ("rust-hashbrown" ,rust-hashbrown-0.13)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/rodrimati1992/abi_stable_crates/")
    (synopsis "Rust-to-Rust ffi,writing libraries loaded at program startup")
    (description
     "This package contains code for doing Rust-to-Rust ffi, writing libraries
loaded at program startup.")
    (license (list license:expat license:asl2.0))))

(define-public rust-abi-stable-0.10
  (package
    (inherit rust-abi-stable-0.11)
    (name "rust-abi-stable")
    (version "0.10.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "abi_stable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03vg0cl0727whv7nxyvm8g9xfwxnfcdn8p872jqw1z6n84yjix7s"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (((string-append ">=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+),"
                                   " <([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)")
                    _ version _)
                   (string-append ">=" version)))))))
    (arguments
     `(#:tests? #f      ; tests must be run with the "testing" feature
       #:cargo-inputs
       (("rust-abi-stable-derive" ,rust-abi-stable-derive-0.10)
        ("rust-abi-stable-shared" ,rust-abi-stable-shared-0.10)
        ("rust-core-extensions" ,rust-core-extensions-1)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-generational-arena" ,rust-generational-arena-0.2)
        ("rust-libloading" ,rust-libloading-0.7)
        ("rust-lock-api" ,rust-lock-api-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-paste" ,rust-paste-1)
        ("rust-repr-offset" ,rust-repr-offset-0.2)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-hashbrown" ,rust-hashbrown-0.11)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-abi-stable-derive-0.11
  (package
    (name "rust-abi-stable-derive")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "abi_stable_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16780mmr2hwx8ajcq59nhvq3krv5i8r7mg41x08fx907nil885yp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=sabi_trait::tests::sabi_trait_test_cases"
         "--skip=stable_abi::tests::test_cases")
       #:cargo-inputs (("rust-abi-stable-shared" ,rust-abi-stable-shared-0.11)
                       ("rust-as-derive-utils" ,rust-as-derive-utils-0.11)
                       ("rust-core-extensions" ,rust-core-extensions-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-1)
                       ("rust-typed-arena" ,rust-typed-arena-2))
       #:cargo-development-inputs
       (("rust-as-derive-utils" ,rust-as-derive-utils-0.11))))
    (home-page "https://github.com/rodrimati1992/abi_stable_crates/")
    (synopsis "Implementation detail of abi_stable")
    (description "This package contains an implementation detail of abi_stable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-abi-stable-derive-0.10
  (package
    (inherit rust-abi-stable-derive-0.11)
    (name "rust-abi-stable-derive")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "abi_stable_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w503n9rxja3h8ls6p5xsly8aclbp30dm4hd0525bvpbippi161v"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=sabi_trait::tests::sabi_trait_test_cases"
         "--skip=stable_abi::tests::test_cases")
       #:cargo-inputs
       (("rust-abi-stable-shared" ,rust-abi-stable-shared-0.10)
        ("rust-as-derive-utils" ,rust-as-derive-utils-0.10)
        ("rust-core-extensions" ,rust-core-extensions-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-syn" ,rust-syn-1)
        ("rust-typed-arena" ,rust-typed-arena-2))
       #:cargo-development-inputs
       (("rust-as-derive-utils" ,rust-as-derive-utils-0.10))))))

(define-public rust-abi-stable-shared-0.11
  (package
    (name "rust-abi-stable-shared")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "abi_stable_shared" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qrbmlypvxx3zij1c6w6yykpp5pjcfx9qr2d9lzyc8y1i1vdzddj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-core-extensions" ,rust-core-extensions-1))))
    (home-page "https://github.com/rodrimati1992/abi_stable_crates/")
    (synopsis "Implementation detail of abi_stable")
    (description "This package contains an implementation detail of abi_stable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-abi-stable-shared-0.10
  (package
    (inherit rust-abi-stable-shared-0.11)
    (name "rust-abi-stable-shared")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "abi_stable_shared" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0psaz0vghdz84vrb311g4b74d2nhrlbmwxa8if88s0bf0s4xmsgc"))))
    (arguments
     `(#:cargo-inputs (("rust-core-extensions" ,rust-core-extensions-1))))))

(define-public rust-abomonation-0.7
  (package
    (name "rust-abomonation")
    (version "0.7.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "abomonation" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1cjg3hjf028n447pdj7zcdgrkngx30as8ndxlxx947wvr49jkrsn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-recycler" ,rust-recycler-0.1))))
    (home-page "https://github.com/TimelyDataflow/abomonation")
    (synopsis "High performance and very unsafe serialization library")
    (description
     "This package provides a high performance and very unsafe serialization
library in Rust.")
    (license license:expat)))

(define-public rust-adaptive-barrier-1
  (package
    (name "rust-adaptive-barrier")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "adaptive-barrier" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1004swrxg9g755h0sk0y1kclk4y9hzk6dzl8772df4l4j44gqz8w"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/vorner/adaptive-barrier")
    (synopsis "Barrier with adaptable number of thread subsciptions")
    (description
     "This is a Barrier synchronization primitive, similar to
@code{std::sync::Barrier}, but one that adjusts the expected number of
threads.  This makes it robust in face of panics (it won't make your program
deadlock, like the standard Barrier).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-adblock-0.7
  (package
    (name "rust-adblock")
    (version "0.7.5")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/brave/adblock-rust")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0prlkq8am3sskg55x7b8vr4j54dmkjqldyl50isq5qyy9pff3xxs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; Skip tests which require the network.
             "--skip=check_live_from_filterlists"
             "--skip=check_live_specific_urls"
             "--skip=stable_serialization"
             "--skip=stable_serialization_through_load")
       #:cargo-inputs
       (("rust-addr" ,rust-addr-0.14)
        ("rust-base64" ,rust-base64-0.13)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-cssparser" ,rust-cssparser-0.28)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-idna" ,rust-idna-0.2)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lifeguard" ,rust-lifeguard-0.6)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-rmp-serde" ,rust-rmp-serde-0.13)
        ("rust-rmp-serde" ,rust-rmp-serde-0.15)
        ("rust-seahash" ,rust-seahash-3)
        ("rust-selectors" ,rust-selectors-0.23)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-twoway" ,rust-twoway-0.2)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-csv" ,rust-csv-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-mock-instant" ,rust-mock-instant-0.2)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sha2" ,rust-sha2-0.9)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/brave/adblock-rust/")
    (synopsis "Adblock Plus syntax filter parsing and matching")
    (description "This package provides native Rust module for Adblock Plus
syntax (e.g.  EasyList, EasyPrivacy) filter parsing and matching.")
    (license license:mpl2.0)))

(define-public rust-adblock-0.5
  (package
    (inherit rust-adblock-0.7)
    (name "rust-adblock")
    (version "0.5.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "adblock" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1qgjcrm7vqxq5ispdj95ql7payy5d5rj0zfwba4b076xxvw1q4yq"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; Not all files included
             "--skip=check_works_same_after_deserialization"
             "--skip=check_matching_equivalent"
             "--skip=check_matching_hostnames"
             ;; Skip tests which require the network.
             "--skip=check_live_from_filterlists"
             "--skip=check_live_specific_urls"
             "--skip=stable_serialization"
             "--skip=stable_serialization_through_load")
       #:cargo-inputs
       (("rust-addr" ,rust-addr-0.14)
        ("rust-base64" ,rust-base64-0.13)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-cssparser" ,rust-cssparser-0.28)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-idna" ,rust-idna-0.2)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lifeguard" ,rust-lifeguard-0.6)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-rmp-serde" ,rust-rmp-serde-0.13)
        ("rust-rmp-serde" ,rust-rmp-serde-0.15)
        ("rust-seahash" ,rust-seahash-3)
        ("rust-selectors" ,rust-selectors-0.23)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-twoway" ,rust-twoway-0.2)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-csv" ,rust-csv-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sha2" ,rust-sha2-0.9)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-addchain-0.2
  (package
    (name "rust-addchain")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "addchain" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0w45hpybsx9gzhlxf6x9451kycg8xwj3x8qzjnk8wqm55926jbiv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.3)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/str4d/addchain")
    (synopsis "Generate addition chains")
    (description "Generate addition chains")
    (license (list license:expat license:asl2.0))))

(define-public rust-addr-0.14
  (package
    (name "rust-addr")
    (version "0.14.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "addr" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0w6v0wwv203v0lyvwsq27rwfhvmw7dsmrqc9r3gszbx2974wlk65"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-no-std-net" ,rust-no-std-net-0.5)
         ("rust-psl" ,rust-psl-2)
         ("rust-psl-types" ,rust-psl-types-2)
         ("rust-publicsuffix" ,rust-publicsuffix-2)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/addr-rs/addr")
    (synopsis "Parsing domain names")
    (description "This package provides a library for parsing domain names.")
    (license (list license:expat license:asl2.0))))

(define-public rust-addr2line-0.24
  (package
    (name "rust-addr2line")
    (version "0.24.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "addr2line" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hd1i57zxgz08j6h5qrhsnm2fi0bcqvsh389fw400xm3arz2ggnz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-cpp-demangle" ,rust-cpp-demangle-0.4)
        ("rust-fallible-iterator" ,rust-fallible-iterator-0.3)
        ("rust-gimli" ,rust-gimli-0.31)
        ("rust-memmap2" ,rust-memmap2-0.9)
        ("rust-object" ,rust-object-0.36)
        ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-typed-arena" ,rust-typed-arena-2))
       #:cargo-development-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                                   ("rust-findshlibs" ,rust-findshlibs-0.10)
                                   ("rust-libtest-mimic" ,rust-libtest-mimic-0.7))))
    (home-page "https://github.com/gimli-rs/addr2line")
    (synopsis "Symbolication library written in Rust, using gimli")
    (description
     "This package provides a cross-platform symbolication library written in
Rust, using gimli.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-adler-1
  (package
    (name "rust-adler")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "adler" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zim79cvzd5yrkzl3nyfx0avijwgk9fqv3yrscdy1cc79ih02qpj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/jonas-schievink/adler")
    (synopsis "Implementation of the Adler-32 checksum")
    (description
     "This crate provides a simple implementation of the Adler-32
checksum, used in the zlib compression format.")
    (license
     (list license:expat
           license:asl2.0
           (license:non-copyleft "https://spdx.org/licenses/0BSD.html")))))

(define-public rust-adler2-2
  (package
    (name "rust-adler2")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "adler2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09r6drylvgy8vv8k20lnbvwq8gp09h7smfn6h1rxsy15pgh629si"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/oyvindln/adler2")
    (synopsis "Implementation of the Adler-32 checksum")
    (description
     "This package provides a simple clean-room implementation of the Adler-32
checksum.")
    (license (list license:bsd-0 license:expat license:asl2.0))))

(define-public rust-adler32-1
  (package
    (name "rust-adler32")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "adler32" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0d7jq7jsjyhsgbhnfq5fvrlh9j0i9g1fqrl2735ibv5f75yjgqda"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-getrandom" ,rust-getrandom-0.1)
        ("rust-humansize" ,rust-humansize-1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/remram44/adler32-rs")
    (synopsis "Implementation of the Adler32 rolling hash algorithm")
    (description
     "This library is an implementation of the Adler32 rolling hash algorithm in
the Rust programming language.")
    (license (list license:bsd-3
                   license:zlib))))

(define-public rust-afl-0.12
  (package
    (name "rust-afl")
    (version "0.12.17")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "afl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05f7wrz15h97b6xqa914syiv6ij849ndgyb5iwmgwkv26qpjzhzn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; We don't want to add AFL as an input.
       #:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-fs-extra" ,rust-fs-extra-1)
        ("rust-home" ,rust-home-0.5)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-xdg" ,rust-xdg-2))
       #:cargo-development-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-assert-cmd" ,rust-assert-cmd-2)
        ("rust-tempfile" ,rust-tempfile-3))
       #:phases (modify-phases %standard-phases
                  ;; Custom archive file for test suite.
                  (delete 'check-for-pregenerated-files))))
    (home-page "https://github.com/rust-fuzz/afl.rs")
    (synopsis
     "Fuzzing Rust code with american-fuzzy-lop")
    (description
     "Fuzz Rust code with american-fuzzy-lop.")
    (license license:asl2.0)))

(define-public rust-afl-0.11
  (package
    (inherit rust-afl-0.12)
    (name "rust-afl")
    (version "0.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "afl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a2jm690mcxd073j9isd16rpzkjfmpgamw9h64f5l2fpns0423vc"))))
    (arguments
     `(#:skip-build? #t     ; We don't want to add AFL as an input.
       #:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-clap" ,rust-clap-2)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-xdg" ,rust-xdg-2))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))
       #:phases (modify-phases %standard-phases
                  ;; Custom archive file for test suite.
                  (delete 'check-for-pregenerated-files))))))

(define-public rust-ahash-0.8
  (package
    (name "rust-ahash")
    (version "0.8.11")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ahash" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "04chdfkls5xmhp1d48gnjsmglbqibizs3bpbj6rsj604m10si7g8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-atomic-polyfill" ,rust-atomic-polyfill-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-const-random" ,rust-const-random-0.1)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-version-check" ,rust-version-check-0.9)
        ("rust-zerocopy" ,rust-zerocopy-0.7))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-no-panic" ,rust-no-panic-0.1)
        ("rust-pcg-mwc" ,rust-pcg-mwc-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-seahash" ,rust-seahash-4)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/tkaitchuck/ahash")
    (synopsis
     "Non-cryptographic hash function using AES-NI")
    (description
     "This package provides a non-cryptographic hash function using AES-NI for
high performance.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ahash-0.7
  (package
    (name "rust-ahash")
    (version "0.7.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ahash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y9014qsy6gs9xld4ch7a6xi9bpki8vaciawxq4p75d8qvh7f549"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-atomic-polyfill" ,rust-atomic-polyfill-1)
        ("rust-const-random" ,rust-const-random-0.1)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-no-panic" ,rust-no-panic-0.1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-seahash" ,rust-seahash-4)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/tkaitchuck/ahash")
    (synopsis "Non-cryptographic hash function using AES-NI")
    (description "This package provides a non-cryptographic hash function
using AES-NI for high performance.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ahash-0.4
  (package
    (inherit rust-ahash-0.7)
    (name "rust-ahash")
    (version "0.4.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ahash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "129290b8lz7fw8gzdq7k2jrm6yqgv6dsb1sc1gfy1pl2rqm26lq4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-const-random" ,rust-const-random-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-hex" ,rust-hex-0.3)
        ("rust-no-panic" ,rust-no-panic-0.1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-seahash" ,rust-seahash-3))))))

(define-public rust-ahash-0.3
  (package
    (inherit rust-ahash-0.4)
    (name "rust-ahash")
    (version "0.3.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ahash" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "05qjnr0wccch0gg2kghg0xyh8qd5gfqd15q9dd6r1lamcs375zg8"))))
    (arguments
     `(#:tests? #f  ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs
       (("rust-const-random" ,rust-const-random-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-hex" ,rust-hex-0.3)
        ("rust-no-panic" ,rust-no-panic-0.1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-seahash" ,rust-seahash-3))))))

(define-public rust-ahash-0.2
  (package
    (inherit rust-ahash-0.4)
    (name "rust-ahash")
    (version "0.2.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ahash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yzdrxaq99zfy0niq5i3cz5jv569s3s6z5q2cxcg08y6prh1nri9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-const-random" ,rust-const-random-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-hex" ,rust-hex-0.3)
        ("rust-no-panic" ,rust-no-panic-0.1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-seahash" ,rust-seahash-3))))))

(define-public rust-aho-corasick-1
  (package
    (name "rust-aho-corasick")
    (version "1.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "aho-corasick" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05mrpkvdgp5d20y2p989f187ry9diliijgwrs254fs9s1m1x6q4f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/BurntSushi/aho-corasick")
    (synopsis "Fast multiple substring searching")
    (description "This package provides a fast multiple substring searching.")
    (license (list license:unlicense license:expat))))

(define-public rust-aho-corasick-0.7
  (package
    (inherit rust-aho-corasick-1)
    (name "rust-aho-corasick")
    (version "0.7.20")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "aho-corasick" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1b3if3nav4qzgjz9bf75b2cv2h2yisrqfs0np70i38kgz4cn94yc"))))
    (arguments
     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))))))

(define-public rust-aho-corasick-0.6
  (package
    (inherit rust-aho-corasick-0.7)
    (name "rust-aho-corasick")
    (version "0.6.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "aho-corasick" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19f8v503ibvlyr824g5ynicrh1lsmp2i0zmpszr8lqay0qw3vkl1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs
       (("rust-csv" ,rust-csv-1)
        ("rust-docopt" ,rust-docopt-1)
        ("rust-memmap" ,rust-memmap-0.6)
        ("rust-quickcheck" ,rust-quickcheck-0.7)
        ("rust-rand" ,rust-rand-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-aho-corasick-0.5
  (package
    (inherit rust-aho-corasick-0.6)
    (name "rust-aho-corasick")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "aho-corasick" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya"))))
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-0.1))
       #:cargo-development-inputs
       (("rust-csv" ,rust-csv-0.14)
        ("rust-docopt" ,rust-docopt-0.6)
        ("rust-memmap" ,rust-memmap-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.2)
        ("rust-rand" ,rust-rand-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))

(define-public rust-al-sys-0.6
  (package
    (name "rust-al-sys")
    (version "0.6.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "al-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "08whlcfrhn4gqi4nbglkdqv5ysdpnvnlsqg51q34q9hh9l7rp3gz"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-cmake" ,rust-cmake-0.1)
             ("rust-libloading" ,rust-libloading-0.5)
             ("rust-rental" ,rust-rental-0.5))))
    (home-page "https://github.com/jpernst/alto")
    (synopsis "Raw bindings for OpenAL 1.1")
    (description "Rust bindings for OpenAL, this crate contains FFI elements.")
    (license (list license:expat license:asl2.0))))

(define-public rust-alga-0.9
  (package
    (name "rust-alga")
    (version "0.9.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "alga" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1wl4z8ini9269x04g8wwdz1nn3hmmvaaysq4jwhymikyg81kv0jg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs
       (("rust-alga-derive" ,rust-alga-derive-0.9)
        ("rust-quickcheck" ,rust-quickcheck-0.8))))
    (home-page "https://github.com/rustsim/alga")
    (synopsis "Abstract algebra for Rust")
    (description "Alga aims to provide solid mathematical abstractions to
algebra-focused applications.  It defines and organizes through trait
inheritance the basic building blocks of general algebraic structures.
Specific implementations of algebraic structure traits are left to other
crates.  Higher-level traits for specialized domains of algebra (like linear
algebra) are also provided and will prove useful for applications that include
code that is generic with regard to the algebraic entity types.")
    (license license:asl2.0)))

(define-public rust-alga-derive-0.9
  (package
    (name "rust-alga-derive")
    (version "0.9.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "alga_derive" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0a2594j6blczz18vfg85agr7vsjrbq6900d3xwxw0zzbqj9j2adz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-edit-distance" ,rust-edit-distance-2)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rustsim/alga")
    (synopsis "Dutomatic deriving of abstract algebra traits")
    (description "Derive attribute for implementing algebraic traits from the
@code{alga} crate.")
    (license license:asl2.0)))

(define-public rust-aliasable-0.1
  (package
    (name "rust-aliasable")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "aliasable" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1z8548zdjlm4ps1k0d7x68lfdyji02crwcc9rw3q3bb106f643r5"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-aliasable-deref-trait" ,rust-aliasable-deref-trait-0.2)
         ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/avitex/rust-aliasable")
    (synopsis "Basic aliasable (non unique pointer) types")
    (description
     "Rust library providing basic aliasable (non @code{core::ptr::Unique})
types.")
    (license license:expat)))

(define-public rust-aliasable-deref-trait-0.2
  (package
    (name "rust-aliasable-deref-trait")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "aliasable_deref_trait" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0abzqsxd09jxl01brzjnwk8zg7k8zma76gzq87385q8fqm710jxb"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/avitex/rust-aliasable-deref-trait")
    (synopsis "Marker trait for aliasable pointers")
    (description
     "This package provides a marker trait for types that deref to an
address that is aliasable when coerced to a raw pointer")
    (license license:expat)))

(define-public rust-aligned-0.4
  (package
    (name "rust-aligned")
    (version "0.4.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "aligned" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "08srg0rbz21s1kk97b1canffly7icr31sp7l1nqk2i1ym05lqzip"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-as-slice" ,rust-as-slice-0.2))))
    (home-page "https://github.com/japaric/aligned")
    (synopsis "Newtype with alignment of at least `A` bytes")
    (description
     "This package provides a newtype with alignment of at least `A` bytes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-aligned-vec-0.5
  (package
    (name "rust-aligned-vec")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "aligned-vec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lb8qjqfap028ylf8zap6rkwrnrqimc3v6h3cixycjrdx1y0vaaa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/sarah-ek/aligned-vec/")
    (synopsis "Aligned vector and box containers")
    (description "This package provides an aligned vector and box containers.")
    (license license:expat)))

(define-public rust-alloc-no-stdlib-2
  (package
    (name "rust-alloc-no-stdlib")
    (version "2.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "alloc-no-stdlib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1cy6r2sfv5y5cigv86vms7n5nlwhx1rbyxwcraqnmm1rxiib2yyc"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dropbox/rust-alloc-no-stdlib")
    (synopsis "Dynamic allocator that may be used with or without the stdlib")
    (description "This package provides a dynamic allocator that may be used
with or without the stdlib.  This allows a package with nostd to allocate
memory dynamically and be used either with a custom allocator, items on the
stack, or by a package that wishes to simply use Box<>.  It also provides
options to use calloc or a mutable global variable for pre-zeroed memory.")
    (license license:bsd-3)))

(define-public rust-alloc-stdlib-0.2
  (package
    (name "rust-alloc-stdlib")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "alloc-stdlib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kkfbld20ab4165p29v172h8g0wvq8i06z8vnng14whw0isq5ywl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2))))
    (home-page "https://github.com/dropbox/rust-alloc-no-stdlib")
    (synopsis "Dynamic allocator example that may be used with the stdlib")
    (description "This package provides a dynamic allocator example that may
be used with the stdlib.")
    (license license:bsd-3)))

(define-public rust-alloc-traits-0.1
  (package
    (name "rust-alloc-traits")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "alloc-traits" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10z4rmykwnp8ps5r5n34190h6gmzpj1f67fqildi1z8r6f2m8bbb"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/HeroicKatora/static-alloc")
    (synopsis "Traits to replace or supplement the alloc module in no_std")
    (description
     "This package provides Traits to replace or supplement the alloc module
in no_std.")
    (license license:expat)))

(define-public rust-alloca-0.4
  (package
    (name "rust-alloca")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "alloca" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x6p4387rz6j7h342kp3b7bgvqzyl9mibf959pkfk9xflrgd19z5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/playXE/alloca-rs")
    (synopsis "Mostly safe wrapper for alloca")
    (description "This package provides a mostly safe wrapper for alloca.")
    (license license:expat)))

(define-public rust-allocator-api2-0.2
  (package
    (name "rust-allocator-api2")
    (version "0.2.21")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "allocator-api2" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "08zrzs022xwndihvzdn78yqarv2b9696y67i6h78nla3ww87jgb8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--lib")
       #:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/zakarumych/allocator-api2")
    (synopsis "Mirror of Rust's allocator API")
    (description "Mirror of Rust's allocator API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-alphanumeric-sort-1
  (package
    (name "rust-alphanumeric-sort")
    (version "1.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "alphanumeric-sort" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13vyx3cqpylvc0md4563rd42b7dvk3fv4wny0kpcc48gy72n0z6n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://magiclen.org/alphanumeric-sort")
    (synopsis "Sort order for files and folders whose names contain numerals")
    (description
     "This crate can help you sort order for files and folders whose names
contain numerals.")
    (license license:expat)))

(define-public rust-alto-3
  (package
    (name "rust-alto")
    (version "3.0.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "alto" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1rgsdmh346s3rwhzqacjc6nz7jap4dd72c1gfmkaq9sgzh9fhnyp"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f  ; Not all files included.
           #:cargo-inputs
           `(("rust-al-sys" ,rust-al-sys-0.6)
             ("rust-lazy-static" ,rust-lazy-static-0.2)
             ("rust-parking-lot" ,rust-parking-lot-0.4))))
    (home-page "https://github.com/jpernst/alto")
    (synopsis
     "Idiomatic Rust bindings for OpenAL 1.1 and extensions (including EFX)")
    (description
     "Rust bindings for OpenAL 1.1 and extensions (including EFX).")
    (license (list license:expat license:asl2.0))))

(define-public rust-amd-0.2
  (package
    (name "rust-amd")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "amd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15ib7hhzdifb2m099561ip0fq627gaszw4sq36ys75snaw0y0yd6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/rwl/amd_order/")
    (synopsis "Approximate Minimum Degree ordering")
    (description "This package provides a set of routines for ordering a
sparse matrix prior to Cholesky factorization.")
    (license license:bsd-3)))

(define-public rust-android-activity-0.6
  (package
    (name "rust-android-activity")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android-activity" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0inh88x8x2fh62jg739s9hwyvdh8i920qf0qw7bhr802j9c7hsgg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; error: ndk-sys only supports compiling for Android.
       #:cargo-inputs (("rust-android-properties" ,rust-android-properties-0.2)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cc" ,rust-cc-1)
                       ("rust-cesu8" ,rust-cesu8-1)
                       ("rust-jni" ,rust-jni-0.21)
                       ("rust-jni-sys" ,rust-jni-sys-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ndk" ,rust-ndk-0.9)
                       ("rust-ndk-context" ,rust-ndk-context-0.1)
                       ("rust-ndk-sys" ,rust-ndk-sys-0.6)
                       ("rust-num-enum" ,rust-num-enum-0.7)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/rust-mobile/android-activity")
    (synopsis "Glue for building Rust applications on Android")
    (description
     "This package provides the glue for building Rust applications on Android
with @code{NativeActivity} or @code{GameActivity}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-android-activity-0.5
  (package
    (inherit rust-android-activity-0.6)
    (name "rust-android-activity")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android-activity" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fgl1jbzwbxrw4naw8bzjmphqj68q3hiylc05pakyz4p5a8h3f1r"))))
    (arguments
     `(#:skip-build? #t     ; Only supports compiling for Android.
       #:cargo-inputs (("rust-android-properties" ,rust-android-properties-0.2)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cc" ,rust-cc-1)
                       ("rust-cesu8" ,rust-cesu8-1)
                       ("rust-jni" ,rust-jni-0.21)
                       ("rust-jni-sys" ,rust-jni-sys-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ndk" ,rust-ndk-0.8)
                       ("rust-ndk-context" ,rust-ndk-context-0.1)
                       ("rust-ndk-sys" ,rust-ndk-sys-0.5)
                       ("rust-num-enum" ,rust-num-enum-0.7)
                       ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-android-activity-0.4
  (package
    (inherit rust-android-activity-0.5)
    (name "rust-android-activity")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "android-activity" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "19imf29l08n7qlkqk3ri3m3nzfhm0lmkqizafs68i2ysbq2a0xvw"))))
    (arguments
     `(#:skip-build? #t     ; Only supports compiling for Android.
       #:cargo-inputs
       (("rust-android-properties" ,rust-android-properties-0.2)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-ndk" ,rust-ndk-0.7)
        ("rust-ndk-context" ,rust-ndk-context-0.1)
        ("rust-ndk-sys" ,rust-ndk-sys-0.4)
        ("rust-num-enum" ,rust-num-enum-0.5))))))

(define-public rust-android-glue-0.2
  (package
    (name "rust-android-glue")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_glue" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "01y495x4i9vqkwmklwn2xk7sqg666az2axjcpkr4iwngdwi48100"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/tomaka/android-rs-glue")
    (synopsis "Glue for the Android JNI")
    (description "This package provides the glue for the Android JNI.")
    (license license:expat)))

(define-public rust-android-log-sys-0.3
  (package
    (name "rust-android-log-sys")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_log-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dwrvwkx2xxqys6nrhfavbbqfx2rs61nq8akrlnqkfbapxb81k2y"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #true))      ;XXX: Android only
    (home-page "https://github.com/rust-mobile/android_log-sys-rs")
    (synopsis "FFI bindings to Android log Library")
    (description "This package provides FFI bindings to Android log Library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-android-log-sys-0.2
  (package
    (inherit rust-android-log-sys-0.3)
    (name "rust-android-log-sys")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_log-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bhhs1cgzp9vzjvkn2q31ppc7w4am5s273hkvl5iac5475kmp5l5"))))
    (arguments `(#:skip-build? #true))))    ;XXX: Android only

(define-public rust-android-log-sys-0.1
  (package
    (inherit rust-android-log-sys-0.2)
    (name "rust-android-log-sys")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_log-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0klq7cp4lm74gjf9p12zdjcr159blbicrfvadmaqvfxbi8njw1dq"))))
    (arguments `(#:skip-build? #true)))) ;XXX: Android only

(define-public rust-android-logger-0.13
  (package
    (name "rust-android-logger")
    (version "0.13.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bvp6lf39q0zykn70lys562kdb14r9dfm91m79jxq53cfi7i7564"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-android-log-sys" ,rust-android-log-sys-0.3)
                       ("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/rust-mobile/android_logger-rs")
    (synopsis "Logging implementation for @code{log}")
    (description
     "This library is a drop-in replacement for @code{env_logger}.  Instead,
it outputs messages to Android's logcat.")
    (license (list license:expat license:asl2.0))))

(define-public rust-android-logger-0.11
  (package
    (inherit rust-android-logger-0.13)
    (name "rust-android-logger")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fl8ix7q1cj73lzy6xcwyrqwpvnx5aaxszawidivv9ra4h6bh6c6"))))
    (arguments
     `(#:cargo-inputs (("rust-android-log-sys" ,rust-android-log-sys-0.2)
                       ("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-once-cell" ,rust-once-cell-1))))))

(define-public rust-android-logger-0.10
  (package
    (inherit rust-android-logger-0.11)
    (name "rust-android-logger")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rigzgkaik2y7pvsilpjdy19mdq1kkamw2rdf9fjkvb5hfqhkvfr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-android-log-sys" ,rust-android-log-sys-0.2)
        ("rust-env-logger" ,rust-env-logger-0.8)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4))))))

(define-public rust-android-logger-0.8
  (package
    (inherit rust-android-logger-0.10)
    (name "rust-android-logger")
    (version "0.8.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kj8i03fqqwxd803hrk27j2399v27ajjj9zxi2nnyml0s4nm9gcc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-android-log-sys" ,rust-android-log-sys-0.1)
        ("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4))))))

(define-public rust-android-properties-0.2
  (package
    (name "rust-android-properties")
    (version "0.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "android-properties" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "016slvg269c0y120p9qd8vdfqa2jbw4j0g18gfw6p3ain44v4zpw"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/miklelappo/android-properties")
    (synopsis "Rust-based Android properties wrapper")
    (description
     "This package provides a Rust-based Android properties wrapper.")
    (license license:expat)))

(define-public rust-android-system-properties-0.1
  (package
    (name "rust-android-system-properties")
    (version "0.1.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "android_system_properties" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "04b3wrz12837j7mdczqd95b732gw5q7q66cv4yn4646lvccp57l1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/nical/android_system_properties")
    (synopsis "Minimal Android system properties wrapper")
    (description
     "This package provides a minimal Android system properties wrapper.")
    (license (list license:expat license:asl2.0))))

(define-public rust-android-tzdata-0.1
  (package
    (name "rust-android-tzdata")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "android-tzdata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w7ynjxrfs97xg3qlcdns4kgfpwcdv824g611fq32cag4cdr96g9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included
       #:cargo-development-inputs (("rust-zip" ,rust-zip-0.6))))
    (home-page "https://github.com/RumovZ/android-tzdata")
    (synopsis "Parser for the Android-specific tzdata file")
    (description "Parser for the Android-specific tzdata file.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anes-0.1
  (package
    (name "rust-anes")
    (version "0.1.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "anes" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "16bj1ww1xkwzbckk32j2pnbn5vk6wgsl3q4p3j9551xbcarwnijb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                   ;FIXME: unresolved import anes::parser..?
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://github.com/zrzka/anes-rs")
    (synopsis "Parse ANSI escape sequences")
    (description
     "This package contains an ANSI escape sequences provider and parser.")
    ;; The user can choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-annotate-snippets-0.11
  (package
    (name "rust-annotate-snippets")
    (version "0.11.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "annotate-snippets" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14frjyhpm41mn2rn70p9288xny1l0jx70k7d2iy9k9sy9vamxqr4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-anstream" ,rust-anstream-0.6)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-difference" ,rust-difference-2)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-snapbox" ,rust-snapbox-0.6)
                                   ("rust-toml" ,rust-toml-0.5)
                                   ("rust-tryfn" ,rust-tryfn-0.2))))
    (home-page "https://github.com/rust-lang/annotate-snippets-rs")
    (synopsis "Library for building code annotations")
    (description
     "This package provides a library for building code annotations.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-annotate-snippets-0.10
  (package
    (inherit rust-annotate-snippets-0.11)
    (name "rust-annotate-snippets")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "annotate-snippets" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rmzxhi079d6j67x1dyv3sjkrc13x6av513cn27pwjl8i5bnd6vd"))))
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-difference" ,rust-difference-2)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-toml" ,rust-toml-0.5))))))

(define-public rust-annotate-snippets-0.9
  (package
    (inherit rust-annotate-snippets-0.10)
    (name "rust-annotate-snippets")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "annotate-snippets" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07p8r6jzb7nqydq0kr5pllckqcdxlyld2g275v425axnzffpxbyc"))))
    (arguments
     `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-yansi-term" ,rust-yansi-term-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-difference" ,rust-difference-2)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-toml" ,rust-toml-0.5)
                                   ("rust-yansi-term" ,rust-yansi-term-0.1))))))

(define-public rust-annotate-snippets-0.6
  (package
    (inherit rust-annotate-snippets-0.10)
    (name "rust-annotate-snippets")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "annotate-snippets" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19x7ldklprdgf8pam8b3lfhrxqw5yldcvk5j0bw2agsajbj1q0n7"))))
    (arguments
     `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.11))
       #:cargo-development-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                                   ("rust-difference" ,rust-difference-2)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-yaml" ,rust-serde-yaml-0.8))))))

(define-public rust-ansi-parser-0.8
  (package
    (name "rust-ansi-parser")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ansi-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09vi51kdnbwj6c4vdiiydpqxiiwyppn7kbynf22ij9xzg4h3kcmw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heapless" ,rust-heapless-0.5)
                       ("rust-nom" ,rust-nom-4))))
    (home-page "https://gitlab.com/DavidBittner/ansi-parser")
    (synopsis "Library using nom for parsing ANSI Escape Codes")
    (description
     "This package provides a library using nom for parsing ANSI Escape Codes.")
    (license license:mpl2.0)))

(define-public rust-ansi-parser-0.6
  (package
    (inherit rust-ansi-parser-0.8)
    (name "rust-ansi-parser")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ansi-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "152idb8a6gwdxzj6m099h3xgx8vw0sjc6skgw94nm2k3y5swc6kn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heapless" ,rust-heapless-0.5)
        ("rust-nom" ,rust-nom-4))))))

(define-public rust-ansi-str-0.8
  (package
    (name "rust-ansi-str")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ansi-str" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07ddhqynv05xjyhw295w29qy77fi84sh5p2mm46ap0d94s4mgx0w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ansitok" ,rust-ansitok-0.2))
       #:cargo-development-inputs (("rust-owo-colors" ,rust-owo-colors-3))))
    (home-page "https://github.com/zhiburt/ansi-str")
    (synopsis
     "Library which provides a set of methods to work with ANSI strings")
    (description
     "This package provides a library which provides a set of methods to work
with ANSI strings.")
    (license license:expat)))

(define-public rust-ansi-width-0.1
  (package
    (name "rust-ansi-width")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ansi-width" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "023693dwvci91456nfi0aygc44i1f098l2f23ssq67b1ybk3r7i1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://docs.rs/ansi-width")
    (synopsis "Calculate the width of a string when printed to the terminal")
    (description
     "Calculate the width of a string when printed to the terminal.")
    (license license:expat)))

(define-public rust-ansitok-0.2
  (package
    (name "rust-ansitok")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ansitok" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10vc2d1325qsbvbnqnj48zg55wv7jz929drx9vpdscdvl7k48012"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nom" ,rust-nom-7)
                       ("rust-vte" ,rust-vte-0.10))))
    (home-page "https://gitlab.com/zhiburt/ansitok")
    (synopsis "Library for parsing ANSI Escape Codes")
    (description
     "This package provides a library for parsing ANSI Escape Codes.")
    (license license:expat)))

(define-public rust-anstream-0.6
  (package
    (name "rust-anstream")
    (version "0.6.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anstream" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16sjk4x3ns2c3ya1x28a44kh6p47c7vhk27251i015hik1lm7k4a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anstyle" ,rust-anstyle-1)
        ("rust-anstyle-parse" ,rust-anstyle-parse-0.2)
        ("rust-anstyle-query" ,rust-anstyle-query-1)
        ("rust-anstyle-wincon" ,rust-anstyle-wincon-3)
        ("rust-colorchoice" ,rust-colorchoice-1)
        ("rust-is-terminal-polyfill" ,rust-is-terminal-polyfill-1)
        ("rust-utf8parse" ,rust-utf8parse-0.2))
       #:cargo-development-inputs
       (("rust-divan" ,rust-divan-0.1)
        ("rust-lexopt" ,rust-lexopt-0.3)
        ("rust-owo-colors" ,rust-owo-colors-4)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.2))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Library for writing colored text to a terminal")
    (description
     "This package provides a simple cross platform library for writing colored
text to a terminal.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anstream-0.3
  (package
    (inherit rust-anstream-0.6)
    (name "rust-anstream")
    (version "0.3.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "anstream" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qzinx9c8zfq3xqpxzmlv6nrm3ymccr4n8gffkdmj31p50v4za0c"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anstyle" ,rust-anstyle-1)
        ("rust-anstyle-parse" ,rust-anstyle-parse-0.2)
        ("rust-anstyle-query" ,rust-anstyle-query-1)
        ("rust-anstyle-wincon" ,rust-anstyle-wincon-1)
        ("rust-colorchoice" ,rust-colorchoice-1)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-utf8parse" ,rust-utf8parse-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-owo-colors" ,rust-owo-colors-3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1))))))

(define-public rust-anstyle-1
  (package
    (name "rust-anstyle")
    (version "1.0.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "anstyle" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1cfmkza63xpn1kkz844mgjwm9miaiz4jkyczmwxzivcsypk1vv0v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-lexopt" ,rust-lexopt-0.3))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "ANSI text styling")
    (description "This package provides ANSI text styling.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anstyle-0.3
  (package
    (inherit rust-anstyle-1)
    (name "rust-anstyle")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anstyle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ll42s5ch4ldp0fw8laidqji540p7higd06h2v111qq2pn0rxsi3"))))
    (arguments
     `(#:cargo-development-inputs (("rust-lexopt" ,rust-lexopt-0.3))))))

(define-public rust-anstyle-lossy-1
  (package
    (name "rust-anstyle-lossy")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anstyle-lossy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10c1cg8vjb7mxwky2xc8j7zdp15i1qvpmd2w6nlsxm6vcx3l9859"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Conversion between ANSI color codes")
    (description "Lossy conversion between ANSI Color Codes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anstyle-parse-0.2
  (package
    (name "rust-anstyle-parse")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "anstyle-parse" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "134jhzrz89labrdwxxnjxqjdg06qvaflj1wkfnmyapwyldfwcnn7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=state::codegen::table")
       #:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-utf8parse" ,rust-utf8parse-0.2))
       #:cargo-development-inputs
       (("rust-codegenrs" ,rust-codegenrs-3)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-vte-generate-state-changes" ,rust-vte-generate-state-changes-0.1))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Parse ANSI Style Escapes")
    (description "Parse ANSI Style Escapes")
    (license (list license:expat license:asl2.0))))

(define-public rust-anstyle-parse-0.1
  (package
    (inherit rust-anstyle-parse-0.2)
    (name "rust-anstyle-parse")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anstyle-parse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05h1zy6y2ha2k8cnah9s0a296w2g3bfyfi2z7r7x3zly9r9vpld7"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; not all files included
         "--skip=state::codegen::table")
       #:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                       ("rust-utf8parse" ,rust-utf8parse-0.2))
       #:cargo-development-inputs
       (("rust-codegenrs" ,rust-codegenrs-2)
        ("rust-criterion" ,rust-criterion-0.4)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-vte-generate-state-changes" ,rust-vte-generate-state-changes-0.1))))))

(define-public rust-anstyle-query-1
  (package
    (name "rust-anstyle-query")
    (version "1.0.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "anstyle-query" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0j3na4b1nma39g4x7cwvj009awxckjf3z2vkwhldgka44hqj72g2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Look up colored console capabilities")
    (description "Look up colored console capabilities")
    (license (list license:expat license:asl2.0))))

(define-public rust-anstyle-stream-0.2
  (package
    (name "rust-anstyle-stream")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anstyle-stream" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l695l55mwxfz3iaw524cy89j57bm5y9y8xv63z5bldslmmrd0qk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-0.3)
                       ("rust-anstyle-parse" ,rust-anstyle-parse-0.1)
                       ("rust-anstyle-wincon" ,rust-anstyle-wincon-0.2)
                       ("rust-concolor-override" ,rust-concolor-override-1)
                       ("rust-concolor-query" ,rust-concolor-query-0.3)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-utf8parse" ,rust-utf8parse-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-owo-colors" ,rust-owo-colors-3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Library for writing colored text to a terminal")
    (description "This package provides a simple cross platform library for
writing colored text to a terminal.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anstyle-svg-0.1
  (package
    (name "rust-anstyle-svg")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anstyle-svg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yi8d0cv1spcisch35b1f7q7lz7j7yyircrnvgaxcj5l8zadlvcb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests segfault.
       #:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-anstyle-lossy" ,rust-anstyle-lossy-1)
                       ("rust-html-escape" ,rust-html-escape-0.2)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.5))))
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Convert ANSI escape codes to SVG")
    (description "Convert ANSI escape codes to SVG.")
    (license (list license:expat license:asl2.0))))

(define-public rust-antidote-1
  (package
    (name "rust-antidote")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "antidote" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/rust-antidote")
    (synopsis "Poison-free Mutex and RwLock types")
    (description
     "These types expose identical APIs to the standard library @code{Mutex} and
@code{RwLock} except that they do not return @code{PoisonError}s.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-any-all-workaround-0.1
  (package
    (name "rust-any-all-workaround")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "any_all_workaround" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11ifmzawvvi6d4r1lk0dkdnbswf574npgkika4535k7j6l3s9zl8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1))
       #:phases (modify-phases %standard-phases
                  ;; `#![feature]` may not be used on the stable release channel
                  ;; Enable using nightly/dev features
                  (add-after 'unpack 'enable-unstable-features
                    (lambda _ (setenv "RUSTC_BOOTSTRAP" "1"))))))
    (home-page "https://docs.rs/any_all_workaround/")
    (synopsis "Workaround for bad LLVM codegen for boolean reductions on 32-bit ARM")
    (description
     "This package provides Workaround for bad LLVM codegen for boolean
reductions on 32-bit ARM.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anyhow-1
  (package
    (name "rust-anyhow")
    (version "1.0.95")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anyhow" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "010vd1ki8w84dzgx6c81sc8qm9n02fxic1gkpv52zp4nwrn0kb1l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-syn" ,rust-syn-2)
        ("rust-thiserror" ,rust-thiserror-2)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/anyhow")
    (synopsis "Flexible concrete Error type")
    (description "This package provides a flexible concrete Error type built on
@code{std::error::Error}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anyinput-0.1
  (package
    (name "rust-anyinput")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anyinput" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08dkks0pg097vcjj3a43fxzazs2cnmf1jd7kcj8s3y6lfxj80n12"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-anyinput-derive" ,rust-anyinput-derive-0.1))))
    (home-page "https://github.com/CarlKCarlK/anyinput")
    (synopsis "Macro for functions that accept any input")
    (description
     "This package provides a macro for easier writing of functions that
accept any string-, path-, iterator-, array-, or ndarray-like input.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anyinput-core-0.1
  (package
    (name "rust-anyinput-core")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anyinput-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17y761xzk0xy7n5q0d76fb29f40cd59qa3b4kv58g9n8k2qivks9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-ndarray" ,rust-ndarray-0.16)
                       ("rust-proc-macro-error" ,rust-proc-macro-error-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-strum" ,rust-strum-0.26)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/CarlKCarlK/anyinput")
    (synopsis "Internal helper library of anyinput")
    (description
     "This package provides an internal helper library of anyinput.")
    (license (list license:expat license:asl2.0))))

(define-public rust-anyinput-derive-0.1
  (package
    (name "rust-anyinput-derive")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "anyinput-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xcgkdkskmh8xxxyr1chfapn9avk8d8s7jjph5zy4ff22dri4m7y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-anyinput-core" ,rust-anyinput-core-0.1)
                       ("rust-proc-macro-error" ,rust-proc-macro-error-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1))))
    (home-page "https://github.com/CarlKCarlK/anyinput")
    (synopsis "Internal helper library of anyinput")
    (description
     "This package provides an internal helper library of anyinput.")
    (license (list license:expat license:asl2.0))))

(define-public rust-apache-avro-0.16
  (package
    (name "rust-apache-avro")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "apache-avro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "180113hv4b7dw63szi5rzjb5pj8lwn5zyf8fnxq0kx7qna1wddyf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-apache-avro-derive" ,rust-apache-avro-derive-0.16)
                       ("rust-bzip2" ,rust-bzip2-0.4)
                       ("rust-crc32fast" ,rust-crc32fast-1)
                       ("rust-digest" ,rust-digest-0.10)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libflate" ,rust-libflate-2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-quad-rand" ,rust-quad-rand-0.2)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-regex-lite" ,rust-regex-lite-0.1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-snap" ,rust-snap-1)
                       ("rust-strum" ,rust-strum-0.25)
                       ("rust-strum-macros" ,rust-strum-macros-0.25)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-typed-builder" ,rust-typed-builder-0.16)
                       ("rust-uuid" ,rust-uuid-1)
                       ("rust-xz2" ,rust-xz2-0.1)
                       ("rust-zstd" ,rust-zstd-0.12))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-apache-avro-test-helper" ,rust-apache-avro-test-helper-0.16)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-hex-literal" ,rust-hex-literal-0.4)
        ("rust-md-5" ,rust-md-5-0.10)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-serial-test" ,rust-serial-test-2)
        ("rust-sha2" ,rust-sha2-0.10))))
    (home-page "https://github.com/apache/avro")
    (synopsis "Library for working with Apache Avro in Rust")
    (description
     "This package provides a library for working with Apache Avro in Rust.")
    (license license:asl2.0)))

(define-public rust-apache-avro-derive-0.16
  (package
    (name "rust-apache-avro-derive")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "apache-avro-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "192wmrzjz1bwfiwv11979kk3dl51q50vgppn2iyph8v9048y85z3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `apache_avro`
       #:cargo-inputs (("rust-darling" ,rust-darling-0.20)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1)
                                   ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/apache/avro")
    (synopsis "Library for deriving Avro schemata from Rust structs and enums")
    (description "This package provides a library for deriving Avro schemata
from Rust structs and enums.")
    (license license:asl2.0)))

(define-public rust-apache-avro-test-helper-0.16
  (package
    (name "rust-apache-avro-test-helper")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "apache-avro-test-helper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mgj73sli4m49frp4y460p7sxpkc73f00n5rqcbby4sh5fdqh9hf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-color-backtrace" ,rust-color-backtrace-0.5)
                       ("rust-ctor" ,rust-ctor-0.2)
                       ("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ref-thread-local" ,rust-ref-thread-local-0.1))))
    (home-page "https://github.com/apache/avro")
    (synopsis "Apache Avro tests helper")
    (description "This package contains the Apache Avro tests helper.")
    (license license:asl2.0)))

(define-public rust-app-dirs2-2
  (package
    (name "rust-app-dirs2")
    (version "2.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "app_dirs2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bimzwj54fv8dvailkfb4l9sdsmnsn6hi183p76c3a736dbv7rx7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-jni" ,rust-jni-0.21)
        ("rust-ndk-context" ,rust-ndk-context-0.1)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-xdg" ,rust-xdg-2))
       #:cargo-development-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-ndk-glue" ,rust-ndk-glue-0.7)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-test-case" ,rust-test-case-2))))
    (home-page "https://lib.rs/app_dirs2")
    (synopsis "Put app's data in the right place on every platform")
    (description
     "This package helps you to put your app's data in the right place
on every platform.")
    (license license:expat)))

(define-public rust-approx-0.5
  (package
    (name "rust-approx")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "approx" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ilpv3dgd58rasslss0labarq7jawxmivk17wsh8wmkdm3q15cfa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/brendanzab/approx")
    (synopsis "Approximate floating point equality comparisons and assertions")
    (description
     "This crate provides facilities for testing the approximate equality of
floating-point based types, using either relative difference, or units in the
last place (ULPs) comparisons.")
    (license license:asl2.0)))

(define-public rust-approx-0.4
  (package
    (name "rust-approx")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "approx" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y52dg58lapl4pp1kqlznfw1blbki0nx6b0aw8kja2yi3gyhaaiz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-complex" ,rust-num-complex-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/brendanzab/approx")
    (synopsis "Approximate floating point equality comparisons and assertions")
    (description
     "This crate provides facilities for testing the approximate equality of
floating-point based types, using either relative difference, or units in the
last place (ULPs) comparisons.")
    (license license:asl2.0)))

(define-public rust-approx-0.3
  (package
    (inherit rust-approx-0.4)
    (name "rust-approx")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "approx" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1hx580xjdxl3766js9b49rnbnmr8gw8c060809l43k9f0xshprph"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-approx-0.1
  (package
    (inherit rust-approx-0.3)
    (name "rust-approx")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "approx" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8"))))
    (arguments '())))

(define-public rust-arbitrary-1
  (package
    (name "rust-arbitrary")
    (version "1.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "arbitrary" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "08zj2yanll5s5gsbmvgwvbq39iqzy3nia3yx3db3zwba08yhpqnx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-derive-arbitrary" ,rust-derive-arbitrary-1))
       #:cargo-development-inputs (("rust-exhaustigen" ,rust-exhaustigen-0.1))))
    (home-page "https://github.com/rust-fuzz/arbitrary")
    (synopsis "Trait for generating structured data from unstructured data")
    (description
     "The @code{Arbitrary} crate lets you construct arbitrary instance of
a type.

This crate is primarily intended to be combined with a fuzzer like
@code{libFuzzer} and @code{cargo-fuzz} or AFL, and to help you turn the raw,
untyped byte buffers that they produce into well-typed, valid, structured
values.  This allows you to combine structure-aware test case generation with
coverage-guided, mutation-based fuzzers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-arbitrary-0.4
  (package
    (inherit rust-arbitrary-1)
    (name "rust-arbitrary")
    (version "0.4.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arbitrary" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sa55cynafwzvlhyhfpm3vmi2fydj3ipdj5yfbaif7l56cixfmfv"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-derive-arbitrary" ,rust-derive-arbitrary-0.4))))))

(define-public rust-arboard-3
  (package
    (name "rust-arboard")
    (version "3.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arboard" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n7s54yjbv3qksq2fivcdnvriplmzp8fd14dfrw7k7048cciy152"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; tests require X11 $DISPLAY
       #:cargo-inputs (("rust-clipboard-win" ,rust-clipboard-win-5)
                       ("rust-core-graphics" ,rust-core-graphics-0.23)
                       ("rust-image" ,rust-image-0.24)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-objc" ,rust-objc-0.2)
                       ("rust-objc-foundation" ,rust-objc-foundation-0.1)
                       ("rust-objc-id" ,rust-objc-id-0.1)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.48)
                       ("rust-wl-clipboard-rs" ,rust-wl-clipboard-rs-0.8)
                       ("rust-x11rb" ,rust-x11rb-0.13))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9))))
    (home-page "https://github.com/1Password/arboard")
    (synopsis "Image and text handling for the OS clipboard")
    (description
     "This package provides image and text handling for the OS clipboard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-arc-swap-1
  (package
    (name "rust-arc-swap")
    (version "1.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arc-swap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mrl9a9r9p9bln74q6aszvf22q1ijiw089jkrmabfqkbj31zixv9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-adaptive-barrier" ,rust-adaptive-barrier-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-itertools" ,rust-itertools-0.12)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/vorner/arc-swap")
    (synopsis "Atomically swappable Arc")
    (description "This package provides an atomically swappable Arc.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-archery-1
  (package
    (name "rust-archery")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "archery" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sdqlmybcvd0rzv22ac3k3xxm5anr1gpm03sf02iy0jmrlhyvqpa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-static-assertions" ,rust-static-assertions-1)
                       ("rust-triomphe" ,rust-triomphe-0.1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/orium/archery")
    (synopsis "Abstract over the atomicity of reference-counting pointers")
    (description "This package provides a way to abstract @code{Rc} and
@code{Arc} smart pointers.  It can also create data structures where
the pointer type is parameterizable.")
    (license license:mpl2.0)))

(define-public rust-arg-enum-proc-macro-0.3
  (package
    (name "rust-arg-enum-proc-macro")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arg_enum_proc_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sjdfd5a8j6r99cf0bpqrd6b160x9vz97y5rysycsjda358jms8a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/lu-zero/arg_enum_proc_macro")
    (synopsis "Procedural macro compatible with clap arg_enum")
    (description
     "This package provides a procedural macro compatible with clap's
@code{arg_enum}.")
    (license license:expat)))

(define-public rust-argfile-0.1
  (package
    (name "rust-argfile")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "argfile" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xm5yq9r04k9zf0hlx47a4yv86np6iwpqczfcmg0iia15bwc91qj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fs-err" ,rust-fs-err-2)
        ("rust-os-str-bytes" ,rust-os-str-bytes-6)
        ("rust-shlex" ,rust-shlex-1))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-wild" ,rust-wild-2))))
    (home-page "https://github.com/rust-cli/argfile")
    (synopsis "Load additional CLI arguments from a file")
    (description
     "This library enables loading additional @acronym{CLI,
Command-Line Interface} arguments from a file.  This is meant to work with any
CLI parser, like @code{rust-clap}, by pre-processing the arguments, like
@code{rust-wild}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-argh-0.1
  (package
    (name "rust-argh")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "argh" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06fjmac07knqw7vahra9rkbfrrsv31yrqhf7wi623xvzjq3bmxbs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-argh-derive" ,rust-argh-derive-0.1)
                       ("rust-argh-shared" ,rust-argh-shared-0.1))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/google/argh")
    (synopsis "Derive-based argument parser optimized for code size")
    (description "Derive-based argument parser optimized for code size.")
    (license license:bsd-3)))

(define-public rust-argh-derive-0.1
  (package
    (name "rust-argh-derive")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "argh_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ynq2f2f05ybhmvg5y4m1kdfihw4jsq3bnq6gp32yykbvzp0mpsn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-argh-shared" ,rust-argh-shared-0.1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/google/argh")
    (synopsis "Derive-based argument parsing optimized for code size")
    (description "Derive-based argument parsing optimized for code size.")
    (license license:bsd-3)))

(define-public rust-argh-shared-0.1
  (package
    (name "rust-argh-shared")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "argh_shared" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cbmf3n5fd7ha014m303f4bmsmj0v84an4a1rh77d9dx868z74sn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/google/argh")
    (synopsis "Derive-based argument parsing optimized for code size")
    (description "Derive-based argument parsing optimized for code size.")
    (license license:bsd-3)))

(define-public rust-argmax-0.3
  (package
    (name "rust-argmax")
    (version "0.3.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "argmax" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0ricjx82rdnycjndlmaiwxc85lq3gh4av44xlkjwbwm7wgskwzjv"))))
    (build-system cargo-build-system)
    (arguments
    `(#:cargo-inputs
      (("rust-lazy-static" ,rust-lazy-static-1)
       ("rust-libc" ,rust-libc-0.2)
       ("rust-nix" ,rust-nix-0.24))))
    (home-page "https://github.com/sharkdp/argmax")
    (synopsis "Rust library to deal with 'argument too long' errors")
    (description "This package provides a rust library to deal with argument
too long errors.")
    (license (list license:expat license:asl2.0))))

(define-public rust-argminmax-0.6
  (package
    (name "rust-argminmax")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "argminmax" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1alfp2wfh3pms6f5fj8qw9birndgac2jd2shdl2xascxsrclnhjj"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-arrow" ,rust-arrow-5)
                       ("rust-arrow2" ,rust-arrow2-0.7)
                       ("rust-half" ,rust-half-2)
                       ("rust-ndarray" ,rust-ndarray-0.15)
                       ("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs
       (("rust-codspeed-criterion-compat" ,rust-codspeed-criterion-compat-2)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.18)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.6))))
    (home-page "https://github.com/jvdd/argminmax")
    (synopsis
     "ArgMinMax (argmin & argmax in 1 function) with SIMD for floats and integers")
    (description
     "@code{ArgMinMax} (argmin & argmax in 1 function) with SIMD for floats and
integers.")
    (license license:expat)))

(define-public rust-ariadne-0.1
  (package
    (name "rust-ariadne")
    (version "0.1.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ariadne" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0303ig5g2v2xzhyzkis0nph2v21441vzalamhxgcxa5y8qh2mjzi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-yansi" ,rust-yansi-0.5))))
    (home-page "https://github.com/zesterer/ariadne")
    (synopsis "Fancy diagnostics & reporting crate")
    (description "This package provides a fancy diagnostics & reporting crate.")
    (license license:expat)))

(define-public rust-arr-macro-0.1
  (package
    (name "rust-arr-macro")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "arr_macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "199086q8zva66lbg9bpz6fa67s81ra7yfa8148cwy1w7lkymn43a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arr-macro-impl" ,rust-arr-macro-impl-0.1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
    (home-page "https://github.com/JoshMcguigan/arr_macro")
    (synopsis "Initialize arrays with ease")
    (description "Array macro helps initialize arrays.  It is useful when
initializing large arrays (greater than 32 elements), or arrays of types which
do not implement the copy or default traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-arr-macro-impl-0.1
  (package
    (name "rust-arr-macro-impl")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "arr_macro_impl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1lbjilz3pvwav72dfkcbz99rsq7m04xbdpqh8g3yvx3jsn5wf286"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/JoshMcguigan/arr_macro")
    (synopsis "Private impl crate for arr_macro")
    (description "This package provides a private @code{impl} crate for
@code{arr_macro}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-array-init-2
  (package
    (name "rust-array-init")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "array-init" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z0bh6grrkxlbknq3xyipp42rasngi806y92fiddyb2n99lvfqix"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Manishearth/array-init/")
    (synopsis "Safe wrapper for initializing fixed-size arrays")
    (description
     "A crate that removes the need to fill an array before running
initialisers.  Provides an init closure that's called for each element of the
array.")
    (license (list license:expat license:asl2.0))))

(define-public rust-array-init-cursor-0.2
  (package
    (name "rust-array-init-cursor")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "array-init-cursor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xpbqf7qkvzplpjd7f0wbcf2n1v9vygdccwxkd1amxp4il0hlzdz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/planus-org/planus")
    (synopsis "Utility crate to help keep track of arrays of MaybeUninit")
    (description
     "Utility crate to help keep track of arrays of @code{MaybeUninit}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-array-macro-1
  (package
    (name "rust-array-macro")
    (version "1.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "array-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19mdx2xlppnqwl6rhsbzylx61a0kkp2ql8q16195b7iga977ps86"))))
    (build-system cargo-build-system)
    (home-page "https://gitlab.com/KonradBorowski/array-macro")
    (synopsis "Array multiple elements constructor syntax")
    (description "This package implements constructor syntax for arrays with
multiple elements.")
    (license (list license:expat license:asl2.0))))

(define-public rust-array-ops-0.1
  (package
    (name "rust-array-ops")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "array-ops" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1jn7l9gppp6kr9kgsy22sw5p9cn1jazmqxy296gjwiwz5d11i4fc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.5)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4))))
    (home-page "https://github.com/bodil/array-ops")
    (synopsis "Automatic method implementations for array data types")
    (description "This package provides a number of traits with default
implementations for most of the standard library's methods on array like data
structures.")
    (license license:mpl2.0)))

(define-public rust-arraydeque-0.5
  (package
    (name "rust-arraydeque")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arraydeque" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dn2xdfg3rkiqsh8a6achnmvf5nf11xk33xgjzpksliab4yjx43x"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/andylokandy/arraydeque")
    (synopsis
     "Ring buffer with a fixed capacity, which can be stored on the stack")
    (description
     "This package provides a ring buffer with a fixed capacity, which can be stored
on the stack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-arrayref-0.3
  (package
    (name "rust-arrayref")
    (version "0.3.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrayref" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jzyp0nvp10dmahaq9a2rnxqdd5wxgbvp8xaibps3zai8c9fi8kn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/droundy/arrayref")
    (synopsis "Macros to take array references of slices")
    (description "Macros to take array references of slices.")
    (license license:bsd-2)))

(define-public rust-arraystring-0.3
  (package
    (name "rust-arraystring")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arraystring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1181rr76jqlldrpy586cj2bzgxvzhn8crj2vg75diq8pf537qlad"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-diesel" ,rust-diesel-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-diesel" ,rust-diesel-1)
        ("rust-env-logger" ,rust-env-logger-0.5)
        ("rust-inlinable-string" ,rust-inlinable-string-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-smallstring" ,rust-smallstring-0.1))))
    (home-page "https://github.com/paulocsanz/arraystring")
    (synopsis "Fixed capacity stack based generic string")
    (description
     "This package provides fixed capacity stack based generic string.")
    (license (list license:expat license:asl2.0))))

(define-public rust-arrayvec-0.7
  (package
    (name "rust-arrayvec")
    (version "0.7.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrayvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l1fz4ccgv6pm609rif37sl5nv5k6lbzi7kkppgzqzh1vwix20kw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-borsh" ,rust-borsh-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/bluss/arrayvec")
    (synopsis "Vector with fixed capacity")
    (description
     "This package provides a vector with fixed capacity, backed by an
array (it can be stored on the stack too).  Implements fixed capacity
ArrayVec and ArrayString.")
    (license (list license:expat license:asl2.0))))

(define-public rust-arrayvec-0.5
  (package
    (inherit rust-arrayvec-0.7)
    (name "rust-arrayvec")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrayvec" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12q6hn01x5435bprwlb7w9m7817dyfq55yrl4psygr78bp32zdi3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-arrayvec-0.4
  (package
    (inherit rust-arrayvec-0.5)
    (name "rust-arrayvec")
    (version "0.4.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrayvec" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1fdiv5m627gh6flp4mpmi1mh647imm9x423licsr11psz97d97yd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-nodrop" ,rust-nodrop-0.1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-arrow-47
  (package
    (name "rust-arrow")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0agq8c2q8nifsysnri8svh9m9dqkk55ww3d3slvqms4cpa9rxavz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       ;; Test fixtures are not included in the crate tarball. We need to skip
       ;; the tests that require these.
       '("--release" "--" "--exact"
         "--skip=util::test_util::tests::test_happy")
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-arrow-arith" ,rust-arrow-arith-47)
        ("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-cast" ,rust-arrow-cast-47)
        ("rust-arrow-csv" ,rust-arrow-csv-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-ipc" ,rust-arrow-ipc-47)
        ("rust-arrow-json" ,rust-arrow-json-47)
        ("rust-arrow-ord" ,rust-arrow-ord-47)
        ("rust-arrow-row" ,rust-arrow-row-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-arrow-select" ,rust-arrow-select-47)
        ("rust-arrow-string" ,rust-arrow-string-47)
        ("rust-pyo3" ,rust-pyo3-0.19)
        ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-half" ,rust-half-2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Rust implementation of Apache Arrow")
    (description "This crate provides a complete, safe and native Rust
implementation of Apache Arrow.")
    (license license:asl2.0)))

(define-public rust-arrow-5
  (package
    (inherit rust-arrow-47)
    (name "rust-arrow")
    (version "5.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c8j4766cfjc04dmcyayigbn6mim9cfys78a64ilw26qrxpyhy16"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-csv" ,rust-csv-1)
        ("rust-flatbuffers" ,rust-flatbuffers-2)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lexical-core" ,rust-lexical-core-0.7)
        ("rust-multiversion" ,rust-multiversion-0.6)
        ("rust-num" ,rust-num-0.4)
        ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
        ("rust-prettytable-rs" ,rust-prettytable-rs-0.8)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-arrow-arith-47
  (package
    (name "rust-arrow-arith")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-arith" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mprvyxmnj3x84l6p8h34zz11kil71x5gf989zk9xbc7iqv4w7dw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-half" ,rust-half-2)
        ("rust-num" ,rust-num-0.4))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Arithmetic and aggregation kernels Apache Arrow")
    (description "This crate provides arithmetic and aggregation kernels for
Apache Arrow.  Examples include time-related functions, logical operations for
booleans, arithmetic functions such as addition and various aggregation
functions.")
    (license license:asl2.0)))

(define-public rust-arrow-array-47
  (package
    (name "rust-arrow-array")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-array" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "139iwhc3j8mcn6avgjl4k3sc7g43kq92m02fbba05qgdadrglbnh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.8)
        ("rust-half" ,rust-half-2)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-num" ,rust-num-0.4)
        ("rust-packed-simd" ,rust-packed-simd-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Array abstractions for Apache Arrow")
    (description "The central type in Apache Arrow are arrays, which are a
known-length sequence of values all having the same type.  This crate provides
concrete implementations of each type, as well as an @code{Array} trait that
can be used for type-erasure.")
    (license license:asl2.0)))

(define-public rust-arrow-array-43
  (package
    (inherit rust-arrow-array-47)
    (name "rust-arrow-array")
    (version "43.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-array" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l7k48p40b8j4nzda5z20b45zsaphm9yylzwryr8n7vxbxrfmmv3"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=array::binary_array::tests::test_binary_array_from_incorrect_list_array")
       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-arrow-buffer" ,rust-arrow-buffer-43)
                       ("rust-arrow-data" ,rust-arrow-data-43)
                       ("rust-arrow-schema" ,rust-arrow-schema-43)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.8)
                       ("rust-half" ,rust-half-2)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-num" ,rust-num-0.4)
                       ("rust-packed-simd-2" ,rust-packed-simd-2-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-arrow-buffer-47
  (package
    (name "rust-arrow-buffer")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15b1km7kb7cys2pdxgq1p9syiw7yzf9cch85rcw12504a8i1k8gx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-half" ,rust-half-2)
        ("rust-num" ,rust-num-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Buffer abstractions for Apache Arrow")
    (description "This crate provides low-level buffer abstractions for the
Rust implementation of Apache Arrow.")
    (license license:asl2.0)))

(define-public rust-arrow-buffer-43
  (package
    (inherit rust-arrow-buffer-47)
    (name "rust-arrow-buffer")
    (version "43.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08m7cxfksmc2qsygba0ingr1a3acbrxx9qdr0184wj3z0yg47gmx"))))
    (arguments
     `(#:cargo-inputs (("rust-half" ,rust-half-2)
                       ("rust-num" ,rust-num-0.4))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-arrow-cast-47
  (package
    (name "rust-arrow-cast")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-cast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vjdr0gqln3x60jlwan6vfb6f1alhww95by51gani24np58mv0hx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=display::tests::test_array_value_to_string_duration")
       #:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-arrow-select" ,rust-arrow-select-47)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-comfy-table" ,rust-comfy-table-7)
        ("rust-half" ,rust-half-2)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-num" ,rust-num-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-half" ,rust-half-2))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Cast kernels and utilities for Apache Arrow")
    (description "This crate provides typecasting kernels and other utilities
for Apache Arrow, such as prettyprinting, parsing, and Base64 encoding and
decoding.")
    (license license:asl2.0)))

(define-public rust-arrow-csv-47
  (package
    (name "rust-arrow-csv")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-csv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wff8a151xspfrcc4lda6g0d9fa6vva63q23gwcxq9miqrfqbvs3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       ;; Test fixtures are not included in the crate tarball. We need to skip
       ;; the tests that require these.
       '("--release"
         ;; Skip the doctests, since some of these also depend on the test
         ;; fixtures.
         "--lib" "--bins" "--tests"
         "--"
         "--exact"
         "--skip=reader::tests::test_buffered"
         "--skip=reader::tests::test_csv"
         "--skip=reader::tests::test_csv_builder_with_bounds"
         "--skip=reader::tests::test_csv_from_buf_reader"
         "--skip=reader::tests::test_csv_reader_with_decimal"
         "--skip=reader::tests::test_csv_schema_metadata"
         "--skip=reader::tests::test_csv_with_dictionary"
         "--skip=reader::tests::test_csv_with_projection"
         "--skip=reader::tests::test_csv_with_schema_inference"
         "--skip=reader::tests::test_csv_with_schema_inference_no_headers"
         "--skip=reader::tests::test_custom_nulls"
         "--skip=reader::tests::test_custom_nulls_with_inference"
         "--skip=reader::tests::test_nulls"
         "--skip=reader::tests::test_nulls_with_inference"
         "--skip=reader::tests::test_parse_invalid_csv")
       #:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-cast" ,rust-arrow-cast-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-csv" ,rust-csv-1)
        ("rust-csv-core" ,rust-csv-core-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Parse CSV formatted data to and from the Arrow format")
    (description "This crate enables support for transferring data between the
Arrow memory format and CSV line-delimited records.")
    (license license:asl2.0)))

(define-public rust-arrow-data-47
  (package
    (name "rust-arrow-data")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fpp09ykg6nb7jcaqnjzga242y7nlrfz3v0wlrf0kd68k4v4qnj7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-half" ,rust-half-2)
        ("rust-num" ,rust-num-0.4))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Low-level array data abstractions for Apache Arrow")
    (description "This crate contains low-level array data abstractions for
the Apache Arrow implementation in Rust.")
    (license license:asl2.0)))

(define-public rust-arrow-data-43
  (package
    (inherit rust-arrow-data-47)
    (name "rust-arrow-data")
    (version "43.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12q2dvfaj78rfj5k3sfn8d3fnhwp3iizd4dbf5m14526qniz9x6l"))))
    (arguments
     `(#:cargo-inputs (("rust-arrow-buffer" ,rust-arrow-buffer-43)
                       ("rust-arrow-schema" ,rust-arrow-schema-43)
                       ("rust-half" ,rust-half-2)
                       ("rust-num" ,rust-num-0.4))))))

(define-public rust-arrow-format-0.8
  (package
    (name "rust-arrow-format")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1irj67p6c224dzw86jr7j3z9r5zfid52gy6ml8rdqk4r2si4x207"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-planus" ,rust-planus-0.3)
                       ("rust-prost" ,rust-prost-0.11)
                       ("rust-prost-derive" ,rust-prost-derive-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tonic" ,rust-tonic-0.8))))
    (home-page "https://github.com/DataEngineeringLabs/arrow-format")
    (synopsis "Unofficial flatbuffers and tonic code of Apache Arrow spec")
    (description "This package provides an nofficial flatbuffers and tonic
code of Apache Arrow spec.")
    (license license:asl2.0)))

(define-public rust-arrow-format-0.3
  (package
    (inherit rust-arrow-format-0.8)
    (name "rust-arrow-format")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0apg3x3yllbazh6jr85g5yammjqxpnrk6jm4n2yypyhbcvcs4zcz"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-flatbuffers" ,rust-flatbuffers-2)
        ("rust-prost" ,rust-prost-0.9)
        ("rust-prost-derive" ,rust-prost-derive-0.9)
        ("rust-tonic" ,rust-tonic-0.6))))))

(define-public rust-arrow-ipc-47
  (package
    (name "rust-arrow-ipc")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-ipc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0shnrpmkwicxcn12s6lw8xqj9xibjjfqah58nxlzhjf5i9f00j0j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-cast" ,rust-arrow-cast-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-flatbuffers" ,rust-flatbuffers-23)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-zstd" ,rust-zstd-0.12))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Support for the Arrow IPC format")
    (description "This crate provides support for the Arrow @acronym{IPC,
Interprocess Communication} format.")
    (license license:asl2.0)))

(define-public rust-arrow-json-47
  (package
    (name "rust-arrow-json")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "175ncx809i6gq7i4xr03kxkk3f2nxnd49zjlqg78qs6x0hxpwggh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       ;; Test fixtures are not included in the crate tarball. We need to skip
       ;; the tests that require these.
       '("--release"
         ;; Skip the doctests, since some of these also depend on the test
         ;; fixtures.
         "--lib" "--bins" "--tests"
         "--"
         "--exact"
         "--skip=reader::schema::tests::test_json_infer_schema"
         "--skip=reader::tests::test_date_from_json_milliseconds"
         "--skip=reader::tests::test_json_arrays"
         "--skip=reader::tests::test_json_basic"
         "--skip=reader::tests::test_json_basic_schema"
         "--skip=reader::tests::test_json_basic_schema_projection"
         "--skip=reader::tests::test_json_basic_with_nulls"
         "--skip=reader::tests::test_json_empty_projection"
         "--skip=reader::tests::test_json_iterator"
         "--skip=reader::tests::test_time_from_json_nanoseconds"
         "--skip=reader::tests::test_timestamp_from_json_milliseconds"
         "--skip=reader::tests::test_timestamp_from_json_seconds"
         "--skip=reader::tests::test_with_multiple_batches"
         "--skip=writer::tests::test_write_multi_batches"
         "--skip=writer::tests::test_write_single_batch"
         "--skip=writer::tests::write_arrays"
         "--skip=writer::tests::write_basic_nulls"
         "--skip=writer::tests::write_basic_rows"
         "--skip=writer::tests::write_durations")
       #:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-cast" ,rust-arrow-cast-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-half" ,rust-half-2)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-num" ,rust-num-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Parse JSON formatted data to and from the Arrow format")
    (description
     "This crate enables support for transferring data between the Arrow
memory format and JSON line-delimited records.")
    (license license:asl2.0)))

(define-public rust-arrow-ord-47
  (package
    (name "rust-arrow-ord")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-ord" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x3irbymxic9hjaakq0rvkcqxj1jq2hfpclywh066spa12j7mf03"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-arrow-select" ,rust-arrow-select-47)
        ("rust-half" ,rust-half-2)
        ("rust-num" ,rust-num-0.4))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Ordering kernels for Apache Arrow arrays")
    (description "This crate provides various ordering kernels for Apache
Arrow arrays.  Examples include @code{cmp}, @code{ord}, @code{partition},
@code{rank} and @code{sort} kernels.")
    (license license:asl2.0)))

(define-public rust-arrow-row-47
  (package
    (name "rust-arrow-row")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-row" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08jxyqvsm3pvz09jprqrxdhg1yczncyb5jlgj2vckrw1nn538jhi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-half" ,rust-half-2)
        ("rust-hashbrown" ,rust-hashbrown-0.14))
       #:cargo-development-inputs
       (("rust-arrow-cast" ,rust-arrow-cast-47)
        ("rust-arrow-ord" ,rust-arrow-ord-47)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Row-oriented Apache Arrow representation")
    (description "This crate provides a comparable row-oriented representation
of a collection of @code{Array}.  Rows are normalized for sorting, and can
therefore be very efficiently compared, using @code{memcmp} under the hood, or
used in non-comparison sorts such as radix sort.")
    (license license:asl2.0)))

(define-public rust-arrow-schema-47
  (package
    (name "rust-arrow-schema")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-schema" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jyfw40m070zj2pv8mp3gvlnzs0mavnzn6qhw19qh5bv26f1f7ax"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Logical types for Apache Arrow arrays")
    (description "This crate defines the logical types for arrays of the
Apache Arrow implementation in Rust.")
    (license license:asl2.0)))

(define-public rust-arrow-schema-43
  (package
    (inherit rust-arrow-schema-47)
    (name "rust-arrow-schema")
    (version "43.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-schema" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zp8jz0pcr2d020rrmkdkzg6yizb2gc0fbfgzddb2w7mxrbwpsrb"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-arrow-select-47
  (package
    (name "rust-arrow-select")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-select" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0231igp3fihf2kz1s9i2k6vhnlpmg662gr9rn6fpxrh26801xiym"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-num" ,rust-num-0.4))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "Selection kernels for Apache Arrow arrays")
    (description "This crate provides various selection kernels for Apache
Arrow arrays.  Examples include @code{filter}, @code{concat} and @code{take}
kernels, as well as @code{window} functions such as shifting.")
    (license license:asl2.0)))

(define-public rust-arrow-string-47
  (package
    (name "rust-arrow-string")
    (version "47.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow-string" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ar1njf4biff3ylpyk2m2bhvqmsywl9akagljm429ffnharbpkn4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrow-array" ,rust-arrow-array-47)
        ("rust-arrow-buffer" ,rust-arrow-buffer-47)
        ("rust-arrow-data" ,rust-arrow-data-47)
        ("rust-arrow-schema" ,rust-arrow-schema-47)
        ("rust-arrow-select" ,rust-arrow-select-47)
        ("rust-num" ,rust-num-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.7))))
    (home-page "https://github.com/apache/arrow-rs")
    (synopsis "String kernels for Apache Arrow arrays")
    (description "This crate provides various string kernels for Apache Arrow
arrays.  Examples include @code{concat_elements}, @code{length}, @code{like},
@code{regexp} and @code{substring} kernels.")
    (license license:asl2.0)))

(define-public rust-arrow2-0.17
  (package
    (name "rust-arrow2")
    (version "0.17.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yh40rdx0hwyag621byl6rk8w2jzvgvsj78sg1yp82qlxbd6ii2r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; failed to resolve: could not find `parquet` in `io`
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-arrow-array" ,rust-arrow-array-43)
        ("rust-arrow-buffer" ,rust-arrow-buffer-43)
        ("rust-arrow-data" ,rust-arrow-data-43)
        ("rust-arrow-format" ,rust-arrow-format-0.8)
        ("rust-arrow-schema" ,rust-arrow-schema-43)
        ("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-avro-schema" ,rust-avro-schema-0.3)
        ("rust-base64" ,rust-base64-0.21)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.8)
        ("rust-comfy-table" ,rust-comfy-table-6)
        ("rust-csv" ,rust-csv-1)
        ("rust-csv-async" ,rust-csv-async-1)
        ("rust-csv-core" ,rust-csv-core-0.1)
        ("rust-dyn-clone" ,rust-dyn-clone-1)
        ("rust-either" ,rust-either-1)
        ("rust-ethnum" ,rust-ethnum-1)
        ("rust-fallible-streaming-iterator" ,rust-fallible-streaming-iterator-0.1)
        ("rust-foreign-vec" ,rust-foreign-vec-0.1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-hash-hasher" ,rust-hash-hasher-2)
        ("rust-hashbrown" ,rust-hashbrown-0.13)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-json-deserializer" ,rust-json-deserializer-0.4)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-multiversion" ,rust-multiversion-0.7)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-odbc-api" ,rust-odbc-api-0.36)
        ("rust-orc-format" ,rust-orc-format-0.3)
        ("rust-parquet2" ,rust-parquet2-0.17)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-regex" ,rust-regex-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-simdutf8" ,rust-simdutf8-0.1)
        ("rust-streaming-iterator" ,rust-streaming-iterator-0.1)
        ("rust-strength-reduce" ,rust-strength-reduce-0.2)
        ("rust-zstd" ,rust-zstd-0.12))
       #:cargo-development-inputs
       (("rust-avro-rs" ,rust-avro-rs-0.13)
        ("rust-criterion" ,rust-criterion-0.4)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-sample-arrow2" ,rust-sample-arrow2-0.1)
        ("rust-sample-std" ,rust-sample-std-0.1)
        ("rust-sample-test" ,rust-sample-test-0.1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-util" ,rust-tokio-util-0.7))))
    (home-page "https://github.com/jorgecarleitao/arrow2")
    (synopsis "Unofficial implementation of Apache Arrow spec in safe Rust")
    (description "Unofficial implementation of Apache Arrow spec in safe Rust.")
    (license license:asl2.0)))

(define-public rust-arrow2-0.7
  (package
    (name "rust-arrow2")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "arrow2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15dkirkx07bagjgcar2ikmvs0d1zsk5l99bsszla91rxbivy4wyq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-arrow-format" ,rust-arrow-format-0.3)
        ("rust-avro-rs" ,rust-avro-rs-0.13)
        ("rust-base64" ,rust-base64-0.13)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.6)
        ("rust-comfy-table" ,rust-comfy-table-4)
        ("rust-csv" ,rust-csv-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-hash-hasher" ,rust-hash-hasher-2)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-libflate" ,rust-libflate-1)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-multiversion" ,rust-multiversion-0.6)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
        ("rust-parquet2" ,rust-parquet2-0.6)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-simdutf8" ,rust-simdutf8-0.1)
        ("rust-streaming-iterator" ,rust-streaming-iterator-0.1)
        ("rust-strength-reduce" ,rust-strength-reduce-0.2)
        ("rust-zstd" ,rust-zstd-0.9))))
    (home-page "https://github.com/jorgecarleitao/arrow2")
    (synopsis "Unofficial implementation of Apache Arrow spec in safe Rust")
    (description
     "Arrow2 is a Rust library to work with the Arrow format.  It is
a re-write of the official Arrow crate using transmute-free operations.")
    (license license:asl2.0)))

(define-public rust-article-scraper-1
  (package
    (name "rust-article-scraper")
    (version "1.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "article_scraper" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l904hn99fgj83f3dhspxgz1j3xzgjbnbfsgvmhd1jg5l4hqfhxp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests use the network
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-image" ,rust-image-0.23)
        ("rust-libxml" ,rust-libxml-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-regex" ,rust-regex-1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-url" ,rust-url-2))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list libxml2 openssl))
    (home-page "https://gitlab.com/news-flash/article_scraper")
    (synopsis "Scrap article contents from the web")
    (description "This package provides a crate to scrap article contents from
the web.")
    ;; No copyright headers in the source code.  LICENSE indicates gpl3.
    (license license:gpl3)))

(define-public rust-as-derive-utils-0.11
  (package
    (name "rust-as-derive-utils")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "as_derive_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i2kwzxdhydicj9bqscz5w73nmx612yi3ha137qlr900b5j9cg7z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Only doc tests, which fail.
       #:cargo-inputs (("rust-aho-corasick" ,rust-aho-corasick-0.7)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-core-extensions" ,rust-core-extensions-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-ron" ,rust-ron-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rodrimati1992/abi_stable_crates/")
    (synopsis "Private derive utilities used by abi_stable and structural")
    (description "This package contains private derive utilities used by
the abi_stable and structural crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-as-derive-utils-0.10
  (package
    (inherit rust-as-derive-utils-0.11)
    (name "rust-as-derive-utils")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "as_derive_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16qxh5q7gn6vnzk20g7vaj76f4dd74zkn66fv638ryyfjnj6z8p0"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (((string-append ">=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+),"
                                   " <([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)")
                    _ version _)
                   (string-append ">=" version)))))))
    (arguments
     `(#:tests? #f              ; Only doc tests, which fail.
       #:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-core-extensions" ,rust-core-extensions-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-ron" ,rust-ron-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-as-derive-utils-0.8
  (package
    (inherit rust-as-derive-utils-0.10)
    (name "rust-as-derive-utils")
    (version "0.8.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "as_derive_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rjmbasb2spxdmm47kzw2zmr8icbdrcr0wa9kyn7lim5c0idh69b"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-core-extensions" ,rust-core-extensions-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-ron" ,rust-ron-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-as-raw-xcb-connection-1
  (package
    (name "rust-as-raw-xcb-connection")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "as-raw-xcb-connection" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1am99fbsp5f5vnbvr0qnjma36q49c9zvdbn0czwwvian18mk2prd"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/psychon/as-raw-xcb-connection")
    (synopsis "Trait to facilitate interoperatibility with libxcb C API")
    (description "This package provides trait to facilitate interoperatibility
with @code{libxcb} C API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-as-slice-0.2
  (package
    (name "rust-as-slice")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "as-slice" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05j52y1ws8kir5zjxnl48ann0if79sb56p9nm76hvma01r7nnssi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/japaric/as-slice")
    (synopsis "AsSlice and AsMutSlice traits")
    (description "This package provides @code{AsSlice} and @code{AsMutSlice}
traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-as-slice-0.1
  (package
    (inherit rust-as-slice-0.2)
    (name "rust-as-slice")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "as-slice" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1q3a9494ikaq38zjg5px5gwwrbdgnyj23b505224njlmwd4knh25"))))
    (arguments
     `(#:cargo-inputs
       (("rust-generic-array-0.14" ,rust-generic-array-0.14)
        ("rust-generic-array-0.13" ,rust-generic-array-0.13)
        ("rust-generic-array-0.12" ,rust-generic-array-0.12)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))

(define-public rust-as-variant-1
  (package
    (name "rust-as-variant")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "as_variant" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13vryhfcslf50f8j1msnxg5689bzwz56z45dgzxqd7r40wis53zk"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/jplatte/as_variant")
    (synopsis "Macro to convert enums with newtype variants to Option")
    (description
     "This package provides a simple macro to convert enums with newtype
variants to `Option`s.")
    (license license:mpl2.0)))

(define-public rust-ascii-1
  (package
    (name "rust-ascii")
    (version "1.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ascii" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "05nyyp39x4wzc1959kv7ckwqpkdzjd9dw4slzyjh73qbhjcfqayr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/tomprogrammer/rust-ascii")
    (synopsis "ASCII-only equivalents to `char`, `str` and `String`")
    (description
     "A rust library that provides ASCII-only string and character types,
equivalent to the @code{char}, @code{str} and @code{String} types in the
standard library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ascii-0.9
  (package
    (inherit rust-ascii-1)
    (name "rust-ascii")
    (version "0.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ascii" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0km3zzkhrr22drf9p1zcblqirlxkdc7zra25acpi0h8qax5c1cga"))))
    (arguments
     `(#:tests? #f      ; Not all tests build.
       #:cargo-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-ascii-0.8
  (package
    (inherit rust-ascii-1)
    (name "rust-ascii")
    (version "0.8.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ascii" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "051gh2bgjq90s0f0i0hd9p4z4fpg5k82b570d1223jj7rhd8kglp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=src/ascii_char.rs - ascii_char::AsciiChar::from (line 296)"
         "--skip=src/ascii_string.rs - ascii_string::AsciiString::pop (line 259)")
       #:cargo-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.4))))))

(define-public rust-ascii-utils-0.9
  (package
    (name "rust-ascii-utils")
    (version "0.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ascii_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jpp550pwi38msflpy7lnqm2r153kn9k19bss6k9ak9yacq8z4vi"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/tredoe/ascii_utils")
    (synopsis "Utilities to handle ASCII characters")
    (description
     "This library provides utilities to handle ASCII characters.")
    (license license:mpl2.0)))

(define-public rust-assert-0.7
  (package
    (name "rust-assert")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fxwnw8ypr6i6bxsy4ggzpjb70aysl044nfzyl3q8kyyv25zqisn"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/stainless-steel/assert")
    (synopsis "Assertions for testing")
    (description "This package provides assertions for testing.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-assert-approx-eq-1
  (package
    (name "rust-assert-approx-eq")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_approx_eq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zagfwfad5wssmr830gk3489f97ppczv6xs627jxniwm6ssdl1rw"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ashleygwilliams/assert_approx_eq")
    (synopsis "Assert approximately equal")
    (description
     "This package provides a Rust macro for asserting two numbers are
approximately equal.")
    ;; Either license can be chosen at the users option.
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-cli-0.6
  (package
    (name "rust-assert-cli")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_cli" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jc1bh3cvnl66bl7s5gr1xnm0hl8d2l3gmil0pmhp5v2xp0bg6m2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;; requires `printenv`, but installing coreutils doesn't help
       #:cargo-inputs
       (("rust-colored" ,rust-colored-1)
        ("rust-difference" ,rust-difference-2)
        ("rust-environment" ,rust-environment-0.1)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-failure-derive" ,rust-failure-derive-0.1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-docmatic" ,rust-docmatic-0.1))))
    (home-page "https://github.com/assert-rs/assert_cli")
    (synopsis "Test CLI Applications")
    (description "This package helps testing CLI Applications.")
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-cmd-2
  (package
    (name "rust-assert-cmd")
    (version "2.0.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_cmd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gdj0710k3lnvyjmpv8a4dgwrk9ib85l2wfw4n2xwy3qyavka66w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.6)
        ("rust-anstyle" ,rust-anstyle-1)
        ("rust-bstr" ,rust-bstr-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-predicates" ,rust-predicates-3)
        ("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-predicates-tree" ,rust-predicates-tree-1)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2))
       #:cargo-development-inputs
       (("rust-automod" ,rust-automod-1)
        ("rust-escargot" ,rust-escargot-0.5))))
    (home-page "https://github.com/assert-rs/assert_cmd")
    (synopsis "Test CLI Applications")
    (description "@code{assert_cmd} aims to simplify the process for doing
integration testing of CLIs, including finding your crate's binary to test and
assertions on the result of your program's run.")
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-cmd-1
  (package
    (inherit rust-assert-cmd-2)
    (name "rust-assert-cmd")
    (version "1.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_cmd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zhz7bgzsmwc50bknw658q6i0lcwk67v6zp74fmh31ixcz3370n9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bstr" ,rust-bstr-0.2)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-predicates" ,rust-predicates-2)
        ("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-predicates-tree" ,rust-predicates-tree-1)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2))
       #:cargo-development-inputs
       (("rust-escargot" ,rust-escargot-0.5))))))

(define-public rust-assert-float-eq-1
  (package
    (name "rust-assert-float-eq")
    (version "1.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_float_eq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xryhlk2p012y109048c5jj5f448cv0b86ylkjgg5v7dzcpnbsjc"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/AlexHuszagh/assert_float_eq")
    (synopsis "Assertions for floating-point equality")
    (description "This package provides assertions for floating-point equality.")
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-fs-1
  (package
    (name "rust-assert-fs")
    (version "1.0.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_fs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j2vhxyb12ng6knln2bckywp5yqqxqhdd3gf0rfyvhp5d1x62w7h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=assert::test::into_path_from_bytes"
         "--skip=assert::test::into_path_from_str")
       #:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.3)
        ("rust-anstyle" ,rust-anstyle-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-globwalk" ,rust-globwalk-0.8)
        ("rust-predicates" ,rust-predicates-3)
        ("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-predicates-tree" ,rust-predicates-tree-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/assert-rs/assert_fs")
    (synopsis "Filesystem fixtures and assertions for testing")
    (description
     "This crate provides file system fixtures and assertions for testing.")
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-impl-0.1
  (package
    (name "rust-assert-impl")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "assert-impl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "17jvig9rwdc1sf1j5q8q9k69njg3k8g7x7g6wcb711hcvq9l6in3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/upsuper/assert-impl")
    (synopsis "Macro for static assert types implement a trait or not")
    (description "Macro for static assert types implement a trait or not")
    (license license:expat)))

(define-public rust-assert-json-diff-2
  (package
    (name "rust-assert-json-diff")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert-json-diff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04mg3w0rh3schpla51l18362hsirl23q93aisws2irrj32wg5r27"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-version-sync" ,rust-version-sync-0.8))))
    (home-page "https://github.com/davidpdrsn/assert-json-diff")
    (synopsis "Easily compare two JSON values and get great output")
    (description "This package lets you easily compare two JSON values
and get great output.")
    (license license:expat)))

(define-public rust-assert-matches-1
  (package
    (name "rust-assert-matches")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_matches" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1a9b3p9vy0msylyr2022sk5flid37ini1dxji5l3vwxsvw4xcd4v"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/murarth/assert_matches")
    (synopsis "Asserts that a value matches a pattern")
    (description
     "This package asserts that a value matches a pattern in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-assert-matches2-0.1
  (package
    (name "rust-assert-matches2")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert_matches2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mnz1wgz1s2s1985h44mdhy2m7615jjyr9pzq359injqqja2v0qm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://codeberg.org/jplatte/assert_matches2")
    (synopsis
     "Assert_matches! macro that brings variables from the pattern into scope")
    (description
     "This package provides a version of the assert_matches! macro that brings
variables from the pattern into scope.")
    (license license:mpl2.0)))

(define-public rust-assert2-0.3
  (package
    (name "rust-assert2")
    (version "0.3.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15cfdn5sl8ls6234pv2ysflw2xcxh8j1ypjlif7wnva0hc8qvyga"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-assert2-macros" ,rust-assert2-macros-0.3)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-yansi" ,rust-yansi-0.5))))
    (home-page "https://github.com/de-vri-es/assert2-rs")
    (synopsis "Macros inspired by Catch2")
    (description "This package provides assert!(...) and check!(...) macros
inspired by Catch2.")
    (license license:bsd-2)))

(define-public rust-assert2-macros-0.3
  (package
    (name "rust-assert2-macros")
    (version "0.3.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "assert2-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dcjbac962smxr6pmnsd6mdglh6any36ifshqzqzi4ppwvrvsmbc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/de-vri-es/assert2-rs")
    (synopsis "Procedural macros for assert2")
    (description "This package provides procedural macros for assert2.")
    (license license:bsd-2)))

(define-public rust-associative-cache-2
  (package
    (name "rust-associative-cache")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "associative-cache" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b9bgf19c27sdch6c4x2qyf34i1cl8f328knv1yk1irbg9vcv4xr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/fitzgen/associative-cache")
    (synopsis "Associative cache with fixed-size capacity")
    (description
     "This package provides a generic N-way associative cache with fixed-size
capacity and random or least recently used (LRU) replacement.")
    (license (list license:expat license:asl2.0))))

(define-public rust-associative-cache-1
  (package
    (inherit rust-associative-cache-2)
    (name "rust-associative-cache")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "associative-cache" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05lg0mwpqfqb9zh958x0358x1k5ngmmmbzjnp0imrd8vzhrn40a6"))))
    (arguments
     ;; 2 doctests fail because rand is not declared
     `(#:tests? #false
       #:cargo-inputs (("rust-rand" ,rust-rand-0.7))))))

(define-public rust-async-attributes-1
  (package
    (name "rust-async-attributes")
    (version "1.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-attributes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rcnypqgmlcw9vwh0fk8bivvz8p5v8acy0zd2njdv6yxyiwkw853"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-0.99))))
    (home-page "https://github.com/async-rs/async-attributes")
    (synopsis "Experimental language-level polyfills for Async Rust")
    (description
     "This package provides experimental language-level polyfills for Async
Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-broadcast-0.7
  (package
    (name "rust-async-broadcast")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-broadcast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zia7z1y31awmxma9c89zmvkbj7mdkf7highkmz5z3pa4lp0xk90"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-5)
                       ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.5)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-easy-parallel" ,rust-easy-parallel-3)
                                   ("rust-futures-lite" ,rust-futures-lite-1)
                                   ("rust-futures-util" ,rust-futures-util-0.3))))
    (home-page "https://github.com/smol-rs/async-broadcast")
    (synopsis "Async broadcast channels")
    (description "This package provides async broadcast channels in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-broadcast-0.6
  (package
    (inherit rust-async-broadcast-0.7)
    (name "rust-async-broadcast")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-broadcast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d1xk2pr5khk1radkbaf7pp7pbjkb18m43n2rgkfsfxk177pak9k"))))
    (arguments
     `(#:cargo-inputs
       (("rust-event-listener" ,rust-event-listener-3)
        ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.1)
        ("rust-futures-core" ,rust-futures-core-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-easy-parallel" ,rust-easy-parallel-3)
                                   ("rust-futures-lite" ,rust-futures-lite-1)
                                   ("rust-futures-util" ,rust-futures-util-0.3))))))

(define-public rust-async-broadcast-0.5
  (package
    (inherit rust-async-broadcast-0.6)
    (name "rust-async-broadcast")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "async-broadcast" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0avdqbci1qdlfc4glc3wqrb0wi5ffc7bqv2q1wg14syayvdwqj3w"))))
    (arguments
     `(#:cargo-inputs
       (("rust-event-listener" ,rust-event-listener-2)
        ("rust-futures-core" ,rust-futures-core-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-futures-lite" ,rust-futures-lite-1)
        ("rust-futures-util" ,rust-futures-util-0.3))))))

(define-public rust-async-channel-2
  (package
    (name "rust-async-channel")
    (version "2.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-channel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0skvwxj6ysfc6d7bhczz9a2550260g62bm5gl0nmjxxyn007id49"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs
       (("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/smol-rs/async-channel")
    (synopsis "Async multi-producer multi-consumer channel")
    (description "This package provides async multi-producer
multi-consumer channels.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-channel-1
  (package
    (inherit rust-async-channel-2)
    (name "rust-async-channel")
    (version "1.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-channel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dbdlkzlncbibd3ij6y6jmvjd0cmdn48ydcfdpfhw09njd93r5c1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-event-listener" ,rust-event-listener-2)
        ("rust-futures-core" ,rust-futures-core-0.3))
       #:cargo-development-inputs
       (("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-futures-lite" ,rust-futures-lite-1))))))

(define-public rust-async-compat-0.2
  (package
    (name "rust-async-compat")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-compat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h4gqla7s8wczivqskbxg7nl3qj0svd6yf9fjssgg8wnwfyr9avv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-io" ,rust-futures-io-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-blocking" ,rust-blocking-1)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-reqwest" ,rust-reqwest-0.12)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-warp" ,rust-warp-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list openssl))
    (home-page "https://github.com/smol-rs/async-compat")
    (synopsis "Compatibility adapter between tokio and futures")
    (description
     "This package provides compatibility adapter between tokio and futures.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-compression-0.4
  (package
    (name "rust-async-compression")
    (version "0.4.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-compression" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08pmavgjha81hf1acwxka82vi0r711whnp5lyha68r3hbx8mm2fz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-brotli" ,rust-brotli-7)
                       ("rust-bzip2" ,rust-bzip2-0.4)
                       ("rust-deflate64" ,rust-deflate64-0.1)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-io" ,rust-futures-io-0.3)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-xz2" ,rust-xz2-0.1)
                       ("rust-zstd" ,rust-zstd-0.13)
                       ("rust-zstd-safe" ,rust-zstd-safe-7))
       #:cargo-development-inputs (("rust-bytes" ,rust-bytes-1)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-futures-test" ,rust-futures-test-0.3)
                                   ("rust-ntest" ,rust-ntest-0.9)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-proptest-derive" ,rust-proptest-derive-0.5)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-tokio-util" ,rust-tokio-util-0.7))))
    (home-page "https://github.com/Nullus157/async-compression")
    (synopsis
     "Adaptors between compression crates and Rust's modern asynchronous IO types")
    (description "This package provides adaptors between compression crates
and Rust's modern asynchronous IO types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-compression-0.3
  (package
    (inherit rust-async-compression-0.4)
    (name "rust-async-compression")
    (version "0.3.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-compression" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0fnnpbsljngmrj8amhw6yg164bl6x4r43mr093g1ps9rmvbpqb4l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-brotli" ,rust-brotli-3)
        ("rust-bytes" ,rust-bytes-0.5)
        ("rust-bzip2" ,rust-bzip2-0.4)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio" ,rust-tokio-0.3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-xz2" ,rust-xz2-0.1)
        ("rust-zstd" ,rust-zstd-0.11)
        ("rust-zstd-safe" ,rust-zstd-safe-5))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-bytes" ,rust-bytes-0.6)
        ("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-test" ,rust-futures-test-0.3)
        ("rust-ntest" ,rust-ntest-0.8)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-proptest-derive" ,rust-proptest-derive-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio" ,rust-tokio-0.3)
        ("rust-tokio-util" ,rust-tokio-util-0.6)
        ("rust-tokio-util" ,rust-tokio-util-0.5)
        ("rust-tokio-util" ,rust-tokio-util-0.4)
        ("rust-tokio-util" ,rust-tokio-util-0.3))))))

(define-public rust-async-datagram-3
  (package
    (name "rust-async-datagram")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-datagram" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k4kiy67d24ay8l7xrfjpsa4zkmhxv97ddj0f16rcv61qkky3i4f"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rustasync/async-datagram")
    (synopsis "Async datagram traits")
    (description "This package provides asynchronous datagram traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-dup-1
  (package
    (name "rust-async-dup")
    (version "1.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-dup" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0484raf2r5lj97b8skkric9ysivrp3bns0gcg67h7x9sasmqca3w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-lock" ,rust-async-lock-3)
        ("rust-futures-io" ,rust-futures-io-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-smol" ,rust-smol-0.1))))
    (home-page "https://github.com/stjepang/async-dup")
    (synopsis "Duplicate an async I/O handle")
    (description
     "This crate provides two tools, Arc and Mutex.  Arc implements
AsyncRead, AsyncWrite, and AsyncSeek if a reference to the inner type
does.  A reference to Mutex implements AsyncRead, AsyncWrite, and
AsyncSeek if the inner type does.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-executor-1
  (package
    (name "rust-async-executor")
    (version "1.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-executor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v6w1dbvsmw6cs4dk4lxj5dvrikc6xi479wikwaab2qy3h09mjih"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-task" ,rust-async-task-4)
        ("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-slab" ,rust-slab-0.4))
       #:cargo-development-inputs
       (("rust-async-channel" ,rust-async-channel-2)
        ("rust-async-io" ,rust-async-io-2)
        ("rust-async-lock" ,rust-async-lock-3)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/stjepang/async-executor")
    (synopsis "Async executor")
    (description "This library provides async executors.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-fs-2
  (package
    (name "rust-async-fs")
    (version "2.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-fs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jp0p7lg9zqy2djgdmivbzx0yqmfn9sm2s9dkhaws3zlharhkkgb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-lock" ,rust-async-lock-3)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-futures-lite" ,rust-futures-lite-2))
       #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2)
                                   ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/smol-rs/async-fs")
    (synopsis "Async filesystem primitives")
    (description "This package provides async filesystem primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-fs-1
  (package
    (inherit rust-async-fs-2)
    (name "rust-async-fs")
    (version "1.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-fs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01if2h77mry9cnm91ql2md595108i2c1bfy9gaivzvjfcl2gk717"))))
    (arguments
     `(#:cargo-inputs (("rust-async-lock" ,rust-async-lock-2)
                       ("rust-autocfg" ,rust-autocfg-1)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-futures-lite" ,rust-futures-lite-1))
       #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2)
                                   ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-async-generic-1
  (package
    (name "rust-async-generic")
    (version "1.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-generic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wqnsinxaw6cj6wfbrj96qfrbc1gfgsm95qm6cw8gypfcs2p5wyx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-async-trait" ,rust-async-trait-0.1))))
    (home-page "https://github.com/scouten/async-generic")
    (synopsis "Code that can be both async and synchronous without duplicating it")
    (description
     "This package provides a way to write code that can be both async and
synchronous without duplicating it.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-global-executor-2
  (package
    (name "rust-async-global-executor")
    (version "2.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-global-executor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1762s45cc134d38rrv0hyp41hv4iv6nmx59vswid2p0il8rvdc85"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs (list rust-async-channel-2
                                rust-async-executor-1
                                rust-async-io-2
                                rust-async-lock-3
                                rust-blocking-1
                                rust-futures-lite-2
                                rust-once-cell-1
                                rust-tokio-1
                                rust-tokio-0.2
                                rust-tokio-0.3)
           #:cargo-development-inputs (list rust-doc-comment-0.3)))
    (home-page "https://github.com/async-rs/async-global-executor")
    (synopsis "Global executor built on top of @code{async-executor} and
@code{async-io}")
    (description
     "This package provides a global executor built on top of
@code{async-executor} and @code{async-io}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-io-2
  (package
    (name "rust-async-io")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n8h0vy53n4vdkq529scqnkzm9vcl3r73za9nj81s2nfrhiv78j3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-lock" ,rust-async-lock-3)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-concurrent-queue" ,rust-concurrent-queue-2)
                       ("rust-futures-io" ,rust-futures-io-0.3)
                       ("rust-futures-lite" ,rust-futures-lite-2)
                       ("rust-parking" ,rust-parking-2)
                       ("rust-polling" ,rust-polling-3)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-slab" ,rust-slab-0.4)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs (("rust-async-channel" ,rust-async-channel-2)
                                   ("rust-async-net" ,rust-async-net-2)
                                   ("rust-blocking" ,rust-blocking-1)
                                   ("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-getrandom" ,rust-getrandom-0.2)
                                   ("rust-inotify" ,rust-inotify-0.11)
                                   ("rust-signal-hook" ,rust-signal-hook-0.3)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-timerfd" ,rust-timerfd-1)
                                   ("rust-uds-windows" ,rust-uds-windows-1))))
    (home-page "https://github.com/smol-rs/async-io")
    (synopsis "Async I/O and timers")
    (description
     "This crate provides two tools: Async, an adapter for standard
networking types (and many other types) to use in async programs, and
Timer, a future that expires at a point in time.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-io-1
  (package
    (inherit rust-async-io-2)
    (name "rust-async-io")
    (version "1.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1byj7lpw0ahk6k63sbc9859v68f28hpaab41dxsjj1ggjdfv9i8g"))))
    (arguments
     `(#:cargo-inputs
       (("rust-async-lock" ,rust-async-lock-2)
        ("rust-autocfg" ,rust-autocfg-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-futures-lite" ,rust-futures-lite-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking" ,rust-parking-2)
        ("rust-polling" ,rust-polling-2)
        ("rust-rustix" ,rust-rustix-0.37)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-socket2" ,rust-socket2-0.4)
        ("rust-waker-fn" ,rust-waker-fn-1))
       #:cargo-development-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-async-net" ,rust-async-net-1)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-criterion" ,rust-criterion-0.4)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-inotify" ,rust-inotify-0.10)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-timerfd" ,rust-timerfd-1)
        ("rust-uds-windows" ,rust-uds-windows-1))))))

(define-public rust-async-lock-3
  (package
    (name "rust-async-lock")
    (version "3.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-lock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "060vh45i809wcqyxzs5g69nqiqah7ydz0hpkcjys9258vqn4fvpz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-event-listener" ,rust-event-listener-5)
        ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.5)
        ("rust-loom" ,rust-loom-0.7)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs
       (("rust-fastrand" ,rust-fastrand-2)
        ("rust-flume" ,rust-flume-0.11)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-waker-fn" ,rust-waker-fn-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/smol-rs/async-lock")
    (synopsis "Async synchronization primitives")
    (description "This package provides async synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-lock-2
  (package
    (inherit rust-async-lock-3)
    (name "rust-async-lock")
    (version "2.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-lock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0asq5xdzgp3d5m82y5rg7a0k9q0g95jy6mgc7ivl334x7qlp4wi8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-event-listener" ,rust-event-listener-2))
       #:cargo-development-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-futures-lite" ,rust-futures-lite-1)
        ("rust-waker-fn" ,rust-waker-fn-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-async-log-1
  (package
    (name "rust-async-log")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-log" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16ymra7f8169br9ss9m9n4l6rjcav9ns6r9mv4nr4r9i9wq37fpm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-log-attributes" ,rust-async-log-attributes-1)
        ("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/async-rs/async-log")
    (synopsis "Async tracing capabilities for the @code{log} crate")
    (description
     "This crate provides extension types and hooks to @code{log} to enable
asynchronous logging.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-log-attributes-1
  (package
    (name "rust-async-log-attributes")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-log-attributes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b9nysb5yxf772cinl5rsyhl2zazj2qfhbckv1kjz9qr3gkgi5ys"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))
    (home-page "https://github.com/rustasync/runtime")
    (synopsis
     "Proc Macro attributes for the async-log crate")
    (description
     "This package provides proc macro attributes for the @code{async-log}
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-macros-1
  (package
    (name "rust-async-macros")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fib4wxiym9f045xqb8a2gyfa8yym3hb62g4jqjfmzn14jdxa8g4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false
       #:cargo-inputs
       (("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-pin-utils" ,rust-pin-utils-0.1))
       #:cargo-development-inputs
       (("rust-futures-preview" ,rust-futures-preview-0.3))))
    (home-page "https://github.com/async-rs/async-macros")
    (synopsis "Macros for async-std")
    (description "Macros for async-std.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-net-2
  (package
    (name "rust-async-net")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-net" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xyc5a5vcp3a7h1q2lbfh79wz8136dig4q4x6g4w2ws8ml7h0j5r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-io" ,rust-async-io-2)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-futures-lite" ,rust-futures-lite-2))))
    (home-page "https://github.com/smol-rs/async-net")
    (synopsis "Async networking primitives for TCP/UDP/Unix communication")
    (description "This package provides async networking primitives for
TCP/UDP/Unix communication.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-net-1
  (package
    (inherit rust-async-net-2)
    (name "rust-async-net")
    (version "1.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-net" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0by1m21ciwq6kvd8jplb0mqr9yh17zil1icakdvga76f33nv2d04"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-io" ,rust-async-io-1)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-futures-lite" ,rust-futures-lite-1))))))

(define-public rust-async-object-pool-0.1
  (package
    (name "rust-async-object-pool")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-object-pool" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b3546r13bdhcigbfbmpihh8gxxpad165cp80h3dbwn3jxmlag1k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1))))
    (home-page "https://github.com/alexliesenfeld/async-object-pool")
    (synopsis
     "Object pool implementation that using asynchronous synchronization primitives")
    (description
     "This package provides a simple object pool implementation that uses only
asynchronous synchronization primitives.")
    (license license:expat)))

(define-public rust-async-once-cell-0.5
  (package
    (name "rust-async-once-cell")
    (version "0.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-once-cell" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0np3zj2yvk20ha4rk7sf8s0rngywhcykl1zgyb36flkq4qvzi222"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-critical-section" ,rust-critical-section-1))))
    (home-page "https://github.com/danieldg/async-once-cell")
    (synopsis "Async single assignment cells and lazy values")
    (description "This package provides async single assignment cells
and lazy values.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-pidfd-0.1
  (package
    (name "rust-async-pidfd")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-pidfd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "168pylpf7n898szw32sva7kf9h3x1mnip54mfr8f7f4v55c705qj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs (("rust-async-io" ,rust-async-io-1)
                       ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-futures-lite" ,rust-futures-lite-1))))
    (home-page "https://github.com/joshtriplett/async-pidfd")
    (synopsis "Process file descriptors (pidfd) for Linux")
    (description
      "@code{async-pidfd} provides Rust support for pidfd, and supports
managing processes both synchronously (via the PidFd type) and
asynchronously (via the AsyncPidFd type).")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-priority-channel-0.1
  (package
    (name "rust-async-priority-channel")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-priority-channel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h36m0avgs86pgh286xkvbnhdhb8bxgsnlxwwazvw88v5scph5n2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-2))
       #:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rmcgibbo/async-priority-channel")
    (synopsis "Async channel with message delivery by priority")
    (description
     "This package provides an async channel where pending messages are
delivered in order of priority.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-process-2
  (package
    (name "rust-async-process")
    (version "2.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-process" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fr6cpqdw7hrmzns1983lgx86cg8vyz7nlrn0h0125iqq8fmy9b3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=set_current_dir_works" ; assertion failed: p.is_ok()
         ;; No such file or directory
         "--skip=signal_reported_right"
         "--skip=stdin_works"
         "--skip=test_spawn_multiple_with_stdio")
       #:cargo-inputs (("rust-async-channel" ,rust-async-channel-2)
                       ("rust-async-io" ,rust-async-io-2)
                       ("rust-async-lock" ,rust-async-lock-3)
                       ("rust-async-signal" ,rust-async-signal-0.2)
                       ("rust-async-task" ,rust-async-task-4)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-event-listener" ,rust-event-listener-5)
                       ("rust-futures-lite" ,rust-futures-lite-2)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs (("rust-async-io" ,rust-async-io-1))))
    (home-page "https://github.com/smol-rs/async-process")
    (synopsis "Async interface for working with processes")
    (description
     "This crate is an async version of @code{std::process}.  A background
thread named @code{async-process} is lazily created on first use, which waits
for spawned child processes to exit and then calls the @code{wait()} syscall
to clean up the ``zombie'' processes.

This is unlike the process API in the standard library, where dropping
a running Child leaks its resources.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-process-1
  (package
    (inherit rust-async-process-2)
    (name "rust-async-process")
    (version "1.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-process" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "126s968lvhg9rlwsnxp7wfzkfn7rl87p0dlvqqlibn081ax3hr7a"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=set_current_dir_works" ; assertion failed: p.is_ok()
         ;; No such file or directory
         "--skip=signal_reported_right"
         "--skip=stdin_works"
         "--skip=test_spawn_multiple_with_stdio")
       #:cargo-inputs (("rust-async-io" ,rust-async-io-1)
                       ("rust-async-lock" ,rust-async-lock-2)
                       ("rust-async-signal" ,rust-async-signal-0.2)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-event-listener" ,rust-event-listener-3)
                       ("rust-futures-lite" ,rust-futures-lite-1)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs (("rust-async-io" ,rust-async-io-1))))))

(define-public rust-async-ready-3
  (package
    (name "rust-async-ready")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-ready" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09xw34q0k48r1bvs3s1l2a1mglz98l7zjbkdcy861k8zsyfwfw4l"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/rustasync/async-ready")
    (synopsis "Async readiness traits")
    (description
     "This package provides Async readiness traits.  Those can be useful when
implementing async state machines that can later be wrapped in dedicated
futures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-recursion-1
  (package
    (name "rust-async-recursion")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "async-recursion" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "04ac4zh8qz2xjc79lmfi4jlqj5f92xjvfaqvbzwkizyqd4pl4hrv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; TODO: Tests unexpectedly pass.
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-macrotest" ,rust-macrotest-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dcchut/async-recursion")
    (synopsis "Recursion for async functions")
    (description "This package provides recursion for async functions in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-session-3
  (package
    (name "rust-async-session")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-session" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c76vazdlcs2rsxq8gd8a6wnb913vxhnfx1hyfmfpqml4gjlrnh7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-async-lock" ,rust-async-lock-2)
                       ("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-base64" ,rust-base64-0.13)
                       ("rust-bincode" ,rust-bincode-1)
                       ("rust-blake3" ,rust-blake3-0.3)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-hmac" ,rust-hmac-0.11)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-sha2" ,rust-sha2-0.9))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1))))
    (home-page "https://github.com/http-rs/async-session")
    (synopsis "Async session support with pluggable middleware")
    (description "Async session support with pluggable middleware.")
    (license (list license:expat license:asl2.0))))

(define-public rust-async-signal-0.2
  (package
    (name "rust-async-signal")
    (version "0.2.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-signal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wxrq3871l00mil43nmh0akvwjjjnv0bn7n2pzwbvh00k0s00zk3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-io" ,rust-async-io-2)
        ("rust-async-lock" ,rust-async-lock-3)
        ("rust-atomic-waker" ,rust-atomic-waker-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-rustix" ,rust-rustix-0.38)
        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs
       (("rust-async-io" ,rust-async-io-2)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-signal-hook" ,rust-signal-hook-0.3))))
    (home-page "https://github.com/smol-rs/async-signal")
    (synopsis "Async signal handling")
    (description "This package provides async signal handling.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-std-1
  (package
    (name "rust-async-std")
    (version "1.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "059nbiyijwbndyrz0050skvlvzhds0dmnl0biwmxwbw055glfd66"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-test-flags
           `(list "--" "--skip=io_timeout_timedout")
           #:cargo-inputs
           `(("rust-async-attributes" ,rust-async-attributes-1)
             ("rust-async-channel" ,rust-async-channel-1)
             ("rust-async-global-executor" ,rust-async-global-executor-2)
             ("rust-async-io" ,rust-async-io-2)
             ("rust-async-lock" ,rust-async-lock-3)
             ("rust-async-process" ,rust-async-process-2)
             ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
             ("rust-futures-channel" ,rust-futures-channel-0.3)
             ("rust-futures-core" ,rust-futures-core-0.3)
             ("rust-futures-io" ,rust-futures-io-0.3)
             ("rust-futures-lite" ,rust-futures-lite-2)
             ("rust-gloo-timers" ,rust-gloo-timers-0.3)
             ("rust-kv-log-macro" ,rust-kv-log-macro-1)
             ("rust-log" ,rust-log-0.4)
             ("rust-memchr" ,rust-memchr-2)
             ("rust-once-cell" ,rust-once-cell-1)
             ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
             ("rust-pin-utils" ,rust-pin-utils-0.1)
             ("rust-slab" ,rust-slab-0.4)
             ("rust-surf" ,rust-surf-2)
             ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))
           #:cargo-development-inputs
           `(("rust-femme" ,rust-femme-2)
             ("rust-futures" ,rust-futures-0.3)
             ("rust-getrandom" ,rust-getrandom-0.2)
             ("rust-rand" ,rust-rand-0.8)
             ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
             ("rust-tempfile" ,rust-tempfile-3)
             ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://async.rs")
    (synopsis "Async version of the Rust standard library")
    (description
     "This crate provides an async version of @code{std}.  It provides all the
interfaces you are used to, but in an async version and ready for Rust's
@code{async/await} syntax.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-std-0.99
  (package
    (inherit rust-async-std-1)
    (name "rust-async-std")
    (version "0.99.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k34181r1xzalyf7alka0ibnbqll6s5l435ycydm7fv1g6gill24"))))
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=io_timeout_timedout"
                            "--skip=src/stream/mod.rs - stream (line 36)")
       #:cargo-inputs
       (("rust-async-attributes" ,rust-async-attributes-1)
        ("rust-async-macros" ,rust-async-macros-1)
        ("rust-async-task" ,rust-async-task-1)
        ("rust-broadcaster" ,rust-broadcaster-0.2)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-timer" ,rust-futures-timer-1)
        ("rust-kv-log-macro" ,rust-kv-log-macro-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
        ("rust-pin-utils" ,rust-pin-utils-0.1)
        ("rust-slab" ,rust-slab-0.4))
       #:cargo-development-inputs
       (("rust-femme" ,rust-femme-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-async-stream-0.3
  (package
    (name "rust-async-stream")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-stream" version))
       (file-name (string-append name "-" version ".tar.gz"))
       ;; I have no idea why tokio-test is missing, I filed:
       ;;   https://github.com/tokio-rs/async-stream/issues/102
       (modules '((guix build utils)))
       (snippet
        '(substitute* "Cargo.toml"
           (("^\\[dev-dependencies.trybuild]")
            "[dev-dependencies.tokio-test]
version = \"0.4\"

[dev-dependencies.trybuild]")))
       (sha256
        (base32 "0xl4zqncrdmw2g6241wgr11dxdg4h7byy6bz3l6si03qyfk72nhb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=test")
       #:cargo-inputs
       (("rust-async-stream-impl" ,rust-async-stream-impl-0.3)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/tokio-rs/async-stream")
    (synopsis "Asynchronous streams using async & await notation")
    (description
     "This package provides asynchronous streams using async & await
notation.")
    (license license:expat)))

(define-public rust-async-stream-impl-0.3
  (package
    (name "rust-async-stream-impl")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-stream-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kaplfb5axsvf1gfs2gk6c4zx6zcsns0yf3ssk7iwni7bphlvhn7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/tokio-rs/async-stream")
    (synopsis "Proc macros for async-stream crate")
    (description
     "This package provides proc macros for @code{rust-async-stream}
crate.")
    (license license:expat)))

(define-public rust-async-task-4
  (package
    (name "rust-async-task")
    (version "4.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-task" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pp3avr4ri2nbh7s6y9ws0397nkx1zymmcr14sq761ljarh3axcb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-portable-atomic" ,rust-portable-atomic-1))
       #:cargo-development-inputs
       (("rust-atomic-waker" ,rust-atomic-waker-1)
        ("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-flaky-test" ,rust-flaky-test-0.2)
        ("rust-flume" ,rust-flume-0.11)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-smol" ,rust-smol-2))))
    (home-page "https://github.com/stjepang/async-task")
    (synopsis "Task abstraction for building executors")
    (description
     "This package provides a task abstraction for building executors.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-async-task-3
  (package
    (inherit rust-async-task-4)
    (name "rust-async-task")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-task" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lrm7cm9dpashmkbqa8mvglbf85gadviqil7qnnrm0pjdqap4xy1"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-crossbeam" ,rust-crossbeam-0.7)
        ("rust-futures" ,rust-futures-0.3))))))

(define-public rust-async-task-1
  (package
    (inherit rust-async-task-4)
    (name "rust-async-task")
    (version "1.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-task" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p88087z43zvv924my16a17qd65kdlv1r59h80h73rvrn0bc1hha"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-crossbeam" ,rust-crossbeam-0.7)
        ("rust-futures" ,rust-futures-0.3))))))

(define-public rust-async-trait-0.1
  (package
    (name "rust-async-trait")
    (version "0.1.83")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "async-trait" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1p8q8gm4fv2fdka8hwy2w3f8df7p5inixqi7rlmbnky3wmysw73j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-attributes" ,rust-tracing-attributes-0.1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/async-trait")
    (synopsis "Type erasure for async trait methods")
    (description "This package provides type erasure for async trait
methods.")
    (license (list license:expat license:asl2.0))))

(define-public rust-atoi-2
  (package
    (name "rust-atoi")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atoi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a05h42fggmy7h0ajjv6m7z72l924i7igbx13hk9d8pyign9k3gj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4))))
    (home-page "https://github.com/pacman82/atoi-rs")
    (synopsis "Parse integers directly from `[u8]` slices in safe code")
    (description "Parse integers directly from `[u8]` slices in safe code.")
    (license license:expat)))

(define-public rust-atoi-1
  (package
    (inherit rust-atoi-2)
    (name "rust-atoi")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atoi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13mycnr954w17lcvvbpzr4rmhl1h13cg8hq63j0rrx9g6497vifp"))))
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))))

(define-public rust-atoi-simd-0.15
  (package
    (name "rust-atoi-simd")
    (version "0.15.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atoi_simd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a98kvaqyhb1shi2c6qhvklahc7ckvpmibcy319i6g1i9xqkgq4s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                                   ("rust-numtoa" ,rust-numtoa-0.2))))
    (home-page "https://github.com/RoDmitry/atoi_simd")
    (synopsis "Fast @code{&[u8]} to integer parser")
    (description "This package provides a fast @code{&[u8]} to integer parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-atom-0.3
  (package
    (name "rust-atom")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1qig9fcdqf07mzzpkicm5wgxv0zpr28njdsqf708wxq27yf6k1iw"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/slide-rs/atom")
    (synopsis "Safe abstraction around AtomicPtr")
    (description "This package provides a safe abstraction around AtomicPtr.")
    (license license:asl2.0)))

(define-public rust-atomic-0.6
  (package
    (name "rust-atomic")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15193mfhmrq3p6vi1a10hw3n6kvzf5h32zikhby3mdj0ww1q10cd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1))
       #:cargo-development-inputs (("rust-bytemuck" ,rust-bytemuck-1))))
    (home-page "https://github.com/Amanieu/atomic-rs")
    (synopsis "Generic @code{Atomic<T>} wrapper type")
    (description
     "This package provides a generic @code{Atomic<T>} type for all
@code{T: Copy} types, unlike the standard library which only provides a few
fixed atomic types.")
    ;; The user can choose either license.
    (license (list license:asl2.0 license:expat))))

(define-public rust-atomic-0.5
  (package
    (inherit rust-atomic-0.6)
    (name "rust-atomic")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "atomic" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0k135q1qfmxxyzrlhr47r0j38r5fnd4163rgl552qxyagrk853dq"))))
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))))

(define-public rust-atomic-polyfill-1
  (package
    (name "rust-atomic-polyfill")
    (version "1.0.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "atomic-polyfill" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1x00ndablb89zvbr8m03cgjzgajg86fqn8pgz85yy2gy1pivrwlc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-critical-section" ,rust-critical-section-1))))
    (home-page "https://github.com/embassy-rs/atomic-polyfill")
    (synopsis "Atomic polyfills, for targets where they're not available")
    (description "This package provides atomic polyfills, for targets where
they're not available.")
    (license (list license:expat license:asl2.0))))

(define-public rust-atomic-refcell-0.1
  (package
    (name "rust-atomic-refcell")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomic_refcell" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z04ng59y22mwf315wamx78ybhjag0x6k7isc36hdgcv63c7rrj1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/bholley/atomic_refcell")
    (synopsis "Threadsafe RefCell")
    (description "This package provides Threadsafe @code{RefCell}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-atomic-take-1
  (package
    (name "rust-atomic-take")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomic-take" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hzvfqiy0ixsawkh7ci9visn95kx2j6yvnqxz536x5wpzranpax8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/Darksonn/atomic-take")
    (synopsis "Atomically take a value out of a container once")
    (description "Atomically take a value out of a container once.")
    (license license:expat)))

(define-public rust-atomic-waker-1
  (package
    (name "rust-atomic-waker")
    (version "1.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomic-waker" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h5av1lw56m0jf0fd3bchxq8a30xv0b4wv8s4zkp4s0i7mfvs18m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-portable-atomic" ,rust-portable-atomic-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/smol-rs/atomic-waker")
    (synopsis "Synchronization primitive for task wakeup")
    (description
     "This package provides a synchronization primitive for task wakeup.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-atomic-write-file-0.1
  (package
    (name "rust-atomic-write-file")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomic-write-file" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dl4x0srdwjxm3zz3fj1c7m44i3b7mjiad550fqklj1n4bfbxkgd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nix" ,rust-nix-0.27)
                       ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/andreacorbellini/rust-atomic-write-file")
    (synopsis "Write files atomically to a file system")
    (description "Write files atomically to a file system.")
    (license license:bsd-3)))

(define-public rust-atomig-0.4
  (package
    (name "rust-atomig")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomig" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08f8mhww13dskj55rw37h9d2bwghqxvp7q70mg826y8zn4bjmbqf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-atomig-macro" ,rust-atomig-macro-0.3)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://github.com/LukasKalbertodt/atomig/")
    (synopsis
     "Generic and lock-free `std` atomics via `Atomic<T>`")
    (description
     "This package provides Generic, convenient and lock-free `std` atomics via
@code{Atomic<T>}.  Can be used with many primitive types (including floats) and
with custom types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-atomig-macro-0.3
  (package
    (name "rust-atomig-macro")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atomig-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hvgrip2nqqlgpfz8p9zrs6iyrv8nyz0c5bgvm5mxim4ik4wh44s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/LukasKalbertodt/atomig/")
    (synopsis "Helper crate for `atomig`")
    (description "This package provides Helper crate for `atomig`.")
    (license (list license:expat license:asl2.0))))

(define-public rust-atty-0.2
  (package
    (name "rust-atty")
    (version "0.2.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "atty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;; tests expect a tty
       #:cargo-inputs
       (("rust-hermit-abi" ,rust-hermit-abi-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/softprops/atty")
    (synopsis "Simple interface for querying atty")
    (description
     "This package provides a simple interface for querying atty.")
    (license license:expat)))

(define-public rust-auto-enums-0.8
  (package
    (name "rust-auto-enums")
    (version "0.8.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "auto_enums" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yxcdw961199wrk1v5js321ynyfd4m40c0gi2pypby2mx2vpg6s5"))
       (modules '((guix build utils)))
       (snippet '(begin
                   (substitute* "Cargo.toml"
                     (("\\[features\\]" all)
                      (string-append "[dev-dependencies]" "\n"
                                     "macrotest = \"1\"" "\n"
                                     "trybuild = \"1\"" "\n"
                                     "\n" all)))))))
    (build-system cargo-build-system)
    (arguments
     (list
      #:cargo-inputs `(("rust-derive-utils" ,rust-derive-utils-0.14)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
      #:cargo-development-inputs `(("rust-futures" ,rust-futures-0.1)
                                   ("rust-futures-util" ,rust-futures-util-0.3)
                                   ("rust-http-body" ,rust-http-body-1)
                                   ("rust-macrotest" ,rust-macrotest-1)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-tokio" ,rust-tokio-0.1)
                                   ("rust-tokio" ,rust-tokio-0.2)
                                   ("rust-tokio" ,rust-tokio-0.3)
                                   ("rust-trybuild" ,rust-trybuild-1))
      #:cargo-test-flags '(list "--release" "--"
                                ;; Skipping broken tests
                                "--skip=src/lib.rs - (line 547)"
                                "--skip=src/lib.rs - (line 672)"
                                "--skip=src/lib.rs - (line 755)"
                                "--skip=src/lib.rs - (line 818)"
                                "--skip=src/lib.rs - _README (line 1073)")
      #:phases #~(modify-phases %standard-phases
                   ;; Tests depend on nightly/dev features
                   (add-before 'check 'enable-unstable-features
                     (lambda _
                       (setenv "RUSTC_BOOTSTRAP" "1"))))))
    (home-page "https://github.com/taiki-e/auto_enums")
    (synopsis
     "Library to allow multiple return types by automatically generated enum")
    (description
     "This package provides a library to allow multiple return types by
automatically generated enum.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-auto-impl-0.5
  (package
    (name "rust-auto-impl")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "auto_impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "195d6s9bfcchwizf3km1g69l74f6xvm5gl9505js2r9xi4ff4qkq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=ui_compile_fail")
       #:cargo-inputs
       (("rust-proc-macro-error" ,rust-proc-macro-error-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/auto-impl-rs/auto_impl/")
    (synopsis
     "Automatically implement traits for common smart pointers and closures")
    (description
     "Automatically implement traits for common smart pointers and closures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-auto-impl-0.4
  (package
    (inherit rust-auto-impl-0.5)
    (name "rust-auto-impl")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "auto_impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f0aildq7rl7imgl6x6xw8jg4m08xz9q1bpcrmf5xnhar23gbjs2"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--" "--skip=ui")
       #:cargo-inputs
       (("rust-proc-macro-error" ,rust-proc-macro-error-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-autocfg-1
  (package
    (name "rust-autocfg")
    (version "1.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "autocfg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09lz3by90d2hphbq56znag9v87gfpd9gb8nr82hll8z6x2nhprdc"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-test-flags '(list "--" "--skip=test_wrappers")))
    (home-page "https://github.com/cuviper/autocfg")
    (synopsis "Automatic configuration for Rust compiler features")
    (description
     "This package utomatically configures Rust compiler features.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-autocfg-0.1
  (package
    (inherit rust-autocfg-1)
    (name "rust-autocfg")
    (version "0.1.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "autocfg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0y4vw4l4izdxq1v0rrhvmlbqvalrqrmk60v1z0dqlgnlbzkl7phd"))))
    (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))))

(define-public rust-automod-1
  (package
    (name "rust-automod")
    (version "1.0.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "automod" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12rsa5barxi8v916hlvvpjyh43y5x2yjc2bg1xs6v960vccyxwzd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/dtolnay/automod")
    (synopsis "Pull in every source file in a directory as a module")
    (description "Pull in every source file in a directory as a module.")
    (license (list license:expat license:asl2.0))))

(define-public rust-av-metrics-0.9
  (package
    (name "rust-av-metrics")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "av-metrics" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c1m5rrrx88y1hm4i17qh0fd2rqd3jwck86lj5dkw85hpmdyjv4r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam" ,rust-crossbeam-0.8)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lab" ,rust-lab-0.11)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-v-frame" ,rust-v-frame-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-y4m" ,rust-y4m-0.8))))
    (home-page "https://github.com/rust-av/av-metrics")
    (synopsis "Collection of algorithms for measuring audio/video metrics")
    (description
     "This package provides a collection of algorithms for measuring
audio/video metrics.")
    (license license:expat)))

(define-public rust-av1-grain-0.2
  (package
    (name "rust-av1-grain")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "av1-grain" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1gvqdh21bm1cfqiwyiinbqi0mg7x2lg2fwgmphma8ijxijfr0y36"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-log" ,rust-log-0.4)
        ("rust-nom" ,rust-nom-7)
        ("rust-num-rational" ,rust-num-rational-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-v-frame" ,rust-v-frame-0.3))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1))))
    (home-page "https://github.com/rust-av/av1-grain")
    (synopsis "Helpers for generating and parsing AV1 film grain data")
    (description "This package provides helpers for generating and parsing AV1
film grain data.")
    (license license:bsd-2)))

(define-public rust-average-0.13
  (package
    (name "rust-average")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "average" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c97m8yagvq8r6qgd3harm5vnkdbld4mxg9byyxh6igjsf8wfgl4"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "Cargo.toml"
             ;; The resolver feature is not supported by our versions of Cargo.
             (("resolver = \"2\".*") "")
             ;; Relax version requirement for byteorder
             (("=1.3") "^1.3"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-easy-cast" ,rust-easy-cast-0.4)
        ("rust-float-ord" ,rust-float-ord-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-big-array" ,rust-serde-big-array-0.3)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quantiles" ,rust-quantiles-0.7)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-distr" ,rust-rand-distr-0.4)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-streaming-stats" ,rust-streaming-stats-0.2))))
    (home-page "https://github.com/vks/average")
    (synopsis "Calculate statistics iteratively")
    (description "This crate provides tools for calculating statistics
iteratively in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-average-0.10
  (package
    (name "rust-average")
    (version "0.10.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "average" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1npcsgksxa8c03cam1zyxgaw9rsifwbzbflf4pjrq55b0a01cg1j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-conv" ,rust-conv-0.3)
        ("rust-float-ord" ,rust-float-ord-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-big-array" ,rust-serde-big-array-0.3)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-quantiles" ,rust-quantiles-0.7)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rand-distr" ,rust-rand-distr-0.3)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-streaming-stats" ,rust-streaming-stats-0.2))))
    (home-page "https://github.com/vks/average")
    (synopsis "Calculate statistics iteratively")
    (description "This crate provides for calculating statistics iteratively
in Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-average-0.9
  (package
    (inherit rust-average-0.10)
    (name "rust-average")
    (version "0.9.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "average" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1f8ya00bv6qki9m7b4lb3bn845rj473mx02qpm7wgy5qc1yp75xs"))))
    (arguments
     `(#:cargo-inputs
       (("rust-conv" ,rust-conv-0.3)
        ("rust-float-ord" ,rust-float-ord-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-big-array" ,rust-serde-big-array-0.1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-quantiles" ,rust-quantiles-0.7)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-streaming-stats" ,rust-streaming-stats-0.2))))))

(define-public rust-avro-rs-0.13
  (package
    (name "rust-avro-rs")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "avro-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dsy8r4c6l4xx9wp80byrb24zvlf9m19f5nwpklis8hhczfm1rgc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-crc" ,rust-crc-1)
        ("rust-digest" ,rust-digest-0.9)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libflate" ,rust-libflate-1)
        ("rust-num-bigint" ,rust-num-bigint-0.2)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snap" ,rust-snap-0.2)
        ("rust-strum" ,rust-strum-0.18)
        ("rust-strum-macros" ,rust-strum-macros-0.18)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-typed-builder" ,rust-typed-builder-0.5)
        ("rust-uuid" ,rust-uuid-0.8)
        ("rust-zerocopy" ,rust-zerocopy-0.3))))
    (home-page "https://github.com/flavray/avro-rs")
    (synopsis "Library for working with Apache Avro in Rust")
    (description
     "This package is a library for working with Apache Avro in Rust.")
    (license license:expat)))

(define-public rust-avro-schema-0.3
  (package
    (name "rust-avro-schema")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "avro-schema" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gbvciwvi2isa6qanbzi4lbqzzgvhdlzjyzlsa29dflsndaiha5m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=file::round_trip_deflate"
         "--skip=file::round_trip_snappy")
       #:cargo-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-crc" ,rust-crc-2)
        ("rust-fallible-streaming-iterator" ,rust-fallible-streaming-iterator-0.1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-libflate" ,rust-libflate-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snap" ,rust-snap-1))))
    (home-page "https://github.com/DataEngineeringLabs/avro-schema")
    (synopsis "Apache Avro specification")
    (description "This package contains the Apache Avro specification.")
    (license (list license:expat license:asl2.0))))

(define-public rust-az-1
  (package
    (name "rust-az")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "az" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1i2s9bqar8hfxjmfr2cbhi4s26s2sd1kc3x3g517ygshyp8sawgp"))))
    (build-system cargo-build-system)
    (home-page "https://gitlab.com/tspiteri/az")
    (synopsis "Casts and checked casts")
    (description "This crate provides casts and checked casts.")
    (license (list license:expat license:asl2.0))))

(define-public rust-backoff-0.4
  (package
    (name "rust-backoff")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "backoff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h80d9xn5wngxdgza2m8w4x1kyhk0x6k9ydvsj50j2pcn6fdnbdn"))
       (modules '((guix build utils)))
       ;; XXX: Doctest hangs for no apparent reason.
       (snippet '(substitute* "src/lib.rs"
                              (("```rust\n")
                               "```rust,no_run\n")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-instant" ,rust-instant-0.1)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs (list pkg-config))
    (inputs (list openssl))
    (home-page "https://github.com/ihrwein/backoff")
    (synopsis "Retry operations with exponential backoff policy")
    (description "Retry operations with exponential backoff policy.")
    (license (list license:expat license:asl2.0))))

(define-public rust-backon-0.4
  (package
    (name "rust-backon")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "backon" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w3bqipn0fc0dr9zgpk934ii6dz1m2c8wlrk6lfsgnk8z31q4xyn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-fastrand" ,rust-fastrand-2)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-pin-project" ,rust-pin-project-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-reqwest" ,rust-reqwest-0.12)
                                   ("rust-tokio" ,rust-tokio-1))))
    (inputs (list openssl))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/Xuanwo/backon")
    (synopsis "Retry with backoff without effort")
    (description "This package provides a retry with backoff without
effort.")
    (license license:asl2.0)))

(define-public rust-backtrace-0.3
  (package
    (name "rust-backtrace")
    (version "0.3.74")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "backtrace" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06pfif7nwx66qf2zaanc2fcq7m64i91ki9imw9xd3bnz5hrwp0ld"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-addr2line" ,rust-addr2line-0.24)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-cpp-demangle" ,rust-cpp-demangle-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-miniz-oxide" ,rust-miniz-oxide-0.8)
        ("rust-object" ,rust-object-0.36)
        ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-windows-targets" ,rust-windows-targets-0.52))
       #:cargo-development-inputs
       (("rust-libloading" ,rust-libloading-0.7))))
    (home-page "https://github.com/rust-lang/backtrace-rs")
    (synopsis "Acquire a stack trace (backtrace) at runtime in a Rust program")
    (description
     "This package provides a library to acquire a stack
trace (backtrace) at runtime in a Rust program.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-backtrace-ext-0.2
  (package
    (name "rust-backtrace-ext")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "backtrace-ext" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l4xacjnx4jrn9k14xbs2swks018mviq03sp7c1gn62apviywysk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3))
       #:cargo-development-inputs (("rust-miette" ,rust-miette-5)
                                   ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/gankra/backtrace-ext")
    (synopsis "Conveniences on top of the backtrace crate")
    (description
     "This package provides minor conveniences on top of the backtrace crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-barrel-0.6
  (package
    (name "rust-barrel")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "barrel" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qgzrfpp2acb06bbqrf5a8pjjwf3dwinq7sv2hqq0b1jn5wcjrwx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-diesel" ,rust-diesel-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://rust-db.github.io/barrel/")
    (synopsis "Powerful schema migration building API for Rust")
    (description "This package provides a powerful schema migration building
API for Rust.")
    (license (list license:expat license:x11 license:asl2.0))))

(define-public rust-base-x-0.2
  (package
    (name "rust-base-x")
    (version "0.2.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base-x" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0w02sdqvg7zwm91agb2phikw4ri8jmncw32paxsv8ra1jv8ckfsc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-json" ,rust-json-0.12)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/OrKoN/base-x-rs")
    (synopsis "Encode/decode any base")
    (description "This library provides for encoding and decoding any base.")
    (license license:expat)))

(define-public rust-base32-0.5
  (package
    (name "rust-base32")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xp0a3xml25xw2bp5pyac2nld7vmmfjl02qynnyfn6aznfggwb82"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/andreasots/base32")
    (synopsis "Base32 encoder/decoder for Rust")
    (description "This library lets you encode and decode in either
RFC4648 Base32 or in Crockford Base32.")
    (license (list license:expat license:asl2.0))))

(define-public rust-base32-0.4
  (package
    (inherit rust-base32-0.5)
    (name "rust-base32")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.7)
        ("rust-rand" ,rust-rand-0.5))))))

(define-public rust-base58-0.1
  (package
    (name "rust-base58")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base58" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10xfw6v7jzn9i682mkw9nqybzafrvl3i2wawwgp5a8gh2n0fw92h"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/debris/base58")
    (synopsis "Tiny and fast base58 encoding")
    (description
     "Encode to base58 using only Rust.  This package is based on
@url{https://github.com/trezor/trezor-crypto/blob/master/base58.c} at commit
c6e7d37.  However, this package works only up to 128 bytes.")
    (license license:expat)))

(define-public rust-base64-0.22
  (package
    (name "rust-base64")
    (version "0.22.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1imqzgh7bxcikp5vx3shqvw9j09g9ly0xr0jma0q66i52r7jbcvj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-clap" ,rust-clap-3)
        ("rust-criterion" ,rust-criterion-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.13)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
        ("rust-strum" ,rust-strum-0.25))))
    (home-page "https://github.com/marshallpierce/rust-base64")
    (synopsis "Encodes and decodes base64 as bytes or utf8")
    (description
     "This package encodes and decodes base64 as bytes or utf8.")
    (license (list license:expat license:asl2.0))))

(define-public rust-base64-0.21
  (package
    (inherit rust-base64-0.22)
    (name "rust-base64")
    (version "0.21.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "base64" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0rw52yvsk75kar9wgqfwgb414kvil1gn7mqkrhn9zf1537mpsacx"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-clap" ,rust-clap-3)
        ("rust-criterion" ,rust-criterion-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.13)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
        ("rust-strum" ,rust-strum-0.25))))))

(define-public rust-base64-0.20
  (package
    (inherit rust-base64-0.21)
    (name "rust-base64")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r8