;;; 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 "1r855djiv8rirg37w5arazk42ya5gm5gd2bww75v14w0sy02i8hf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.12)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.3)
        ("rust-structopt" ,rust-structopt-0.3))))))

(define-public rust-base64-0.13
  (package
    (inherit rust-base64-0.21)
    (name "rust-base64")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s494mqmzjb766fy1kqlccgfg2sdcjb6hzbvzqv2jw65fdi5h6wy"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("=0\\.3\\.2") "^0.3.2"))))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-structopt" ,rust-structopt-0.3))))))

(define-public rust-base64-0.12
  (package
    (inherit rust-base64-0.13)
    (name "rust-base64")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zq33had71xh48n17g4kqs96szhx3yh7qibzwi4fk217n3vz0h9l"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand" ,rust-rand-0.6))))))

(define-public rust-base64-0.11
  (package
    (inherit rust-base64-0.12)
    (name "rust-base64")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1iqmims6yvr6vwzyy54qd672zw29ipjj17p8klcr578c9ajpw6xl"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-rand" ,rust-rand-0.6))))))

(define-public rust-base64-0.10
  (package
    (inherit rust-base64-0.11)
    (name "rust-base64")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-rand" ,rust-rand-0.4))))))

(define-public rust-base64-0.9
  (package
    (inherit rust-base64-0.11)
    (name "rust-base64")
    (version "0.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "base64" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hs62r35bgxslawyrn1vp9rmvrkkm76fqv0vqcwd048vs876r7a8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-safemem" ,rust-safemem-0.3))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4))))))

(define-public rust-basic-toml-0.1
  (package
    (name "rust-basic-toml")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "basic-toml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y2q0la176gmqgskarc5464fqq3rncnjc138iiayj57n53i8hcw2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-semver" ,rust-semver-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/dtolnay/basic-toml")
    (synopsis "Minimal TOML library with few dependencies")
    (description "This package provides minimal TOML library with few
dependencies.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bat-0.24
  (package
    (name "rust-bat")
    (version "0.24.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11nc2iv2qhd1bs16yijqq934864ybnmg485rny70scy26xb9xk4x"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ansi-colours" ,rust-ansi-colours-1)
                       ("rust-bincode" ,rust-bincode-1)
                       ("rust-bugreport" ,rust-bugreport-0.5)
                       ("rust-bytesize" ,rust-bytesize-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-clircle" ,rust-clircle-0.4)
                       ("rust-console" ,rust-console-0.15)
                       ("rust-content-inspector" ,rust-content-inspector-0.2)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-etcetera" ,rust-etcetera-0.8)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-git2" ,rust-git2-0.18)
                       ("rust-globset" ,rust-globset-0.4)
                       ("rust-grep-cli" ,rust-grep-cli-0.1)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.49)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-os-str-bytes" ,rust-os-str-bytes-6)
                       ("rust-path-abs" ,rust-path-abs-0.5)
                       ("rust-plist" ,rust-plist-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-run-script" ,rust-run-script-0.10)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-yaml" ,rust-serde-yaml-0.9)
                       ("rust-shell-words" ,rust-shell-words-1)
                       ("rust-syntect" ,rust-syntect-5)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-wild" ,rust-wild-2))
       #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2)
                                   ("rust-expect-test" ,rust-expect-test-1)
                                   ("rust-nix" ,rust-nix-0.26)
                                   ("rust-predicates" ,rust-predicates-3)
                                   ("rust-serial-test" ,rust-serial-test-2)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
    (native-inputs (list pkg-config))
    (inputs (list libgit2-1.7 openssl zlib))
    (home-page "https://github.com/sharkdp/bat")
    (synopsis "Library providing syntax highlighting for text")
    (description
     "This package provides the @command{bat} syntax highlighter as a library to
use for syntax highlighting in other crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-battery-0.7
  (package
    (name "rust-battery")
    (version "0.7.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "battery" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r1641dyks76p39i1iihswhc6iz5z51pihmpxniy1h1pi4k29dml"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;/sys/class/power_supply cannot be found
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-core-foundation" ,rust-core-foundation-0.7)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mach" ,rust-mach-0.3)
                       ("rust-nix" ,rust-nix-0.19)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-uom" ,rust-uom-0.30)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/svartalf/rust-battery")
    (synopsis "Cross-platform information about the notebook batteries")
    (description
     "This package provides Cross-platform information about the notebook batteries.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-beef-0.5
  (package
    (name "rust-beef")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "beef" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c95lbnhld96iwwbyh5kzykbpysq0fnjfhwxa1mhap5qxgrl30is"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Doc tests segfault.
       #:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/maciejhirsz/beef")
    (synopsis "Faster, more compact implementation of Cow")
    (description "This package provides faster, more compact implementation of
Cow.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bencher-0.1
  (package
    (name "rust-bencher")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bencher" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/bluss/bencher/")
    (synopsis "Port of the libtest benchmark runner to Rust stable")
    (description "This package provides a port of the libtest (unstable Rust)
benchmark runner to Rust stable releases.  Supports running benchmarks and
filtering based on the name.  Benchmark execution works exactly the same way
and no more (caveat: black_box is still missing!).")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-better-panic-0.3
  (package
    (name "rust-better-panic")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "better-panic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0djh7qs39z0mbkzxs4nrc9ngnyjpsxq67lqfv75q91i63b8y3abg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-console" ,rust-console-0.15)
                       ("rust-syntect" ,rust-syntect-4))))
    (home-page "https://github.com/mitsuhiko/better-panic")
    (synopsis "Pretty panic backtraces")
    (description "Pretty panic backtraces inspired by Python's tracebacks.")
    (license license:expat)))

(define-public rust-bigdecimal-0.4
  (package
    (name "rust-bigdecimal")
    (version "0.4.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bigdecimal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b284z1lxc8r5090lr1xi2kny3jncqrlv02wk03mmin506pz6cbz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1)
                       ("rust-libm" ,rust-libm-0.2)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-paste" ,rust-paste-1)
                                   ("rust-serde-test" ,rust-serde-test-0.8)
                                   ("rust-siphasher" ,rust-siphasher-0.3))))
    (home-page "https://github.com/akubera/bigdecimal-rs")
    (synopsis "Arbitrary precision decimal numbers")
    (description "This package provides arbitrary precision decimal numbers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bigdecimal-0.3
  (package
    (inherit rust-bigdecimal-0.4)
    (name "rust-bigdecimal")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bigdecimal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ypfsldr1ng80n3ax1h699kqw3s5gzzqvr30zc4ybh5g1vf3sxx6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-bigdecimal-0.2
  (package
    (inherit rust-bigdecimal-0.3)
    (name "rust-bigdecimal")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bigdecimal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mkja6m149apsnbw5narzcxmb9b4ish58gn4qvvys03jwdi0brfi"))))
    (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)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-bigdecimal-0.1
  (package
    (inherit rust-bigdecimal-0.2)
    (name "rust-bigdecimal")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bigdecimal" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0i32g88sin9dzr4jn41wgg3pyx2xxm0m1a9s5vh9lpyj5lg1jx0k"))))
    (arguments
      `(#:cargo-inputs
        (("rust-num-bigint" ,rust-num-bigint-0.2)
         ("rust-num-integer" ,rust-num-integer-0.1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-binascii-0.1
  (package
    (name "rust-binascii")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "binascii" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wnaglgl72pn5ilv61q6y34w76gbg7crb8ifqk6lsxnq2gajjg9q"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/naim94a/binascii-rs")
    (synopsis
     "No-std binascii operations including base64, base32 and base16 (hex)")
    (description
     "This package contains useful no-std binascii operations including base64,
base32 and base16 (hex)")
    (license license:expat)))

(define-public rust-bincode-1
  (package
    (name "rust-bincode")
    (version "1.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bincode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bfw3mnwzx5g1465kiqllp5n4r10qrqy88kdlp3jfwnq2ya5xx5i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/servo/bincode")
    (synopsis
     "Binary serialization/deserialization strategy")
    (description
     "This package provides a binary serialization/deserialization strategy
that uses Serde for transforming structs into bytes and vice versa!")
    (license license:expat)))

(define-public rust-bindgen-0.71
  (package
    (name "rust-bindgen")
    (version "0.71.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cynz43s9xwjbd1y03rx9h37xs0isyl8bi6g6yngp35nglyvyn2z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.11)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cexpr" ,rust-cexpr-0.6)
                       ("rust-clang-sys" ,rust-clang-sys-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-clap-complete" ,rust-clap-complete-4)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-2)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-syn" ,rust-syn-2))))
    (inputs (list clang))
    (home-page "https://rust-lang.github.io/rust-bindgen/")
    (synopsis "Generate Rust FFI bindings to C and C++ libraries")
    (description "This package can be used to automatically generate Rust FFI
bindings to C and C++ libraries.")
    (license license:bsd-3)))

(define-public rust-bindgen-0.70
  (package
    (inherit rust-bindgen-0.71)
    (name "rust-bindgen")
    (version "0.70.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vyf0jp6apcy9kjyz4s8vldj0xqycnbzb6zv3skkwiqdi3nqz7gl"))))
    (arguments
     `(#:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.9)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cexpr" ,rust-cexpr-0.6)
                       ("rust-clang-sys" ,rust-clang-sys-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-bindgen-0.69
  (package
    (inherit rust-bindgen-0.70)
    (name "rust-bindgen")
    (version "0.69.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1240snlcfj663k04bjsg629g4wx6f83flgbjh5rzpgyagk3864r7"))))
    (arguments
     `(#:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.9)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cexpr" ,rust-cexpr-0.6)
                       ("rust-clang-sys" ,rust-clang-sys-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-which" ,rust-which-4))))))

(define-public rust-bindgen-0.68
  (package
    (inherit rust-bindgen-0.69)
    (name "rust-bindgen")
    (version "0.68.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y40gndyay1fj8d3d8gsd9fyfzjlbghx92i560kmvhvfxc9l6vkj"))))
    (arguments
     `(#:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.9)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cexpr" ,rust-cexpr-0.6)
                       ("rust-clang-sys" ,rust-clang-sys-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-which" ,rust-which-4))))))

(define-public rust-bindgen-0.66
  (package
    (inherit rust-bindgen-0.69)
    (name "rust-bindgen")
    (version "0.66.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19yj6fsb08x0l1pg871vvfvlx1mglamz8hyjpazhfc90zh34xf7j"))))
    (arguments
     `(#:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.9)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cexpr" ,rust-cexpr-0.6)
                       ("rust-clang-sys" ,rust-clang-sys-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-which" ,rust-which-4))))))

(define-public rust-bindgen-0.65
  (package
    (inherit rust-bindgen-0.69)
    (name "rust-bindgen")
    (version "0.65.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i9wci1h3xnk8hi7cf06capgifnmpk9dd59zqznh6jcsdx37ppyg"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.9)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-cexpr" ,rust-cexpr-0.6)
                       ("rust-clang-sys" ,rust-clang-sys-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-which" ,rust-which-4))))))

(define-public rust-bindgen-0.64
  (package
    (inherit rust-bindgen-0.66)
    (name "rust-bindgen")
    (version "0.64.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d0zmfc5swjgaydbamxb4xm687ahgv18dbcpvrzbf39665h3w964"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cexpr" ,rust-cexpr-0.6)
        ("rust-clang-sys" ,rust-clang-sys-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-shlex" ,rust-shlex-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-which" ,rust-which-4))))))

(define-public rust-bindgen-0.63
  (package
    (inherit rust-bindgen-0.64)
    (name "rust-bindgen")
    (version "0.63.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "119qkny3swlx8zm0jxp19hizpkym6arh8mlv9ylskch030961n1n"))))))

(define-public rust-bindgen-0.61
  (package
    (inherit rust-bindgen-0.64)
    (name "rust-bindgen")
    (version "0.61.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bindgen" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "16phlka8ykx28jlk7l637vlr9h01j8mh2s0d6km6z922l5c2w0la"))))))

(define-public rust-bindgen-0.59
  (package
    (inherit rust-bindgen-0.64)
    (name "rust-bindgen")
    (version "0.59.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f4fpycxmbrqk8r2x9brhfgjh86mzc6bngn4a9631x78b2jaklib"))))
    (arguments
     `(#:tests? #f  ; Only the build phase, to make sure we have the right inputs.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cexpr" ,rust-cexpr-0.6)
        ("rust-clang-sys" ,rust-clang-sys-1)
        ("rust-clap" ,rust-clap-2)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-shlex" ,rust-shlex-1)
        ("rust-which" ,rust-which-4))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-diff" ,rust-diff-0.1)
        ("rust-shlex" ,rust-shlex-1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-bindgen-0.58
  (package
    (inherit rust-bindgen-0.59)
    (name "rust-bindgen")
    (version "0.58.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13r505nn28ay0byfd96hdg8xwcpa2r20czjy111pl66p22s2718g"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cexpr" ,rust-cexpr-0.4)
        ("rust-clang-sys" ,rust-clang-sys-1)
        ("rust-clap" ,rust-clap-2)
        ("rust-env-logger" ,rust-env-logger-0.8)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-shlex" ,rust-shlex-1)
        ("rust-which" ,rust-which-3))))))

(define-public rust-bindgen-0.57
  (package
    (inherit rust-bindgen-0.58)
    (name "rust-bindgen")
    (version "0.57.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g96ypnck6n60p3cz9k3y3jnxi4z7jfv2pha5bxsm8269806aj7x"))))
    (arguments
     `(#:tests? #false ;tests/headers/16-byte-alignment.h does not exist
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cexpr" ,rust-cexpr-0.4)
        ("rust-clang-sys" ,rust-clang-sys-1)
        ("rust-clap" ,rust-clap-2)
        ("rust-env-logger" ,rust-env-logger-0.8)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-shlex" ,rust-shlex-0.1)
        ("rust-which" ,rust-which-3))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-diff" ,rust-diff-0.1)
        ("rust-shlex" ,rust-shlex-0.1))))
    (inputs
     (list clang))))

(define-public rust-bindgen-0.56
  (package
    (inherit rust-bindgen-0.57)
    (name "rust-bindgen")
    (version "0.56.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bindgen" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0fajmgk2064ca1z9iq1jjkji63qwwz38z3d67kv6xdy0xgdpk8rd"))))
    (arguments
     (list #:cargo-test-flags ``("--release" "--"
                                 "--skip=test::commandline_multiple_headers")
           #:cargo-inputs `(("rust-bitflags" ,rust-bitflags-1)
                            ("rust-cexpr" ,rust-cexpr-0.4)
                            ("rust-clang-sys" ,rust-clang-sys-1)
                            ("rust-clap" ,rust-clap-2)
                            ("rust-env-logger" ,rust-env-logger-0.8)
                            ("rust-lazy-static" ,rust-lazy-static-1)
                            ("rust-lazycell" ,rust-lazycell-1)
                            ("rust-log" ,rust-log-0.4)
                            ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
                            ("rust-proc-macro2" ,rust-proc-macro2-1)
                            ("rust-quote" ,rust-quote-1)
                            ("rust-regex" ,rust-regex-1)
                            ("rust-rustc-hash" ,rust-rustc-hash-1)
                            ("rust-shlex" ,rust-shlex-0.1)
                            ("rust-which" ,rust-which-3))
           #:cargo-development-inputs `(("rust-clap" ,rust-clap-2)
                                        ("rust-diff" ,rust-diff-0.1)
                                        ("rust-shlex" ,rust-shlex-0.1))))
    (inputs (list clang))))

(define-public rust-bindgen-0.55
  (package
    (inherit rust-bindgen-0.57)
    (name "rust-bindgen")
    (version "0.55.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hxlvy9q9984rr3rqaxwmgxjrd9wh11mcc161hv3shz6b7jkrcbm"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=test::commandline_multiple_headers")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cexpr" ,rust-cexpr-0.4)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-clang-sys" ,rust-clang-sys-1)
        ("rust-clap" ,rust-clap-2)
        ("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-shlex" ,rust-shlex-0.1)
        ("rust-which" ,rust-which-3))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-diff" ,rust-diff-0.1)
        ("rust-shlex" ,rust-shlex-0.1))
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'enable-unstable-features
           (lambda _
             (setenv "RUSTC_BOOTSTRAP" "1")
             #t)))))))

(define-public rust-bindgen-0.53
  (package
    (inherit rust-bindgen-0.55)
    (name "rust-bindgen")
    (version "0.53.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bindgen" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1rc9grfd25bk5b2acmqljhx55ndbzmh7w8b3x6q707cb4s6rfan7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cexpr" ,rust-cexpr-0.4)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-clang-sys" ,rust-clang-sys-0.29)
        ("rust-clap" ,rust-clap-2)
        ("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-shlex" ,rust-shlex-0.1)
        ("rust-which" ,rust-which-3))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-diff" ,rust-diff-0.1)
        ("rust-shlex" ,rust-shlex-0.1))))))

(define-public rust-bindgen-0.37
  (package
    (inherit rust-bindgen-0.53)
    (name "rust-bindgen")
    (version "0.37.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08f2cyzr8fc027mzj2lhmn5j3w318g2ql7yfw5ngxa3yhy1an98v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-cexpr" ,rust-cexpr-0.2)
                       ("rust-cfg-if" ,rust-cfg-if-0.1)
                       ("rust-clang-sys" ,rust-clang-sys-0.23)
                       ("rust-clap" ,rust-clap-2)
                       ("rust-env-logger" ,rust-env-logger-0.5)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
                       ("rust-proc-macro2" ,rust-proc-macro2-0.3)
                       ("rust-quote" ,rust-quote-0.5)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-which" ,rust-which-1))))))

(define-public rust-bio-1
  (package
    (name "rust-bio")
    (version "1.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hpnfwjyqg23dlk75frydf9kgilccyn3haaw6xdwh25zpa9wnwks"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-approx" ,rust-approx-0.5)
                       ("rust-bio-types" ,rust-bio-types-1)
                       ("rust-bit-set" ,rust-bit-set-0.5)
                       ("rust-bv" ,rust-bv-0.11)
                       ("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-csv" ,rust-csv-1)
                       ("rust-custom-derive" ,rust-custom-derive-0.1)
                       ("rust-editdistancek" ,rust-editdistancek-1)
                       ("rust-enum-map" ,rust-enum-map-0.6)
                       ("rust-fxhash" ,rust-fxhash-0.2)
                       ("rust-itertools" ,rust-itertools-0.11)
                       ("rust-itertools-num" ,rust-itertools-num-0.1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-multimap" ,rust-multimap-0.8)
                       ("rust-ndarray" ,rust-ndarray-0.15)
                       ("rust-newtype-derive" ,rust-newtype-derive-0.1)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-ordered-float" ,rust-ordered-float-3)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-petgraph" ,rust-petgraph-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-statrs" ,rust-statrs-0.15)
                       ("rust-strum" ,rust-strum-0.25)
                       ("rust-strum-macros" ,rust-strum-macros-0.25)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-triple-accel" ,rust-triple-accel-0.4)
                       ("rust-vec-map" ,rust-vec-map-0.8))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://rust-bio.github.io")
    (synopsis "Bioinformatics library for Rust")
    (description
     "This package provides a bioinformatics library for Rust.  This library
provides implementations of many algorithms and data structures that are
useful for bioinformatics, but also in other fields.")
    (license license:expat)))

(define-public rust-bio-0.33
  (package
    (inherit rust-bio-1)
    (name "rust-bio")
    (version "0.33.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zaghvazh243x2pg866hjx1zwwpp9qzwkf45iz2fs9af5y661gz5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-approx" ,rust-approx-0.3)
        ("rust-bio-types" ,rust-bio-types-0.12)
        ("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-bv" ,rust-bv-0.11)
        ("rust-bytecount" ,rust-bytecount-0.6)
        ("rust-csv" ,rust-csv-1)
        ("rust-custom-derive" ,rust-custom-derive-0.1)
        ("rust-enum-map" ,rust-enum-map-0.6)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-getset" ,rust-getset-0.0.9)
        ("rust-itertools" ,rust-itertools-0.9)
        ("rust-itertools-num" ,rust-itertools-num-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-multimap" ,rust-multimap-0.8)
        ("rust-ndarray" ,rust-ndarray-0.13)
        ("rust-newtype-derive" ,rust-newtype-derive-0.1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-ordered-float" ,rust-ordered-float-1)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-petgraph" ,rust-petgraph-0.5)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-statrs" ,rust-statrs-0.13)
        ("rust-strum" ,rust-strum-0.19)
        ("rust-strum-macros" ,rust-strum-macros-0.19)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-triple-accel" ,rust-triple-accel-0.3)
        ("rust-vec-map" ,rust-vec-map-0.8))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-0.10)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-bio-0.39
  (package
    (inherit rust-bio-1)
    (name "rust-bio")
    (version "0.39.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bio" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "00k0zv4yyiipzg2arnkrplfi0digwnv89bczfzhyva68yfv8scvb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-approx" ,rust-approx-0.5)
        ("rust-bio-types" ,rust-bio-types-0.12)
        ("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-bv" ,rust-bv-0.11)
        ("rust-bytecount" ,rust-bytecount-0.6)
        ("rust-csv" ,rust-csv-1)
        ("rust-custom-derive" ,rust-custom-derive-0.1)
        ("rust-enum-map" ,rust-enum-map-0.6)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-getset" ,rust-getset-0.1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-itertools-num" ,rust-itertools-num-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-multimap" ,rust-multimap-0.8)
        ("rust-ndarray" ,rust-ndarray-0.15)
        ("rust-newtype-derive" ,rust-newtype-derive-0.1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-ordered-float" ,rust-ordered-float-1)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-petgraph" ,rust-petgraph-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-statrs" ,rust-statrs-0.14)
        ("rust-strum" ,rust-strum-0.21)
        ("rust-strum-macros" ,rust-strum-macros-0.21)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-triple-accel" ,rust-triple-accel-0.4)
        ("rust-vec-map" ,rust-vec-map-0.8))))))

(define-public rust-bio-0.41
  (package
    (inherit rust-bio-0.39)
    (name "rust-bio")
    (version "0.41.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bio" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11kmdd5rslnqjndldh7c2lzxsyapwz7fqm2yrkn3his460z44saa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-approx" ,rust-approx-0.5)
        ("rust-bio-types" ,rust-bio-types-0.12)
        ("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-bv" ,rust-bv-0.11)
        ("rust-bytecount" ,rust-bytecount-0.6)
        ("rust-csv" ,rust-csv-1)
        ("rust-custom-derive" ,rust-custom-derive-0.1)
        ("rust-enum-map" ,rust-enum-map-0.6)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-getset" ,rust-getset-0.1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-itertools-num" ,rust-itertools-num-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-multimap" ,rust-multimap-0.8)
        ("rust-ndarray" ,rust-ndarray-0.15)
        ("rust-newtype-derive" ,rust-newtype-derive-0.1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-ordered-float" ,rust-ordered-float-1)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-petgraph" ,rust-petgraph-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-statrs" ,rust-statrs-0.15)
        ("rust-strum" ,rust-strum-0.21)
        ("rust-strum-macros" ,rust-strum-macros-0.21)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-triple-accel" ,rust-triple-accel-0.4)
        ("rust-vec-map" ,rust-vec-map-0.8))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-bio-types-1
  (package
    (name "rust-bio-types")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bio-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zmdcvj44a088larkahcic5z61cwn2x80iym0w14albzid7zbp7l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-3)
                       ("rust-derive-new" ,rust-derive-new-0.6)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-strum-macros" ,rust-strum-macros-0.25)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://rust-bio.github.io")
    (synopsis "Common biomedical types for use in rust-bio and rust-htslib")
    (description
     "This package provides a collection of common biomedical types for use in
rust-bio and rust-htslib.")
    (license license:expat)))

(define-public rust-bio-types-0.12
  (package
    (inherit rust-bio-types-1)
    (name "rust-bio-types")
    (version "0.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bio-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dmcjwky9fszmwwg7ywv52xhz93zibsgl7nj9x7gadvz8yb45g0k"))))
    (arguments
     `(#:cargo-inputs
       (("rust-derive-new" ,rust-derive-new-0.5)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-petgraph" ,rust-petgraph-0.6)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-strum-macros" ,rust-strum-macros-0.21)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-biquad-0.4
  (package
    (name "rust-biquad")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "biquad" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gpc13lag439nmq077wfwz055qbjaxbpk7znvnbddbg3wgsj81c2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libm" ,rust-libm-0.1))))
    (home-page "https://github.com/korken89/biquad-rs")
    (synopsis "Rust library for digital second order IIR filters")
    (description "This package provides a Rust library for digital second
order IIR filters, also known as biquads.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bit-field-0.10
  (package
    (name "rust-bit-field")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit_field" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qav5rpm4hqc33vmf4vc4r0mh51yjx5vmd9zhih26n9yjs3730nw"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/phil-opp/rust-bit-field")
    (synopsis "Methods for operating on individual bits and ranges of bits")
    (description
     "This is a simple crate which provides the BitField trait, which provides
methods for operating on individual bits and ranges of bits on Rust's integral
types.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bit-set-0.8
  (package
    (name "rust-bit-set")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit-set" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18riaa10s6n59n39vix0cr7l2dgwdhcpbcm97x1xbyfp1q47x008"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bit-vec" ,rust-bit-vec-0.8)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/contain-rs/bit-set")
    (synopsis "Set of bits")
    (description "This package provides a set of bits.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bit-set-0.5
  (package
    (inherit rust-bit-set-0.8)
    (name "rust-bit-set")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit-set" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wcm9vxi00ma4rcxkl3pzzjli6ihrpn9cfdi0c5b4cvga2mxs007"))))
    (arguments
     `(#:cargo-inputs (("rust-bit-vec" ,rust-bit-vec-0.6))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.3))))))

(define-public rust-bit-set-0.4
  (package
    (inherit rust-bit-set-0.5)
    (name "rust-bit-set")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit-set" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0320hhcbr73yzjpj2237vw2zq728yg7vmzb8dardg04ff4263gyr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bit-vec" ,rust-bit-vec-0.4))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.3))))))

(define-public rust-bit-vec-0.8
  (package
    (name "rust-bit-vec")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit-vec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xxa1s2cj291r7k1whbxq840jxvmdsq9xgh7bvrxl46m80fllxjy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-borsh" ,rust-borsh-1)
                       ("rust-miniserde" ,rust-miniserde-0.1)
                       ("rust-nanoserde" ,rust-nanoserde-0.1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                   ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/contain-rs/bit-vec")
    (synopsis "Vector of bits")
    (description "This package provides a vector of bits.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bit-vec-0.6
  (package
    (inherit rust-bit-vec-0.8)
    (name "rust-bit-vec")
    (version "0.6.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bit-vec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1ywqjnv60cdh1slhz67psnp422md6jdliji6alq0gmly2xm9p7rl"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.7)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-bit-vec-0.5
  (package
    (inherit rust-bit-vec-0.6)
    (name "rust-bit-vec")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit-vec" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1fyh8221s6cxlmng01v8v2ljhavzawqqs8r1xjc66ap5sjavx6zm"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-bit-vec-0.4
  (package
    (inherit rust-bit-vec-0.5)
    (name "rust-bit-vec")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bit-vec" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0pw902a8ail0k64a7092a8vngfzsq7xkj2r22hz6q1z62s5zzd02"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.3))))))

(define-public rust-bitfield-0.14
  (package
    (name "rust-bitfield")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitfield" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b26k9acwss4qvrl60lf9n83l17d4hj47n5rmpd3iigf9j9n0zid"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dzamlo/rust-bitfield")
    (synopsis "Macros to generate bitfield-like struct")
    (description
     "This Rust crate provides macros to generate bitfield-like struct.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bitflags-2
  (package
    (name "rust-bitflags")
    (version "2.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitflags" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pkidwzn3hnxlsl8zizh0bncgbjnw7c41cx7bby26ncbzmiznj5h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-zerocopy" ,rust-zerocopy-0.7))))
    (home-page "https://github.com/bitflags/bitflags")
    (synopsis "Macro to generate structures which behave like bitflags")
    (description "This package provides a macro to generate structures which
behave like a set of bitflags.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-bitflags-1
  (package
    (inherit rust-bitflags-2)
    (name "rust-bitflags")
    (version "1.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitflags" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy"))))
    (arguments
     `(#:tests? #f      ; could not find `Serialize` in `serde`
       #: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-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-walkdir" ,rust-walkdir-2))))))

;; XXX: The package below is meant to fix rust-nix-0.22, which has the
;; following requirements for bitflags version: ">=1.1.0 <1.3.0", and every
;; package using the latter as a dependency (e.g., nushell 0.43).
(define-public rust-bitflags-1.2
  (package
    (inherit rust-bitflags-1)
    (name "rust-bitflags")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitflags" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg"))))))

(define-public rust-bitflags-0.9
  (package
    (inherit rust-bitflags-1)
    (name "rust-bitflags")
    (version "0.9.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bitflags" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19dk39gfwmhi3iy1x0wgml1fv1bkb525ywy25zwihbm063i05zaf"))))))

(define-public rust-bitflags-0.8
  (package
    (inherit rust-bitflags-1)
    (name "rust-bitflags")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitflags" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1x5z8hmirpnapkx6sww8gkc6x0q8ppni0lbsigm3mrba5byfjw0k"))))))

(define-public rust-bitflags-0.7
  (package
    (inherit rust-bitflags-1)
    (name "rust-bitflags")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitflags" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))))

(define-public rust-bitmaps-3
  (package
    (name "rust-bitmaps")
    (version "3.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitmaps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mivd3wyyham6c8y21nq3ka29am6v8hqn7lzmwf91aks2fq89l51"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-1)
        ("rust-proptest-derive" ,rust-proptest-derive-0.4))))
    (home-page "https://github.com/bodil/bitmaps")
    (synopsis "Fixed size compact boolean array in Rust")
    (description "This crate provides a convenient and efficient way of
declaring and working with fixed size bitmaps in Rust.")
    (license license:mpl2.0)))

(define-public rust-bitmaps-2
  (package
    (inherit rust-bitmaps-3)
    (name "rust-bitmaps")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitmaps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18k4mcwxl96yvii5kcljkpb8pg5j4jj1zbsdn26nsx4r83846403"))))
    (arguments
     `(#:cargo-inputs (("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-0.9)
        ("rust-proptest-derive" ,rust-proptest-derive-0.1))))))

(define-public rust-bitpacking-0.8
  (package
    (name "rust-bitpacking")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitpacking" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mw2xbpkw9zhfq5lir6bgkalhhfqb5p7xwx5yimc0ry1ffnd5ix8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t #:cargo-inputs (("rust-crunchy" ,rust-crunchy-0.2))))
    (home-page "https://crates.io/crates/bitpacking")
    (synopsis "Fast integer compression/decompression via SIMD bit-packing")
    (description
     "This crate provides fast integer compression and decompression via SIMD
bit-packing.  It is a port of simdcomp C library to Rust.")
    (license license:expat)))

(define-public rust-bitreader-0.3
  (package
    (name "rust-bitreader")
    (version "0.3.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitreader" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rn010p46g7fv08la915yq4q1vjfpgz8baf3bdv6rmb3w6qmjrc8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1))))
    (home-page "https://github.com/irauta/bitreader")
    (synopsis "Individual bits reader from a slice of bytes")
    (description "BitReader helps reading individual bits from a slice of
bytes.  You can read an arbitrary numbers of bits from the byte slice, for
example 13 bits at once.  The reader internally keeps track of position within
the buffer.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bitstream-io-2
  (package
    (name "rust-bitstream-io")
    (version "2.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitstream-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cli390l1dhp9skygyjjnqvczp36b7f31mkx9ry3dg26330cv6b0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-core2" ,rust-core2-0.4))))
    (home-page "https://github.com/tuffy/bitstream-io")
    (synopsis "Read/write un-aligned values from big or little-endian streams")
    (description
     "This package is a library for reading/writing un-aligned values from/to
streams in big-endian and little-endian formats.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bitvec-1
  (package
    (name "rust-bitvec")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bitvec" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "173ydyj2q5vwj88k6xgjnfsshs4x9wbvjjv7sm0h36r34hn87hhv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-funty" ,rust-funty-2)
        ("rust-radium" ,rust-radium-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-tap" ,rust-tap-1)
        ("rust-wyz" ,rust-wyz-0.5))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://bitvecto-rs.github.io/bitvec")
    (synopsis "Manipulate memory, bit by bit")
    (description
     "This package provides a crate for manipulating memory, bit by bit.")
    (license license:expat)))

(define-public rust-bitvec-0.22
  (package
    (name "rust-bitvec")
    (version "0.22.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitvec" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09xm84dg04y8k3cm7aa81n2xfvcnidahx0qpqc60l4w6ih5g0dsj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-funty" ,rust-funty-1.2.0-yanked) ; Specifically ~1.2
        ("rust-radium" ,rust-radium-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-tap" ,rust-tap-1)
        ("rust-wyz" ,rust-wyz-0.4))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://bitvecto-rs.github.io/bitvec")
    (synopsis "Manipulate memory, bit by bit")
    (description
     "This package provides a crate for manipulating memory, bit by bit.")
    (license license:expat)))

(define-public rust-bitvec-0.20
  (package
    (inherit rust-bitvec-0.22)
    (name "rust-bitvec")
    (version "0.20.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j3qn0z31j06c965hs3kh41l78hxbzzsf1h46xvs3ym48i1i8x3p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=slice::tests::get_set")
       #:cargo-inputs
       (("rust-funty" ,rust-funty-1)
        ("rust-radium" ,rust-radium-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-tap" ,rust-tap-1)
        ("rust-wyz" ,rust-wyz-0.2))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-bitvec-0.19
  (package
    (inherit rust-bitvec-0.22)
    (name "rust-bitvec")
    (version "0.19.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bitvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cvb24nanb50vq61d3ac3pz7rxjcy0w6lr3nb56kcg1nyc73vyam"))))
    (arguments
     `(#:cargo-inputs
       (("rust-funty" ,rust-funty-1)
        ("rust-radium" ,rust-radium-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-tap" ,rust-tap-1)
        ("rust-wyz" ,rust-wyz-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-blanket-0.3
  (package
    (name "rust-blanket")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blanket" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zvffm82h5825lcf9c0xy76mj487il472cpvcbiidy8dzslj3cg0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests fail to compile.
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-impls" ,rust-impls-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-syn" ,rust-syn-2)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/althonos/blanket")
    (synopsis "Macro to derive blanket implementations for your traits")
    (description
     "This package provides a simple macro to derive blanket implementations for
your traits.")
    (license license:expat)))

(define-public rust-blas-0.22
  (package
    (name "rust-blas")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blas" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p1rs9y8fpxmrh9jj1rf4q517x5h960v4jf30f1gwnr1qdshz65f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-blas-sys" ,rust-blas-sys-0.7)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-num-complex" ,rust-num-complex-0.4))))
    (home-page "https://github.com/blas-lapack-rs/blas")
    (synopsis "Rust wrappers for BLAS (Fortran)")
    (description "The package provides wrappers for BLAS (Fortran).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-blas-sys-0.7
  (package
    (name "rust-blas-sys")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blas-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/blas-lapack-rs/blas-sys")
    (synopsis "Rust bindings to BLAS (Fortran)")
    (description "The package provides bindings to BLAS (Fortran).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-blobby-0.3
  (package
    (name "rust-blobby")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blobby" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v7a6lzxbvrxpnk2jv895315v7yas1cvk26mmbl90ylp1719ax44"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-hex" ,rust-hex-0.4))))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Iterator over simple binary blob storage")
    (description "This package provides an iterator over simple binary blob
storage.")
    (license (list license:expat license:asl2.0))))

(define-public rust-blobby-0.1
  (package
    (inherit rust-blobby-0.3)
    (name "rust-blobby")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blobby" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1xicpf3s2mi5xqnx8ps5mdych4ib5nh2nfsbrsg8ar8bjk1girbg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-hex" ,rust-hex-0.3))))))

(define-public rust-block-buffer-0.10
  (package
    (name "rust-block-buffer")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "block-buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w9sa2ypmrsqqvc20nhwr75wbb5cjr4kkyhpjm1z1lv2kdicfy1h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-generic-array" ,rust-generic-array-0.14))))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Fixed size buffer for block processing of data")
    (description "Fixed size buffer for block processing of data.")
    (license (list license:expat license:asl2.0))))

(define-public rust-block-buffer-0.9
  (package
    (inherit rust-block-buffer-0.10)
    (name "rust-block-buffer")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "block-buffer" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1r4pf90s7d7lj1wdjhlnqa26vvbm6pnc33z138lxpnp9srpi2lj1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-block-padding" ,rust-block-padding-0.2)
        ("rust-generic-array" ,rust-generic-array-0.14))))))

(define-public rust-block-buffer-0.7
  (package
    (inherit rust-block-buffer-0.9)
    (name "rust-block-buffer")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "block-buffer" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12v8wizynqin0hqf140kmp9s38q223mp1b0hkqk8j5pk8720v560"))))
    (arguments
     `(#:cargo-inputs
       (("rust-block-padding" ,rust-block-padding-0.1)
        ("rust-byte-tools" ,rust-byte-tools-0.3)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-generic-array" ,rust-generic-array-0.12))))))

(define-public rust-block-padding-0.3
  (package
    (name "rust-block-padding")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "block-padding" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "14wdad0r1qk5gmszxqd8cky6vx8qg7c153jv981mixzrpzmlz2d8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-generic-array" ,rust-generic-array-0.14))))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Padding and unpadding of messages divided into blocks")
    (description
     "Padding and unpadding of messages divided into blocks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-block-padding-0.2
  (package
    (inherit rust-block-padding-0.3)
    (name "rust-block-padding")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "block-padding" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1bickjlmfw9iv63dp781n589rfybw879mik1va59833m1hvnqscd"))))))

(define-public rust-block-padding-0.1
  (package
    (inherit rust-block-padding-0.2)
    (name "rust-block-padding")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "block-padding" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xbkmysiz23vimd17rnsjpw9bgjxipwfslwyygqlkx4in3dxwygs"))))
    (arguments
     `(#:cargo-inputs (("rust-byte-tools" ,rust-byte-tools-0.3))))))

(define-public rust-blocking-1
  (package
    (name "rust-blocking")
    (version "1.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blocking" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1si99l8zp7c4zq87y35ayjgc5c9b60jb8h0k14zfcs679z2l2gvh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-channel" ,rust-async-channel-2)
        ("rust-async-task" ,rust-async-task-4)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-piper" ,rust-piper-0.2)
        ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-futures-lite" ,rust-futures-lite-2))))
    (home-page "https://github.com/smol-rs/blocking")
    (synopsis "Thread pool for isolating blocking I/O in async programs")
    (description
     "This package provides a thread pool for isolating blocking I/O in async
programs.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-blocking-0.6
  (package
    (inherit rust-blocking-1)
    (name "rust-blocking")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blocking" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13g1xlsd1ardf9wxkj1d03baxfy8f8kvgjz55l6zi1q4jn5f0c1z"))))
    (arguments
     `(#:cargo-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-atomic-waker" ,rust-atomic-waker-1)
        ("rust-fastrand" ,rust-fastrand-1)
        ("rust-futures-lite" ,rust-futures-lite-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-waker-fn" ,rust-waker-fn-1))))))

(define-public rust-blocking-0.4
  (package
    (inherit rust-blocking-0.6)
    (name "rust-blocking")
    (version "0.4.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "blocking" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0av1h5p6lb5bpzghmzsksx31icvdwrpxxzkq6r56n1l5pzvqyinj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-atomic-waker" ,rust-atomic-waker-1)
        ("rust-futures-lite" ,rust-futures-lite-0.1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking" ,rust-parking-1)
        ("rust-waker-fn" ,rust-waker-fn-1))))))

(define-public rust-borsh-1
  (package
    (name "rust-borsh")
    (version "1.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "borsh" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00vz4ngik3dz86j83ra6w3c8rq9amh1n9kaw452f6i5dfdzr81i5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests aren't setup correctly.
       #:cargo-inputs (("rust-ascii" ,rust-ascii-1)
                       ("rust-borsh-derive" ,rust-borsh-derive-1)
                       ("rust-bson" ,rust-bson-2)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-cfg-aliases" ,rust-cfg-aliases-0.2)
                       ("rust-hashbrown" ,rust-hashbrown-0.14))
       #:cargo-development-inputs (("rust-insta" ,rust-insta-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://borsh.io")
    (synopsis "Borsch is the binary object representation serializer for hashing")
    (description "This crate implements @code{borsh}, the binary object
representation serializer for hashing.  It is meant to be used in
security-critical projects as it prioritizes consistency, safety, speed, and
comes with a strict specification.")
    (license (list license:expat license:asl2.0))))

(define-public rust-borsh-0.10
  (package
    (inherit rust-borsh-1)
    (name "rust-borsh")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "borsh" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vkgajwrpncr46hk6nn8j3382jffkpy9xhcisfxdwb5n9vb58phi"))))
    (arguments
     `(#:tests? #f  ; the trait bound `BytesMut: BorshSerialize` is not satisfied
       #:cargo-inputs
       (("rust-borsh-derive" ,rust-borsh-derive-0.10)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-hashbrown" ,rust-hashbrown-0.13))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-1))))))

(define-public rust-borsh-derive-1
  (package
    (name "rust-borsh-derive")
    (version "1.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "borsh-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i3jdajyd0mjbrsaxx3y93x13ghnylr9hv0rff1xd2wkicxklnf2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests aren't setup correctly.
       #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-insta" ,rust-insta-1)
                                   ("rust-prettyplease" ,rust-prettyplease-0.2)
                                   ("rust-syn" ,rust-syn-2))))
    (home-page "https://borsh.io")
    (synopsis "Derive proc-macros for @code{borsh}")
    (description "This crate implements derive proc-macros for @code{borsh}.")
    (license license:asl2.0)))

(define-public rust-borsh-derive-0.10
  (package
    (inherit rust-borsh-derive-1)
    (name "rust-borsh-derive")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "borsh-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12gg3kgi6gi4qlqrxlccpnhffsxsb8scbqlnss6rj8wl1pw164l3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-borsh-derive-internal" ,rust-borsh-derive-internal-0.10)
        ("rust-borsh-schema-derive-internal" ,rust-borsh-schema-derive-internal-0.10)
        ("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-borsh-derive-internal-0.10
  (package
    (name "rust-borsh-derive-internal")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "borsh-derive-internal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cvn16046101px9b98i3np95rmrwvzbi63d7l957362cci8bmmk5"))))
    (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://borsh.io")
    (synopsis "Borsh derive proc-macro internals")
    (description "This crate contains derive proc-macro internals for @code{borsh}.")
    (license license:asl2.0)))

(define-public rust-borsh-schema-derive-internal-0.10
  (package
    (name "rust-borsh-schema-derive-internal")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "borsh-schema-derive-internal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m5nldxh5ji4hxw7g3zlm6xqwj4f2j32nsg6hfz2fd06dzcr2ri7"))))
    (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))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://borsh.io")
    (synopsis "Schema generator for @code{borsh}")
    (description "This crate implements schema generator for @code{borsh}.")
    (license license:asl2.0)))

(define-public rust-boxfnonce-0.1
  (package
    (name "rust-boxfnonce")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "boxfnonce" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09ilf4zyx92hyhkxlsxksfyprzr9iwq5gqqb22aaqr32c8fwp22r"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/stbuehler/rust-boxfnonce")
    (synopsis "Safe FnOnce boxing for Rust")
    (description "This package provides a safe FnOnce boxing for Rust.")
    (license license:expat)))

(define-public rust-boxxy-0.13
  (package
    (name "rust-boxxy")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "boxxy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rhzv4c6xn6va4dikbq2a2cmd5sa3svl13lhpcrchdn23y744aq0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-base64" ,rust-base64-0.13)
                       ("rust-bufstream" ,rust-bufstream-0.1)
                       ("rust-caps" ,rust-caps-0.5)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-clap" ,rust-clap-3)
                       ("rust-close-fds" ,rust-close-fds-0.3)
                       ("rust-errno" ,rust-errno-0.2)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libflate" ,rust-libflate-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.24)
                       ("rust-pledge" ,rust-pledge-0.4)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-reqwest" ,rust-reqwest-0.11)
                       ("rust-rustls" ,rust-rustls-0.20)
                       ("rust-rustyline" ,rust-rustyline-10)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-tar" ,rust-tar-0.4)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-ctrlc" ,rust-ctrlc-3)
                                   ("rust-elf" ,rust-elf-0.0.10)
                                   ("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-pem" ,rust-pem-1)
                                   ("rust-rustls" ,rust-rustls-0.20)
                                   ("rust-sha2" ,rust-sha2-0.10))))
    (home-page "https://github.com/kpcyrd/boxxy-rs")
    (synopsis "Linkable sandbox explorer")
    (description
     "This library provides an interactive shell that can be linked into a
program to verify sandboxing measures are adequate.")
    (license license:lgpl3)))

(define-public rust-bracoxide-0.1
  (package
    (name "rust-bracoxide")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bracoxide" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13khmkxxh583hhzz0bvkg6bqwpnz4b9g400sq8liz3jf8asvrh7v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/atahabaki/bracoxide")
    (synopsis "Library for brace pattern combination, etc.")
    (description "This package provides a feature-rich library for brace pattern
combination, permutation generation, and error handling.")
    (license license:expat)))

(define-public rust-branches-0.1
  (package
    (name "rust-branches")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "branches" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0alxmzmms4s8vv1v94y2kdq49a4p7728fgkpxx36z2m092bznn3r"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/fereidani/branches")
    (synopsis "Branch hinting prediction and control functions")
    (description
     "This package provides branch hinting prediction and control functions for
stable Rust including likely, unlikely, assume and abort to help algorithm
optimization.")
    (license license:expat)))

(define-public rust-bresenham-0.1
  (package
    (name "rust-bresenham")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bresenham" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mvg3zcyll0m3z79jwbg183ha4kb7bw06rd286ijwvgn4mi13hdz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/mbr/bresenham-rs")
    (synopsis
     "Iterator-based integer-only implementation of Bresenham's line algorithm")
    (description
     "This package provides a fast, iterator-based integer-only implementation of
Bresenham's line algorithm.")
    (license license:expat)))

(define-public rust-broadcaster-0.2
  (package
    (name "rust-broadcaster")
    (version "0.2.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "broadcaster" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1848lwapy955rs8kbiv87adj68vdlh6vlj8n4wq10vx541j49887"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3)
        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
        ("rust-parking-lot" ,rust-parking-lot-0.9)
        ("rust-slab" ,rust-slab-0.4))
       #:cargo-development-inputs
       (("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3))))
    (home-page "https://github.com/leo60228/broadcaster")
    (synopsis "Broadcasting futures mpmc channel")
    (description
     "This package provides a wrapper for any Stream and Sink implementing the
@code{mpsc} pattern to enable broadcasting items.")
    (license (list license:expat license:asl2.0))))

(define-public rust-browserslist-rs-0.6
  (package
    (name "rust-browserslist-rs")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "browserslist-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19l0prgnbx0cyqvjsf30ni7d87nkn8j0fj56fg259yvfh50if1ri"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-anyhow" ,rust-anyhow-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-either" ,rust-either-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-napi" ,rust-napi-2)
        ("rust-napi-build" ,rust-napi-build-1)
        ("rust-napi-derive" ,rust-napi-derive-2)
        ("rust-nom" ,rust-nom-7)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-wasm-bindgen" ,rust-serde-wasm-bindgen-0.3)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-string-cache" ,rust-string-cache-0.8)
        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-test-case" ,rust-test-case-1))))
    (home-page "https://github.com/browserslist/browserslist-rs")
    (synopsis "Rust-ported Browserslist")
    (description "Rust-ported Browserslist.")
    (license license:expat)))

(define-public rust-bs58-0.5
  (package
    (name "rust-bs58")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bs58" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x3v51n5n2s3l0rgrsn142akdf331n2qsa75pscw71fi848vm25z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-sha2" ,rust-sha2-0.10)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-tinyvec" ,rust-tinyvec-1))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-base58" ,rust-base58-0.1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-rust-base58" ,rust-rust-base58-0.0.4)
        ("rust-tinyvec" ,rust-tinyvec-1))))
    (home-page "https://github.com/Nullus157/bs58-rs")
    (synopsis "Another Base58 codec implementation")
    (description
     "Another Base58 codec implementation.  Compared to the base58 crate this
is significantly faster at decoding: about 2.4x as fast when decoding 32 bytes,
almost the same speed for encoding: about 3% slower when encoding 32 bytes.
@code{rust-bs58} is not limited to 128 bytes and supports a configurable alphabet.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bs58-0.4
  (package
    (inherit rust-bs58-0.5)
    (name "rust-bs58")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bs58" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lr3vwzhhyica4y7rbkf26vr1h7vpjb1m6rml8zcqgw81c2y07vp"))))
    (arguments
     `(#:cargo-inputs (("rust-sha2" ,rust-sha2-0.9))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-base58" ,rust-base58-0.1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-rust-base58" ,rust-rust-base58-0.0.4))))))

(define-public rust-bsd-kvm-0.1
  (package
    (name "rust-bsd-kvm")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bsd-kvm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gncwfwlx6mq47qc1siwaiqlsaccy7vsc1v39ybs4xvvn4lfpd4l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; Missing kvm.h.
       #:cargo-inputs (("rust-bsd-kvm-sys" ,rust-bsd-kvm-sys-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (inputs (list clang))
    (home-page "https://github.com/dalance/bsd-kvm")
    (synopsis "BSD Kernel Data Access Library (libkvm) binding")
    (description
     "This package provides the BSD Kernel Data Access Library (libkvm) binding.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bsd-kvm-sys-0.2
  (package
    (name "rust-bsd-kvm-sys")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bsd-kvm-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cn90d0kkfcs36v3sq3lpckyy0pdpdq0m7ihjlancripdn98yh35"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; Missing kvm.h.
       #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.65))))
    (inputs (list clang))
    (home-page "https://github.com/dalance/bsd-kvm-sys")
    (synopsis "BSD Kernel Data Access Library (libkvm) binding")
    (description
     "This package provides BSD Kernel Data Access Library (libkvm) bindings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bson-2
  (package
    (name "rust-bson")
    (version "2.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bson" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ndsd9lk148xiv87am4gyr02dfmq5f6lhdzfy6kjgypwnvr0i0h6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; file not found for module `tests`
       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-base64" ,rust-base64-0.13)
                       ("rust-bitvec" ,rust-bitvec-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-bytes" ,rust-serde-bytes-0.11)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1)
                       ("rust-serde-with" ,rust-serde-with-3)
                       ("rust-serde-with" ,rust-serde-with-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-uuid" ,rust-uuid-1)
                       ("rust-uuid" ,rust-uuid-0.8))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11))))
    (home-page "https://github.com/mongodb/bson-rust")
    (synopsis "Encoding and decoding support for BSON in Rust")
    (description "This crate provides encoding and decoding support for BSON.")
    (license license:expat)))

(define-public rust-bson-1
  (package
    (inherit rust-bson-2)
    (name "rust-bson")
    (version "1.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bson" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cbc9mbjm4imzcv95y8r6rgl6kgv7ka5ifhhlxaqi4sv0dwaa2ny"))))
    (arguments
     `(#:tests? #f      ; file not found for module `tests`
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-uuid" ,rust-uuid-0.8))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11))))))

(define-public rust-bstr-1
  (package
    (name "rust-bstr")
    (version "1.11.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bstr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1j32ghvgwvc40bc6g38ximk52dv1xfknkzfmdwpgjnrsd1yk0skq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-memchr" ,rust-memchr-2)
        ("rust-regex-automata" ,rust-regex-automata-0.4)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-ucd-parse" ,rust-ucd-parse-0.1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
    (home-page "https://github.com/BurntSushi/bstr")
    (synopsis "String type that is not required to be valid UTF-8")
    (description
     "This package provides a string type that is not required to be valid
UTF-8.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bstr-0.2
  (package
    (inherit rust-bstr-1)
    (name "rust-bstr")
    (version "0.2.17")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bstr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex-automata" ,rust-regex-automata-0.1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.8)
        ("rust-ucd-parse" ,rust-ucd-parse-0.1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))))

(define-public rust-btoi-0.4
  (package
    (name "rust-btoi")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "btoi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bg02zgsv5njbhng9sq2b70przbazsczjbla5lbbdf59fdzl1mlx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/niklasf/rust-btoi")
    (synopsis "Parse integers directly from ASCII byte slices")
    (description "Parse integers directly from ASCII byte slices.")
    (license (list license:expat license:asl2.0))))

(define-public rust-buf-min-0.7
  (package
    (name "rust-buf-min")
    (version "0.7.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "buf-min" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "146wb3p4n62jbka6ym7sagziydcbixwhamw0cknl49w4ys66km92"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-ntex-bytes" ,rust-ntex-bytes-0.1))))
    (home-page "https://github.com/botika/buf-min")
    (synopsis "Minimal utf-8 safe buffer traits")
    (description "This package provides mminimal utf-8 safe buffer traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-buf-redux-0.8
  (package
    (name "rust-buf-redux")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buf_redux" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zy0p4vd2kjk7z5m4m8kdwhs5cmx1z02n7v36njhgfs8fs4aclxr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2)
        ("rust-safemem" ,rust-safemem-0.3)
        ("rust-slice-deque" ,rust-slice-deque-0.2))))
    (home-page "https://github.com/abonander/buf_redux")
    (synopsis "Drop-in replacements for buffered I/O in @code{std::io}")
    (description
     "This package provides drop-in replacements for buffered I/O in
@code{std::io}, with extra features.")
    (license (list license:expat license:asl2.0))))

(define-public rust-buffer-redux-1
  (package
    (name "rust-buffer-redux")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buffer-redux" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1waq39blrj7j6qp1sp2fvplwmq10yhks7fgbsdy8kxdrqn3wz2jf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2)
                       ("rust-slice-ring-buffer" ,rust-slice-ring-buffer-0.3))))
    (home-page "https://github.com/dignifiedquire/buffer-redux")
    (synopsis "Replacements for buffered I/O in `std::io` with extra features")
    (description "This crate provides a drop-in replacements for buffered I/O in
@code{std::io} with extra features.")
    (license (list license:expat license:asl2.0))))

(define-public rust-buffered-reader-1
  (package
    (name "rust-buffered-reader")
    (version "1.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buffered-reader" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16rbk2671wbslz4rxcxcr0cglrd65fnn6b8p4s2qwyjqamg1rggs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bzip2" ,rust-bzip2-0.4)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://sequoia-pgp.org/")
    (synopsis "Super-powered Reader")
    (description
     "Like the @code{BufRead} trait, the @code{BufferedReader} trait has an
internal buffer that is directly exposed to the user.  This design enables two
performance optimizations.  First, the use of an internal buffer amortizes
system calls.  Second, exposing the internal buffer allows the user to work
with data in place, which avoids another copy.")
    (license license:gpl3)))

(define-public rust-buffering-0.4
  (package
    (name "rust-buffering")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buffering" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wmgy84j5scbndzx7mccz07z34n98fwnfah1zd5kzqjaif5iqk76"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-buffering-nocopy-macro" ,rust-buffering-nocopy-macro-0.2))))
    (home-page "https://github.com/jbaublitz/buffering")
    (synopsis "Library primarily designed for network packet buffer operations")
    (description
     "This package provides a library primarily designed for network packet
buffer operations.")
    (license license:bsd-3)))

(define-public rust-buffering-0.3
  (package
    (inherit rust-buffering-0.4)
    (name "rust-buffering")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buffering" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11cyq2nm569j028g93jxk00h8nfwc3l6n3hqw79w34na01p3lq97"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-buffering-nocopy-macro" ,rust-buffering-nocopy-macro-0.1))))))

(define-public rust-buffering-nocopy-macro-0.2
  (package
    (name "rust-buffering-nocopy-macro")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buffering_nocopy_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a8zs7s5z0f977g7zx95b8sf8gqa8iwh13rj639wk080d00l5kaa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/jbaublitz/buffering")
    (synopsis "Proc-macro crate for buffering")
    (description "This package provides a proc-macro crate for buffering.")
    (license license:bsd-3)))

(define-public rust-buffering-nocopy-macro-0.1
  (package
    (inherit rust-buffering-nocopy-macro-0.2)
    (name "rust-buffering-nocopy-macro")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "buffering_nocopy_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03b6wp4i3273jzw2nbnrnddlxyma3p465y2dszx6vc3ysq0fdlj7"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.14))))))

(define-public rust-bufstream-0.1
  (package
    (name "rust-bufstream")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bufstream" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1j7f52rv73hd1crzrrfb9dr50ccmi3hb1ybd6s5dyg6jmllqkqs0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1))))
    (home-page "https://github.com/alexcrichton/bufstream")
    (synopsis "I/O streams with separate read/write buffers")
    (description
     "This package provides buffered I/O for streams where each read/write
half is separately buffered.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bugreport-0.5
  (package
    (name "rust-bugreport")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bugreport" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jcq9ywxyd7fw1ing8ixna0cfcs5lrviyvx6h6080ir532w20lak"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-git-version" ,rust-git-version-0.3)
        ("rust-shell-escape" ,rust-shell-escape-0.1)
        ("rust-sys-info" ,rust-sys-info-0.9))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/sharkdp/bugreport")
    (synopsis "Collect system and environment information for bug reports")
    (description
     "bugreport is a Rust library that helps application developers to
automatically collect information about the system and the environment that
users can send along with a bug report.")
    (license (list license:expat license:asl2.0))))

(define-public rust-build-const-0.2
  (package
    (name "rust-build-const")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "build_const" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1dryhsf4vfi1plljgv069sgfr8m1rsg04qy76x36kh6swqsl5bml"))))
    (build-system cargo-build-system)
    (home-page "https://crates.io/crates/build_const")
    (synopsis "Create importable constants from build.rs or a script")
    (description "This package provides a library for creating importable
constants from build.rs or a script.")
    (license license:expat)))

(define-public rust-build-context-0.1
  (package
    (name "rust-build-context")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "build-context" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0df98z2ky5d5jqiqhz8bpfv7cfh0vrlrsksp3finapflx6qhqqc6"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/taiki-e/build-context")
    (synopsis "Build environment/target information available in libraries")
    (description
     "Make build environment/target information available as constants in normal
libraries and binaries.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-build-fs-tree-0.6
  (package
    (name "rust-build-fs-tree")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "build-fs-tree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11j2gv00zz4hpcsrnw519svchn7fml1m4hndfm2qc30xvnd36s2c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-clap-utilities" ,rust-clap-utilities-0.2)
                       ("rust-derive-more" ,rust-derive-more-0.99)
                       ("rust-pipe-trait" ,rust-pipe-trait-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-yaml" ,rust-serde-yaml-0.9)
                       ("rust-text-block-macros" ,rust-text-block-macros-0.1))))
    (home-page "https://github.com/KSXGitHub/build-fs-tree.git")
    (synopsis "Generate a filesystem tree from a macro or a YAML tree")
    (description "Generate a filesystem tree from a macro or a YAML tree.")
    (license license:expat)))

(define-public rust-built-0.7
  (package
    (name "rust-built")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "built" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fyhzjgymls3qylggd6rs4vkq44rkl1kyv33lfbfrdsjxmd50q63"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=full_testbox")
       #:cargo-inputs (("rust-cargo-lock" ,rust-cargo-lock-10)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-semver" ,rust-semver-1))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (native-inputs (list pkg-config))
    (inputs (list libgit2-1.8 zlib))
    (home-page "https://github.com/lukaslueg/built")
    (synopsis "Provides a crate with information from the time it was built")
    (description
     "This package provides a crate with information from the time it was built.")
    (license license:expat)))

(define-public rust-bumpalo-3
  (package
    (name "rust-bumpalo")
    (version "3.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bumpalo" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
          "0b015qb4knwanbdlp1x48pkb4pm57b8gidbhhhxr900q2wb6fabr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ; Not all files included.
       #:cargo-inputs
       (("rust-allocator-api2" ,rust-allocator-api2-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/fitzgen/bumpalo")
    (synopsis "Fast bump allocation arena for Rust")
    (description
     "This package provides a fast bump allocation arena for Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bv-0.11
  (package
    (name "rust-bv")
    (version "0.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h5kbl54fsccznfixw83xndbripw39y2qkqjwf709p75iqfvnd48"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-feature-probe" ,rust-feature-probe-0.1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.6))))
    (home-page "https://github.com/tov/bv-rs")
    (synopsis "Bit-vectors and bit-slices")
    (description "The main type exported by this library, @code{BitVec}, is a
packed, growable bit-vector.  Its API mirrors that of @code{Vec} where
reasonable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bwrap-1
  (package
    (name "rust-bwrap")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bwrap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15dv9mawgmwgpj88k832qjdi94w70advg9zv28bpgig5k8qs6gfi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/micl2e2/bwrap")
    (synopsis "Embedded systems-friendly library for wrapping text")
    (description
     "This package provides a fast, lightweight, embedded systems-friendly
library for wrapping text.")
    (license (list license:expat license:gpl3+))))

(define-public rust-by-address-1
  (package
    (name "rust-by-address")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "by_address" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01idmag3lcwnnqrnnyik2gmbrr34drsi97q15ihvcbbidf2kryk4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=tests::test_thin_ptr_fail")))
    (home-page "https://github.com/mbrubeck/by_address")
    (synopsis "Wrapper for comparing and hashing pointers by address")
    (description
     "This package provides Wrapper for comparing and hashing pointers by address.")
    (license (list license:expat license:asl2.0))))

(define-public rust-byte-slice-cast-1
  (package
    (name "rust-byte-slice-cast")
    (version "1.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "byte-slice-cast" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "033vv1qddzsj9yfsam4abj55rp60digngcr9a8wgv9pccf5rzb63"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; Some of the tests fail.
             "--skip=tests::u16_array")))
    (home-page "https://github.com/sdroege/byte-slice-cast")
    (synopsis
     "Safely cast bytes slices from/to slices of built-in fundamental numeric types")
    (description "This Rust library enables safely cast bytes slices from/to slices
of built-in fundamental numeric types.")
    (license license:expat)))

(define-public rust-byte-tools-0.3
  (package
    (name "rust-byte-tools")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byte-tools" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mqi29wsm8njpl51pfwr31wmpzs5ahlcb40wsjyd92l90ixcmdg3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Bytes related utility functions")
    (description "Bytes related utility functions.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-byte-unit-5
  (package
    (name "rust-byte-unit")
    (version "5.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byte-unit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0x3ifzw0isgsiffg4yhvqa28rzbyxpivy2bkph69n845qp1jkkg1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rocket" ,rust-rocket-0.5)
                       ("rust-rust-decimal" ,rust-rust-decimal-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-utf8-width" ,rust-utf8-width-0.1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://magiclen.org/byte-unit")
    (synopsis "Library for interaction with units of bytes")
    (description
     "This package provides a library for interaction with units of bytes.")
    (license license:expat)))

(define-public rust-byte-unit-4
  (package
    (inherit rust-byte-unit-5)
    (name "rust-byte-unit")
    (version "4.0.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byte-unit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v4v4z8qilnbg0lv16icbbbdq5kjpbp8yw044lszrzdqawhb6y6s"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-utf8-width" ,rust-utf8-width-0.1))))))

(define-public rust-bytecheck-0.6
  (package
    (name "rust-bytecheck")
    (version "0.6.12")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bytecheck" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hmipv4yyxgbamcbw5r65wagv9khs033v9483s9kri9sw9ycbk93"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-bytecheck-derive" ,rust-bytecheck-derive-0.6)
        ("rust-ptr-meta" ,rust-ptr-meta-0.1)
        ("rust-simdutf8" ,rust-simdutf8-0.1)
        ("rust-uuid" ,rust-uuid-1))))
    (home-page "https://github.com/rkyv/bytecheck")
    (synopsis "Type validation framework")
    (description "This package provides a type validation framework for
Rust.")
    (license license:expat)))

(define-public rust-bytecheck-0.5
  (package
    (inherit rust-bytecheck-0.6)
    (name "rust-bytecheck")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytecheck" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q11ap6nqj0rsc8ypwjh918916zlrcrzdgqm175gnpb2yn9axyh1"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytecheck-derive" ,rust-bytecheck-derive-0.5)
        ("rust-log" ,rust-log-0.4)
        ("rust-ptr-meta" ,rust-ptr-meta-0.1)
        ("rust-simdutf8" ,rust-simdutf8-0.1))))))

(define-public rust-bytecheck-derive-0.6
  (package
    (name "rust-bytecheck-derive")
    (version "0.6.12")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bytecheck_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ng6230brd0hvqpbgcx83inn74mdv3abwn95x515bndwkz90dd1x"))))
    (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/rkyv/bytecheck")
    (synopsis "Derive macro for bytecheck")
    (description "This package provides a Derive macro for bytecheck, the type
validation framework for Rust.")
    (license license:expat)))

(define-public rust-bytecheck-derive-0.5
  (package
    (inherit rust-bytecheck-derive-0.6)
    (name "rust-bytecheck-derive")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytecheck_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0grbkwwv5j91n7zrimci6fh4k79flxga3mkjg50jysnyraizi088"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-bytecount-0.6
  (package
    (name "rust-bytecount")
    (version "0.6.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "bytecount" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1klqfjwn41fwmcqw4z03v6i4imgrf7lmf3b5s9v74hxir8hrps2w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/llogiq/bytecount")
    (synopsis "Count occurrences of a given byte")
    (description
     "Count occurrences of a given byte, or the number of UTF-8 code points,
in a byte slice, fast.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-bytelines-2
  (package
    (name "rust-bytelines")
    (version "2.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytelines" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jxacxpb7v0qgh325s5b7mfk90fr63jpr90dar8m47r27imnb5qj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/whitfin/bytelines")
    (synopsis "Read input lines as byte slices for high efficiency")
    (description
     "This library provides an easy way to read in input lines as byte slices for
high efficiency.")
    (license license:expat)))

(define-public rust-bytemuck-1
  (package
    (name "rust-bytemuck")
    (version "1.20.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytemuck" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0nk9llwmvjpjlsrlga1qg3spqvci8g1nr286nhamvn7zcf5chdwb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck-derive" ,rust-bytemuck-derive-1))))
    (home-page "https://github.com/Lokathor/bytemuck")
    (synopsis "Crate for mucking around with piles of bytes")
    (description
     "This package provides a crate for mucking around with piles of bytes.")
    (license license:zlib)))

(define-public rust-bytemuck-derive-1
  (package
    (name "rust-bytemuck-derive")
    (version "1.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytemuck_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1v5r33dgl12rqbvh440fdjxmxxr49qpzmg6vpw5jzdbcjk6w7z5w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `bytemuck`
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/Lokathor/bytemuck")
    (synopsis "Derive proc-macros for @code{bytemuck}")
    (description
     "This package derives proc-macros for the @code{bytemuck} crate.")
    (license
      (list license:zlib license:asl2.0 license:expat))))

(define-public rust-byteorder-1
  (package
    (name "rust-byteorder")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byteorder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jzncxyf404mwqdbspihyzpkndfgda450l0893pz5xj685cg5l0z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7))))
    (home-page "https://github.com/BurntSushi/byteorder")
    (synopsis "Reading/writing numbers in big-endian and little-endian")
    (description
     "This library is used for reading or writing numbers in big-endian and
little-endian.")
    (license (list license:expat license:unlicense))))

(define-public rust-byteorder-0.5
  (package
    (inherit rust-byteorder-1)
    (name "rust-byteorder")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byteorder" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0ma8pkyz1jbglr29m1yzlc9ghmv6672nvsrn7zd0yn5jqs60xh8g"))))
    (arguments
     `(#:tests? #f
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.2)
        ("rust-rand" ,rust-rand-0.3))))))

(define-public rust-byteorder-lite-0.1
  (package
    (name "rust-byteorder-lite")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byteorder-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15alafmz4b9az56z6x7glcbcb6a8bfgyd109qc3bvx07zx4fj7wg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.9)
                                   ("rust-rand" ,rust-rand-0.7))))
    (home-page "https://github.com/image-rs/byteorder-lite")
    (synopsis
     "Library for reading/writing numbers in big-endian and little-endian")
    (description
     "This package provides a library for reading/writing numbers in big-endian
and little-endian.")
    (license (list license:unlicense license:expat))))

(define-public rust-bytes-1
  (package
    (name "rust-bytes")
    (version "1.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16ykzx24v1x4f42v2lxyvlczqhdfji3v7r4ghwckpwijzvb1hn9j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-loom" ,rust-loom-0.7)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/tokio-rs/bytes")
    (synopsis "Types and traits for working with bytes")
    (description "This package is a utility library for working with bytes.")
    (license license:expat)))

(define-public rust-bytes-0.6
  (package
    (inherit rust-bytes-1)
    (name "rust-bytes")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05ivrcbgl4f7z2zzm9hbsi8cy66spi70xlm6fp16zsq4ylsvrp70"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-loom" ,rust-loom-0.3)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-bytes-0.5
  (package
    (inherit rust-bytes-0.6)
    (name "rust-bytes")
    (version "0.5.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f5s7xq6qzmdh22ygsy8v0sp02m51y0radvq4i4y8cizy1lfqk0f"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1))))))

(define-public rust-bytes-0.4
  (package
    (inherit rust-bytes-0.5)
    (name "rust-bytes")
    (version "0.4.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytes" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0768a55q2fsqdjsvcv98ndg9dq7w2g44dvq1avhwpxrdzbydyvr0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-either" ,rust-either-1)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-bytes-0.3
  (package
    (inherit rust-bytes-0.4)
    (name "rust-bytes")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytes" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "09vcp9kh12pva2xn2ir79k90v1a0id8f4sdv1abn5ifw2bqsyaf1"))))
    (arguments
     `(#:tests? #f      ; Tests not distributed in crate.
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.3))))))

(define-public rust-bytesize-1
  (package
    (name "rust-bytesize")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytesize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k3aak70iwz4s2gsjbxf0ws4xnixqbdz6p2ha96s06748fpniqx3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-toml" ,rust-toml-0.7))))
    (home-page "https://github.com/hyunsik/bytesize/")
    (synopsis "Human-readable byte count representation library for Rust")
    (description "ByteSize is an utility for human-readable byte count
representation, with support for both SI and binary units.")
    (license license:asl2.0)))

(define-public rust-bytestring-1
  (package
    (name "rust-bytestring")
    (version "1.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytestring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pwf6x2hxy6imy7ph15c5jxx51js5p5xwl1zfnq26a1vw9x68rg4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://actix.rs")
    (synopsis "UTF-8 encoded string with Bytes as a storage")
    (description "This package provides a UTF-8 encoded read-only string using
`Bytes` as storage.")
    (license (list license:expat license:asl2.0))))

(define-public rust-bytestring-0.1
  (package
    (inherit rust-bytestring-1)
    (name "rust-bytestring")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "bytestring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qzkncgky5p5vsdb9msmfg6d92dcs9idcjcr5nk7inkja7x0az7w"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-byteyarn-0.2
  (package
    (name "rust-byteyarn")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "byteyarn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zs2r5qiqwhd6fj7bqg8ziha63sbggy5xmq6vfsan5zaq00l6lx7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/mcy/byteyarn")
    (synopsis "Hyper-compact strings")
    (description "Hyper-compact and space efficient strings.")
    (license license:asl2.0)))

(define-public rust-c-vec-2
  (package
    (name "rust-c-vec")
    (version "2.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "c_vec" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1s765fviy10q27b0wmkyk4q728z9v8v5pdlxv5k564y0mlks9mzx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/GuillaumeGomez/c_vec-rs.git")
    (synopsis "Structures to wrap C arrays")
    (description "This package provides structures to wrap C arrays in Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cache-padded-1
  (package
    (name "rust-cache-padded")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cache-padded" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08gb1407k0cvhfllgg06j45r0lv99qrmraf19mccqbs2iz4j05cq"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/stjepang/cache-padded")
    (synopsis "Prevent once piece of data invalidating other cached data")
    (description
     "In concurrent programming, sometimes it is desirable to make sure
commonly accessed shared data is not all placed into the same cache line.
Updating an atomic value invalides the whole cache line it belongs to, which
makes the next access to the same cache line slower for other CPU cores.  Use
CachePadded to ensure updating one piece of data doesn't invalidate other
cached data.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cachedir-0.3
  (package
    (name "rust-cachedir")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cachedir" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wyqx30crm2qsq4ny57hhljyq6iw6j4qfg7fbfiqznvpf29z60s7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/jstasiak/cachedir")
    (synopsis "Interact with cache directories and @file{CACHEDIR.TAG} files")
    (description
     "This package provides a library to help interacting with cache
directories and @file{CACHEDIR.TAG} files as defined by the Cache Directory
Tagging Specification.  This library comes with functionality to, among
others, add a tag, ensure/check a tag exists and get the state of a tag.")
    (license license:expat)))

(define-public rust-calamine-0.26
  (package
    (name "rust-calamine")
    (version "0.26.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calamine" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cbfjwb37c28gkb42wsgpp93fxsrzhxgjjza0hc7yp9cmywld1hk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Doc tests segfault.
       #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-codepage" ,rust-codepage-0.1)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-quick-xml" ,rust-quick-xml-0.31)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-zip" ,rust-zip-2))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-rstest" ,rust-rstest-0.21)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-sha2" ,rust-sha2-0.10))))
    (home-page "https://github.com/tafia/calamine")
    (synopsis "Reader and deserializer for spreadsheet files")
    (description
     "@code{calamine} is a pure Rust library to read and deserialize any
spreadsheet file.")
    (license license:expat)))

(define-public rust-calibright-0.1
  (package
    (name "rust-calibright")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calibright" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pqyr6zbgqpxyhszgkvmi1y0hnqrd1nnghxds62z125zkv7ygmsq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dirs" ,rust-dirs-5)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-notify" ,rust-notify-6)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smart-default" ,rust-smart-default-0.7)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-zbus" ,rust-zbus-3))))
    (home-page "https://github.com/bim9262/calibright")
    (synopsis "Brightness utility with calibration between monitors")
    (description
     "This package provides a brightness utility that allows you to calibrate
brightness between monitors.")
    (license license:gpl3)))

(define-public rust-calloop-0.13
  (package
    (name "rust-calloop")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v5zgidnhsyml403rzr7vm99f8q6r5bxq5gxyiqkr8lcapwa57dr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-task" ,rust-async-task-4)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-futures-io" ,rust-futures-io-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.28)
                       ("rust-pin-utils" ,rust-pin-utils-0.1)
                       ("rust-polling" ,rust-polling-3)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-slab" ,rust-slab-0.4)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3)
                                   ("rust-rustix" ,rust-rustix-0.38))))
    (home-page "https://github.com/Smithay/calloop")
    (synopsis "Callback-based event loop")
    (description "This package provides a callback-based event loop.")
    (license license:expat)))

(define-public rust-calloop-0.12
  (package
    (inherit rust-calloop-0.13)
    (name "rust-calloop")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gxd20zpys0q4v9fg3nrkyhrnjgpkgriidgfm5aqraar9njbal3v"))))
    (arguments
     `(#:cargo-inputs (("rust-async-task" ,rust-async-task-4)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-futures-io" ,rust-futures-io-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-pin-utils" ,rust-pin-utils-0.1)
                       ("rust-polling" ,rust-polling-3)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-slab" ,rust-slab-0.4)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3)
                                   ("rust-rustix" ,rust-rustix-0.38))))))

(define-public rust-calloop-0.10
  (package
    (inherit rust-calloop-0.12)
    (name "rust-calloop")
    (version "0.10.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "calloop" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14h1yjksd8kakbd4xqz9xjc2gsa97rsdj5g05ivqsisswidj4n8s"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; Some of the tests fail.
             "--skip=loop_logic::tests::insert_source_no_interest")
       #:cargo-inputs
       (("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.25)
        ("rust-slotmap" ,rust-slotmap-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-vec-map" ,rust-vec-map-0.8))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3))))))

(define-public rust-calloop-0.9
  (package
    (inherit rust-calloop-0.10)
    (name "rust-calloop")
    (version "0.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10mbcsd7fj3cg0a463h3003wycv955cnj4pm2gla2sp5xxhyqbmz"))))
    (arguments
     `(#:tests? #f ;XXX fails without stdin, fixed in 0.11
       #:cargo-inputs
       (("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.22))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3))))))

(define-public rust-calloop-0.6
  (package
    (inherit rust-calloop-0.9)
    (name "rust-calloop")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z3jlsv3g28097dhsmi2l8nzkd3p937jhb4pg52njhb0wxkn20qb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.18))))))

(define-public rust-calloop-0.4
  (package
    (inherit rust-calloop-0.6)
    (name "rust-calloop")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0q6ic9lr0s86886mbyn4yncg68b2sykgwjf3iygdw01swmxhk8ks"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            (substitute* "Cargo.toml"
              (("=1.0.0") "^1.0.0"))
            #t))))
    (arguments
     `(#:cargo-inputs
       (("rust-mio" ,rust-mio-0.6)
        ("rust-mio-extras" ,rust-mio-extras-2)
        ("rust-nix" ,rust-nix-0.14))
       #:cargo-development-inputs
       (("rust-lazycell" ,rust-lazycell-1))))))

(define-public rust-calloop-wayland-source-0.3
  (package
    (name "rust-calloop-wayland-source")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop-wayland-source" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "086x5mq16prrcwd9k6bw9an0sp8bj9l5daz4ziz5z4snf2c6m9lm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-calloop" ,rust-calloop-0.13)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-wayland-backend" ,rust-wayland-backend-0.3)
                       ("rust-wayland-client" ,rust-wayland-client-0.31))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3)
        ("rust-wayland-protocols" ,rust-wayland-protocols-0.31))))
    (home-page "https://github.com/smithay/calloop-wayland-source")
    (synopsis "Wayland-rs client event source for callloop")
    (description
     "This package provides a wayland-rs client event source for callloop.")
    (license license:expat)))

(define-public rust-calloop-wayland-source-0.2
  (package
    (inherit rust-calloop-wayland-source-0.3)
    (name "rust-calloop-wayland-source")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "calloop-wayland-source" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00lgxlqnkd150ylfn3wi4464ibif1qwbp38shj1aszvc8ywsj3hg"))))
    (arguments
     `(#:cargo-inputs (("rust-calloop" ,rust-calloop-0.12)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-wayland-backend" ,rust-wayland-backend-0.3)
                       ("rust-wayland-client" ,rust-wayland-client-0.31))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3)
        ("rust-wayland-protocols" ,rust-wayland-protocols-0.31))))))

(define-public rust-camino-1
  (package
    (name "rust-camino")
    (version "1.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "camino" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lqszl12l1146jf8g01rvjmapif82mhzih870ln3x0dmcr4yr5lb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proptest" ,rust-proptest-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-serde-bytes" ,rust-serde-bytes-0.11))))
    (home-page "https://github.com/camino-rs/camino")
    (synopsis "UTF-8 paths")
    (description "This package provides a UTF-8 paths.")
    (license (list license:expat license:asl2.0))))

(define-public rust-canonical-path-2
  (package
    (name "rust-canonical-path")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "canonical-path" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vvsjda6ka5nz8zvx6r08zqi0j59sjccgcbjxj96xj764w9y1sg6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/iqlusioninc/crates/")
    (synopsis
     "Path and PathBuf-like types for representing canonical filesystem paths")
    (description
     "This package provides Path and @code{PathBuf-like} types for representing
canonical filesystem paths.")
    (license license:asl2.0)))

(define-public rust-cap-0.1
  (package
    (name "rust-cap")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00q00chl1y8j6p9f9rndnd9jyqyqklnd5l9fn0v4r8l4bfw5w4kg"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f))    ; memory allocation of 48 bytes failed
    (home-page "https://github.com/alecmocatta/cap")
    (synopsis "Allocator that can track and limit memory usage")
    (description
     "This crate provides a generic allocator that wraps another allocator,
tracking memory usage and enabling limits to be set.")
    (license (list license:expat license:asl2.0))))

(define-public rust-capnp-0.19
  (package
    (name "rust-capnp")
    (version "0.19.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "capnp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v90fxhhwgcszxday345rmjp3nicpnbvshnccd55qsbszgk3465i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-embedded-io" ,rust-embedded-io-0.6)
                       ("rust-quickcheck" ,rust-quickcheck-1))
       #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/capnproto/capnproto-rust")
    (synopsis "Runtime library for Cap'n Proto data encoding")
    (description "This package provides a runtime library for Cap'n Proto data
encoding.")
    (license license:expat)))

(define-public rust-capnp-futures-0.19
  (package
    (name "rust-capnp-futures")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "capnp-futures" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06zvxipmy0xdsxxqr54gs4yi8rgl33iprfhx4nzc0fsfncy4ib2z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-capnp" ,rust-capnp-0.19)
                       ("rust-futures" ,rust-futures-0.3))
       #:cargo-development-inputs (("rust-capnp" ,rust-capnp-0.19)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/dwrensha/capnproto-rust")
    (synopsis "Async serialization for Cap'n Proto messages")
    (description "This package provides async serialization for Cap'n Proto
messages.")
    (license license:expat)))

(define-public rust-capnp-rpc-0.19
  (package
    (name "rust-capnp-rpc")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "capnp-rpc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05hahpmfjnn49mzv4b2zp4y6si9g6yvjy6kgm2ia9apndjcbl78p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-capnp" ,rust-capnp-0.19)
                       ("rust-capnp-futures" ,rust-capnp-futures-0.19)
                       ("rust-futures" ,rust-futures-0.3))))
    (native-inputs (list capnproto))
    (home-page "https://github.com/capnproto/capnproto-rust")
    (synopsis "Cap'n Proto remote procedure call protocol implementation")
    (description "This package provides an implementation of the Cap'n Proto
remote procedure call protocol")
    (license license:expat)))

(define-public rust-capnpc-0.19
  (package
    (name "rust-capnpc")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "capnpc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v49w7zsv4bkdn88dfmi2hk5dzv5pgs0qwgkq99jsn081w7a6ny7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=compiler_command_new_no_out_dir")
       #:cargo-inputs (("rust-capnp" ,rust-capnp-0.19))))
    (home-page "https://github.com/capnproto/capnproto-rust")
    (synopsis "Cap'n Proto code generation")
    (description "Cap'n Proto code generation.")
    (license license:expat)))

(define-public rust-caps-0.5
  (package
    (name "rust-caps")
    (version "0.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "caps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02vk0w48rncgvfmj2mz2kpzvdgc14z225451w7lvvkwvaansl2qr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/lucab/caps-rs")
    (synopsis "Pure Rust library to work with Linux capabilities")
    (description
     "This package provides a pure-Rust library to work with Linux
capabilities.")
    (license (list license:expat license:asl2.0))))

(define-public rust-caps-0.3
  (package
    (inherit rust-caps-0.5)
    (name "rust-caps")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "caps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "071xv18dxfvmifs3dpbmqy91cm55i9mh7w2zahg9yh3z3y566smz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-errno" ,rust-errno-0.2)
        ("rust-error-chain" ,rust-error-chain-0.12)
        ("rust-libc" ,rust-libc-0.2))))))

(define-public rust-captur-0.1
  (package
    (name "rust-captur")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "captur" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10mi8mz5l9wq6pv1p26237pw4bywn90nra076ghh4ini90jv7ykh"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "src/lib.rs"
                   (("or_patterns_back_compat")
                    "rust_2021_incompatible_or_patterns"))))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f))    ; `pointer_structural_match` converted into hard error
    (home-page "https://github.com/MitMaro/captur")
    (synopsis "Macro to capture whole structs from disjoint fields in a closure")
    (description
     "This package provides a macro to capture whole structs from disjoint
fields in a closure.")
    (license license:isc)))

(define-public rust-carapace-spec-clap-1
  (package
    (name "rust-carapace-spec-clap")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "carapace_spec_clap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08w08n7vbi8wjvivllayzpggn6c0vpax2101hc8gp9xd385q39h9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-clap-complete" ,rust-clap-complete-4)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-yaml-ng" ,rust-serde-yaml-ng-0.10))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/carapace-sh/carapace-spec-clap")
    (synopsis "Spec generation for clap-rs/clap")
    (description "This package provides spec generation for clap-rs/clap.")
    (license license:expat)))

(define-public rust-carapace-spec-clap-0.1
  (package
    (inherit rust-carapace-spec-clap-1)
    (name "rust-carapace-spec-clap")
    (version "0.1.12")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "carapace_spec_clap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1pb140siiqbljpvpck5hldmfyadi3db3s8xhcqnf9ff2ln3bs9zf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-clap-complete" ,rust-clap-complete-4)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.9))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.4))))))

(define-public rust-card-validate-2
  (package
    (name "rust-card-validate")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "card-validate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14gbz65z79n1xjxmh5fr8g6djshnq2g49i60q1r878z2jq2sfpv5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/valeriansaliou/rs-card-validate")
    (synopsis "Detect and validate credit card numbers")
    (description "This package detects and validates credit card numbers.")
    (license license:expat)))

(define-public rust-cargo-config2-0.1
  (package
    (name "rust-cargo-config2")
    (version "0.1.31")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "cargo-config2" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ws69v398i48f2a1n4gfrcpxh0j0d08mj9c24llw1wlkrdyp7als"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=custom_target"
         "--skip=de"
         "--skip=easy"
         "--skip=test_cargo_behavior")
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-toml-edit" ,rust-toml-edit-0.22)
        ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-build-context" ,rust-build-context-0.1)
        ("rust-clap" ,rust-clap-4)
        ("rust-fs-err" ,rust-fs-err-3)
        ("rust-lexopt" ,rust-lexopt-0.3)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-shell-escape" ,rust-shell-escape-0.1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-toml" ,rust-toml-0.8))))
    (home-page "https://github.com/taiki-e/cargo-config2")
    (synopsis "Load and resolve Cargo configuration")
    (description "Load and resolve Cargo configuration.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cargo-credential-0.4
  (package
    (name "rust-cargo-credential")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-credential" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kf4s49b7xrsy658k5jsm1wwrv4iqj42amcgskpwpskhari7qgis"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Library to assist writing Cargo credential helpers")
    (description
     "This package provides a library to assist writing Cargo credential helpers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-credential-0.3
  (package
    (inherit rust-cargo-credential-0.4)
    (name "rust-cargo-credential")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-credential" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1da8gx0lv4bkr3g070533mvyl638bviv506v8791archyy3nqv32"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-time" ,rust-time-0.3)
        ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs
       (("rust-snapbox" ,rust-snapbox-0.4))))))

(define-public rust-cargo-credential-libsecret-0.4
  (package
    (name "rust-cargo-credential-libsecret")
    (version "0.4.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-credential-libsecret" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14v1rnk4pwsfqipllnlkb9vcf1xaj51mpw6i5l0mji82qhidv0vz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cargo-credential" ,rust-cargo-credential-0.4)
                       ("rust-libloading" ,rust-libloading-0.8))))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Cargo credential process that stores tokens with GNOME libsecret")
    (description
     "This package provides a Cargo credential process that stores tokens with
GNOME libsecret.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-husky-1
  (package
    (name "rust-cargo-husky")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-husky" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b9jx720dzw9s7rl82bywz4d089c9rb0j526c1jfzs1g4llvc0kv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-semver" ,rust-semver-0.9))))
    (home-page "https://github.com/rhysd/cargo-husky#readme")
    (synopsis "Autotest support with git hooks")
    (description "Cargo-husky is a development tool to set Git hooks
automatically on cargo test.")
    (license license:expat)))

(define-public rust-cargo-lock-10
  (package
    (name "rust-cargo-lock")
    (version "10.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-lock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ldm8nd05cwyc2y0wwbdwx51g5phylkffaycpc2xa8kh01npfsb4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-gumdrop" ,rust-gumdrop-0.8)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-url" ,rust-url-2))))
    (home-page "https://rustsec.org")
    (synopsis "@file{Cargo.lock} parser with optional dependency graph analysis")
    (description
     "This package provides self-contained @file{Cargo.lock} parser with
optional dependency graph analysis.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cargo-manifest-0.13
  (package
    (name "rust-cargo-manifest")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-manifest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13a0dgqchxjmhr4idswpri2l3lwv7fxga69yj5hvylla0adg8vxz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-toml" ,rust-toml-0.8))
       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))
    (home-page "https://github.com/LukeMathWalker/cargo-manifest")
    (synopsis "Parse and manipulate manifests @code{Cargo.toml} files")
    (description "This package provides a helper crate to parse and manipulate
manifests in @code{Cargo.toml} files.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cargo-metadata-0.19
  (package
    (name "rust-cargo-metadata")
    (version "0.19.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo_metadata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "096r6ai6b8r6z42lasr16pd0zbgndvs7n6a3mwh636axmmm70sc7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=error1"
                            "--skip=error2"
                            "--skip=advanced_feature_configuration"
                            "--skip=all_the_fields"
                            "--skip=basic_workspace_root_package_exists"
                            "--skip=current_dir")
       #:cargo-inputs (("rust-camino" ,rust-camino-1)
                       ("rust-cargo-platform" ,rust-cargo-platform-0.1)
                       ("rust-derive-builder" ,rust-derive-builder-0.20)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-2))))
    (home-page "https://github.com/oli-obk/cargo_metadata")
    (synopsis "Structured access to the output of `cargo metadata`")
    (description
     "This package provides structured access to the output of @code{cargo
metadata}.")
    (license license:expat)))

(define-public rust-cargo-metadata-0.18
  (package
    (inherit rust-cargo-metadata-0.19)
    (name "rust-cargo-metadata")
    (version "0.18.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo_metadata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0drh0zndl4qgndy6kg6783cydbvhxgv0hcg7d9hhqx0zwi3nb21d"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=advanced_feature_configuration"
         "--skip=all_the_fields"
         "--skip=basic_workspace_root_package_exists"
         "--skip=current_dir")
       #:cargo-inputs (("rust-camino" ,rust-camino-1)
                       ("rust-cargo-platform" ,rust-cargo-platform-0.1)
                       ("rust-derive-builder" ,rust-derive-builder-0.12)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-cargo-metadata-0.17
  (package
    (inherit rust-cargo-metadata-0.18)
    (name "rust-cargo-metadata")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo_metadata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14mmaq058nncdy3xdgylnnq3gibycjs21cj42sxfwa9158dfrnp7"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=advanced_feature_configuration"
         "--skip=all_the_fields"
         "--skip=basic_workspace_root_package_exists"
         "--skip=current_dir")
       #:cargo-inputs (("rust-camino" ,rust-camino-1)
                       ("rust-cargo-platform" ,rust-cargo-platform-0.1)
                       ("rust-derive-builder" ,rust-derive-builder-0.12)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-cargo-metadata-0.15
  (package
    (inherit rust-cargo-metadata-0.18)
    (name "rust-cargo-metadata")
    (version "0.15.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo_metadata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fm767r349p5rh50k21g8w2hpcg2970kjx0ff517mz163wzj9r7f"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=advanced_feature_configuration"
         "--skip=all_the_fields"
         "--skip=basic_workspace_root_package_exists"
         "--skip=current_dir")
       #:cargo-inputs
       (("rust-camino" ,rust-camino-1)
        ("rust-cargo-platform" ,rust-cargo-platform-0.1)
        ("rust-derive-builder" ,rust-derive-builder-0.11)
        ("rust-semver" ,rust-semver-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-cargo-metadata-0.14
  (package
    (inherit rust-cargo-metadata-0.15)
    (name "rust-cargo-metadata")
    (version "0.14.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo_metadata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yl1y40vby9cas4dlfc44szrbl4m4z3pahv3p6ckdqp8ksfv1jsa"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=advanced_feature_configuration"
         "--skip=all_the_fields"
         "--skip=current_dir")
       #:cargo-inputs
       (("rust-camino" ,rust-camino-1)
        ("rust-cargo-platform" ,rust-cargo-platform-0.1)
        ("rust-derive-builder" ,rust-derive-builder-0.9)
        ("rust-semver" ,rust-semver-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-cargo-options-0.7
  (package
    (name "rust-cargo-options")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-options" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sknbp83h15da5zmkk9q9vgpw9qzwiz2sizkiv9bkrf8jvwipmya"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
                       ("rust-clap" ,rust-clap-4))
       #:cargo-development-inputs (("rust-trycmd" ,rust-trycmd-0.14))))
    (home-page "https://github.com/messense/cargo-options")
    (synopsis "Reusable common Cargo command line options")
    (description "Reusable common Cargo command line options.")
    (license license:expat)))

(define-public rust-cargo-platform-0.1
  (package
    (name "rust-cargo-platform")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-platform" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ga4qa3fx4bidnmix5gl8qclx2mma1a441swlpfsa645kpv8xvff"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Target platform abstraction for Cargo")
    (description "This package provides abstractions for the target platforms
supported by Cargo.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-test-macro-0.3
  (package
    (name "rust-cargo-test-macro")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-test-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15n83v5ffz4p3mjd03hwqlyaawp59bqwdg2amk3i45h6s5743flj"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Helper proc-macro for Cargo's testsuite")
    (description
     "This package provides a helper proc-macro for Cargo's testsuite.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-test-support-0.4
  (package
    (name "rust-cargo-test-support")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-test-support" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z8gc10ylqpk5ap6lv4l46ngqmqfh9lz5n5sgjlrkhl2nk3k3m8i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cargo-test-macro" ,rust-cargo-test-macro-0.3)
                       ("rust-cargo-util" ,rust-cargo-util-0.2)
                       ("rust-crates-io" ,rust-crates-io-0.40)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-itertools" ,rust-itertools-0.13)
                       ("rust-pasetors" ,rust-pasetors-0.6)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-snapbox" ,rust-snapbox-0.6)
                       ("rust-tar" ,rust-tar-0.4)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-url" ,rust-url-2)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (native-inputs (list pkg-config))
    (inputs (list curl libgit2-1.8 libssh2 openssl zlib))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Testing framework for Cargo's testsuite")
    (description
     "This package provides a testing framework for Cargo's testsuite.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-test-support-0.3
  (package
    (inherit rust-cargo-test-support-0.4)
    (name "rust-cargo-test-support")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-test-support" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fi7k976v9ali7i9a11wz3czcbp2ksc8p8kcq14b57vrci3bc5m8"))))
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cargo-test-macro" ,rust-cargo-test-macro-0.3)
                       ("rust-cargo-util" ,rust-cargo-util-0.2)
                       ("rust-crates-io" ,rust-crates-io-0.40)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-itertools" ,rust-itertools-0.13)
                       ("rust-pasetors" ,rust-pasetors-0.6)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-snapbox" ,rust-snapbox-0.6)
                       ("rust-tar" ,rust-tar-0.4)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-url" ,rust-url-2)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))))))

(define-public rust-cargo-toml-0.20
  (package
    (name "rust-cargo-toml")
    (version "0.20.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo_toml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h0srl8n4s0xs6bq9z9zpkni3brzkkm0fmw4g00cmd10qq9mmnl8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-toml" ,rust-toml-0.8))))
    (home-page "https://lib.rs/cargo_toml")
    (synopsis "`Cargo.toml` struct definitions for parsing with Serde")
    (description "This package provides `Cargo.toml` struct definitions for
parsing with Serde.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cargo-util-0.2
  (package
    (name "rust-cargo-util")
    (version "0.2.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08mi6jsxbf9s2q40bxm2jws4bx5hyk5vca41l1h55jir8ji6gpdn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-core-foundation" ,rust-core-foundation-0.9)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-ignore" ,rust-ignore-0.4)
        ("rust-jobserver" ,rust-jobserver-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-miow" ,rust-miow-0.6)
        ("rust-same-file" ,rust-same-file-1)
        ("rust-sha2" ,rust-sha2-0.10)
        ("rust-shell-escape" ,rust-shell-escape-0.1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (inputs
     (list openssl))
    (native-inputs
     (list pkg-config))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Utilities for Cargo")
    (description "Miscellaneous support code used by Cargo.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cargo-util-schemas-0.6
  (package
    (name "rust-cargo-util-schemas")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cargo-util-schemas" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "163x9cfg5g9ilz1ra3zr5nzk34qg8h4bxgsbrpgff6saaja2f19w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-untagged" ,rust-serde-untagged-0.1)
                       ("rust-serde-value" ,rust-serde-value-0.7)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-unicode-xid" ,rust-unicode-xid-0.2)
                       ("rust-url" ,rust-url-2))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Deserialization schemas for Cargo")
    (description "This package provides deserialization schemas for Cargo.")
    (license (list license:expat license:asl2.0))))

(define-public rust-casey-0.4
  (package
    (name "rust-casey")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "casey" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sv5ll6aavwcigmr53b22dg16adlz4pa2pb73367sna974k8cib1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/jordy25519/casey")
    (synopsis "Case transforming macros for ident tokens")
    (description "Case transforming macros for ident tokens.")
    (license license:expat)))

(define-public rust-cassowary-0.3
  (package
    (name "rust-cassowary")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cassowary" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lvanj0gsk6pc1chqrh4k5k0vi1rfbgzmsk46dwy3nmrqyw711nz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dylanede/cassowary-rs")
    (synopsis
     "Implementation of the Cassowary linear constraint solving algorithm")
    (description
     "This package provides a Rust implementation of the Cassowary linear
constraint solving algorithm.

The Cassowary algorithm is designed for naturally laying out user interfaces
using linear constraints, like ``this button must line up with this text
box''.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cast-0.3
  (package
    (name "rust-cast")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1dbyngbyz2qkk0jn2sxil8vrz3rnpcj142y184p9l4nbl9radcip"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/japaric/cast.rs")
    (synopsis
     "Ergonomic, checked cast functions for primitive types")
    (description
     "Ergonomic, checked cast functions for primitive types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cast-0.2
  (package
    (inherit rust-cast-0.3)
    (name "rust-cast")
    (version "0.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cast" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "16p3bqi3qad1qdjgjc1r0x72iinj1aw2k8fw5zx2l51s52sdl92c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; lint `const_err` has been removed
       #:cargo-inputs
       (("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.9))))))

(define-public rust-castaway-0.2
  (package
    (name "rust-castaway")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "castaway" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1mf0wypwnkpa1hi0058vp8g7bjh2qraip2qv7dmak7mg1azfkfha"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rustversion" ,rust-rustversion-1))
       #:cargo-development-inputs
       (("rust-paste" ,rust-paste-1))))
    (home-page "https://github.com/sagebind/castaway")
    (synopsis "Zero-cost downcasting for limited compile-time specialization")
    (description
     "This is an experimental library that implements zero-cost downcasting of
types that works on stable Rust.")
    (license license:expat)))

(define-public rust-castaway-0.1
  (package
    (inherit rust-castaway-0.2)
    (name "rust-castaway")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "castaway" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xhspwy477qy5yg9c3jp713asxckjpx0vfrmz5l7r5zg7naqysd2"))))
    (arguments '())))

(define-public rust-cblas-sys-0.1
  (package
    (name "rust-cblas-sys")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cblas-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/blas-lapack-rs/cblas-sys")
    (synopsis "Bindings to CBLAS (C)")
    (description
     "The package provides bindings to CBLAS (C).")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-cc-1
  (package
    (name "rust-cc")
    (version "1.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bqw7559dq0by6dq5k38rijz5p0wr5sa94s2gb180n0ndfmbnmwi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-jobserver" ,rust-jobserver-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-shlex" ,rust-shlex-1))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/rust-lang/cc-rs")
    (synopsis "Invoke the native C compiler")
    (description
     "This package provides a build-time dependency for Cargo build scripts to
assist in invoking the native C compiler to compile native C code into a static
archive to be linked into Rustcode.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-cdshealpix-0.7
  (package
    (name "rust-cdshealpix")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cdshealpix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rxg2wsrnzfhm8pid1sv22zn1cly54zdbg2ffajx0i0dvyfpm1cc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; Tests can't find FITS files:
             ;; - test/resources/skymap/skymap.fits
             ;; - test/resources/skymap/skymap.2mass.depth6.fits
             "--skip=tests::test_skymap_to_mom_basic"
             "--skip=tests::test_skymap_to_mom_chi2"
             "--skip=tests::test_mom_diff_spec"
             "--skip=tests::test_skymap_spec")
     #:cargo-inputs
       (("rust-base64" ,rust-base64-0.21)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-colorous" ,rust-colorous-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-itertools" ,rust-itertools-0.13)
        ("rust-katex-doc" ,rust-katex-doc-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-mapproj" ,rust-mapproj-0.3)
        ("rust-num" ,rust-num-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-png" ,rust-png-0.17)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/cds-astro/cds-healpix-rust/")
    (synopsis "HEALPix tessellation")
    (description
     "This library is an implementation in Rust of the HEALPix tessellation.
This implementation has been made by the Strasbourg astronomical Data
Centre (Centre de Données astronomique de Strasbourg,
@url{http://cdsweb.u-strasbg.fr/,CDS}).")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-cesu8-1
  (package
    (name "rust-cesu8")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cesu8" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g6q58wa7khxrxcxgnqyi9s1z2cjywwwd3hzr5c55wskhx6s0hvd"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/emk/cesu8-rs")
    (synopsis "Convert to and from CESU-8 encoding")
    (description
     "This library implements the CESU-8 compatibility encoding scheme.  This
is a non-standard variant of UTF-8 that is used internally by some systems
that need to represent UTF-16 data as 8-bit characters.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cexpr-0.6
  (package
    (name "rust-cexpr")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cexpr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rl77bwhs5p979ih4r0202cn5jrfsrbgrksp40lkfz5vk1x3ib3g"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t #:cargo-inputs (("rust-nom" ,rust-nom-7))))
    (inputs
     (list clang))
    (home-page "https://github.com/jethrogb/rust-cexpr")
    (synopsis "C expression parser and evaluator")
    (description
     "This package provides a C expression parser and evaluator.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cexpr-0.4
  (package
    (inherit rust-cexpr-0.6)
    (name "rust-cexpr")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cexpr" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09qd1k1mrhcqfhqmsz4y1bya9gcs29si7y3w96pqkgid4y2dpbpl"))))
    (arguments
     `(#:cargo-inputs
       (("rust-nom" ,rust-nom-5))
       #:cargo-development-inputs
       (("rust-clang-sys" ,rust-clang-sys-0.28))))))

(define-public rust-cexpr-0.2
  (package
    (inherit rust-cexpr-0.6)
    (name "rust-cexpr")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cexpr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v1xa3758czmj8h97gh548mr8g0v13ixxvrlm1s79nb7jmgc9aj2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-nom" ,rust-nom-3))))))

(define-public rust-cfg-aliases-0.2
  (package
    (name "rust-cfg-aliases")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cfg_aliases" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "092pxdc1dbgjb6qvh83gk56rkic2n2ybm4yvy76cgynmzi3zwfk1"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/katharostech/cfg_aliases")
    (synopsis "Utility to help you with long winded @code{#[cfg()]} checks")
    (description
     "CFG Aliases is a tiny utility to help save you a lot of effort with long
winded @code{#[cfg()]} checks.")
    (license license:expat)))

(define-public rust-cfg-aliases-0.1
  (package
    (inherit rust-cfg-aliases-0.2)
    (name "rust-cfg-aliases")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cfg_aliases" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17p821nc6jm830vzl2lmwz60g3a30hcm33nk6l257i1rjdqw85px"))))))

(define-public rust-cfg-expr-0.17
  (package
    (name "rust-cfg-expr")
    (version "0.17.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "cfg-expr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "12a7zr6ff4i6mfwcv711dll0w5pr3dw1lvkaf4c4a66i1gjacjwd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-smallvec" ,rust-smallvec-1)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))
       #:cargo-development-inputs
       (("rust-similar-asserts" ,rust-similar-asserts-1))))
    (home-page "https://github.com/EmbarkStudios/cfg-expr")
    (synopsis "Parser and evaluator for Rust @code{cfg()} expressions")
    (description
     "This package provides a parser and evaluator for Rust @code{cfg()}
expressions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cfg-expr-0.15
  (package
    (inherit rust-cfg-expr-0.17)
    (name "rust-cfg-expr")
    (version "0.15.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "cfg-expr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "00lgf717pmf5qd2qsxxzs815v6baqg38d6m5i6wlh235p14asryh"))))
    (arguments
     `(#:cargo-inputs
       (("rust-smallvec" ,rust-smallvec-1)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))
       #:cargo-development-inputs
       (("rust-similar-asserts" ,rust-similar-asserts-1))))))

(define-public rust-cfg-expr-0.10
  (package
    (inherit rust-cfg-expr-0.15)
    (name "rust-cfg-expr")
    (version "0.10.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "cfg-expr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nw50j1sl6q96067399r1c6ppwp483q6vvmqdsnv493cv7sarb0a"))))
    (arguments
     `(#:cargo-inputs
       (("rust-smallvec" ,rust-smallvec-1)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))
       #:cargo-development-inputs
       (("rust-similar-asserts" ,rust-similar-asserts-1))))))

(define-public rust-cfg-expr-0.8
  (package
    (inherit rust-cfg-expr-0.10)
    (name "rust-cfg-expr")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cfg-expr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03lgv8psc2qrr93hxgdfmfwbj1crpzghxd7qh6w2nz0l4qryh4ml"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-smallvec" ,rust-smallvec-1)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))
       #:cargo-development-inputs
       (("rust-difference" ,rust-difference-2))))))

(define-public rust-cfg-if-1
  (package
    (name "rust-cfg-if")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cfg-if" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds"))))
    (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))))
    (home-page "https://github.com/alexcrichton/cfg-if")
    (synopsis "Define an item depending on parameters")
    (description
     "This package provides a macro to ergonomically define an item depending
on a large number of @code{#[cfg]} parameters.  Structured like an if-else
chain, the first matching branch is the item that gets emitted.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cfg-if-0.1
  (package
    (inherit rust-cfg-if-1)
    (name "rust-cfg-if")
    (version "0.1.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cfg-if" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-cfg-vis-0.3
  (package
    (name "rust-cfg-vis")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cfg-vis" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1745qzkxar9yd3wy4gzzsakv1cjcibhgnr3m2p5f43y1byzw78n3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/TOETOE55/cfg-vis")
    (synopsis "Macro to support `#[cfg()]` on visibility")
    (description
     "This package provides a macro to support `#[cfg()]` on visibility.")
    (license license:expat)))

(define-public rust-chan-0.1
  (package
    (name "rust-chan")
    (version "0.1.23")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "chan" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1n0y992mqfk5zpxzvrv14g9qivacmd4fiv4j1nmgyrg0vaimcjfi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/BurntSushi/chan")
    (synopsis "DEPRECATED. Use crossbeam-channel instead")
    (description "DEPRECATED. Use crossbeam-channel instead.")
    (license (list license:unlicense license:expat))))

(define-public rust-charset-0.1
  (package
    (name "rust-charset")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "charset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zkwcw525qwcqsdf74l9d2r6m69yxfxb4kgywp3q9fklgjq2gygi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.22)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://docs.rs/charset/")
    (synopsis "Thunderbird-compatible character encoding decoding for email")
    (description
     "charset is a wrapper around @code{encoding_rs} that
provides (non-streaming) decoding for character encodings that occur in email
by providing decoding for UTF-7 in addition to the encodings defined by the
Encoding Standard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-checked-int-cast-1
  (package
    (name "rust-checked-int-cast")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "checked_int_cast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06brva5agm6g12q15f8fidz17akb85q211496p1k2qxhb9mmxk0p"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/PeterReid/checked_int_cast")
    (synopsis "Conversions between primitive integers")
    (description
     "This package provides conversions between primitive integers with
overflow and underflow checking.")
    (license license:expat)))

(define-public rust-chic-1
  (package
    (name "rust-chic")
    (version "1.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "037pkdccj25gr4my8fq1qni9v87rydpyhfi2naf86mimkxhxpdd5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-annotate-snippets" ,rust-annotate-snippets-0.6))))
    (home-page "https://github.com/yoshuawuyts/chic")
    (synopsis "Pretty parser error reporting")
    (description "This package provides pretty parser error reporting.")
    (license (list license:expat license:asl2.0))))

(define-public rust-chrono-0.4
  (package
    (name "rust-chrono")
    (version "0.4.39")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09g8nf409lb184kl9j4s85k0kn8wzgjkp5ls9zid50b886fwqdky"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-android-tzdata" ,rust-android-tzdata-0.1)
        ("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-iana-time-zone" ,rust-iana-time-zone-0.1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pure-rust-locales" ,rust-pure-rust-locales-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-windows-targets" ,rust-windows-targets-0.52))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-windows-bindgen" ,rust-windows-bindgen-0.58))
       #:features '("unstable-locales")))
    (home-page "https://github.com/chronotope/chrono")
    (synopsis "Date and time library for Rust")
    (description "Date and time library for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-chrono-humanize-0.2
  (package
    (name "rust-chrono-humanize")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-humanize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fq25fcdqd7s39dx81hq123210q4lpcbjdz82jl2fy6jnkk2g5kr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4))))
    (home-page "https://gitlab.com/imp/chrono-humanize-rs")
    (synopsis "Human-friendly time expressions")
    (description
     "Chrono-Humanize provides human-friendly time expressions, similar to
Python @code{arrow.humanize}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-chrono-tz-0.10
  (package
    (name "rust-chrono-tz")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dnkmhlf8jfxskrzir0y6fdbpf8mqnaz5igql9cklwh0dl2dhvfd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz-build" ,rust-chrono-tz-build-0.4)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-uncased" ,rust-uncased-0.9))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/chronotope/chrono-tz")
    (synopsis "TimeZone implementations for chrono from the IANA database")
    (description
     "Chrono-TZ is a library that provides implementors of the TimeZone trait
for @code{rust-chrono}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-chrono-tz-0.9
  (package
    (inherit rust-chrono-tz-0.10)
    (name "rust-chrono-tz")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fvicqrlmdsjkrgxr7bxfd62i9w2qi2b6iv4w85av5syvqlqnsck"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz-build" ,rust-chrono-tz-build-0.3)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-uncased" ,rust-uncased-0.9))
       #:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-chrono-tz-0.8
  (package
    (inherit rust-chrono-tz-0.9)
    (name "rust-chrono-tz")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dv0yqhr60wrhm4sdlralqw1jf5plcxc91q6v93hvamzk6gbgmwi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz-build" ,rust-chrono-tz-build-0.2)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-uncased" ,rust-uncased-0.9))
       #:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-chrono-tz-0.6
  (package
    (inherit rust-chrono-tz-0.8)
    (name "rust-chrono-tz")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pmv434fhw9pwiqc12pvgaiskrq4v1dh1f238gfsg48r301r5hr9"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=tests::second_offsets")
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz-build" ,rust-chrono-tz-build-0.0.3)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-uncased" ,rust-uncased-0.9))
       #:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-chrono-tz-0.5
  (package
    (inherit rust-chrono-tz-0.6)
    (name "rust-chrono-tz")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "085i4940kn0fn4gkl3xi1kv3vp2frhfig1vla1i461pcbwas6m15"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-chrono-tz-build-0.4
  (package
    (name "rust-chrono-tz-build")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19qh9c3v7v4czf8z8vrhdy4jmkc6nyzd4svlwwlm493sswsflkz9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3)
                       ("rust-phf-codegen" ,rust-phf-codegen-0.11)
                       ("rust-phf-shared" ,rust-phf-shared-0.11)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-uncased" ,rust-uncased-0.9))))
    (home-page "https://github.com/chronotope/chrono-tz")
    (synopsis "Internal build script for chrono-tz Rust package")
    (description "This package contains the internal build script for
the chrono-tz Rust crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-chrono-tz-build-0.3
  (package
    (inherit rust-chrono-tz-build-0.4)
    (name "rust-chrono-tz-build")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c8ixwwwsn9kgs1dr5mz963p0fgw9j9p7fzb3w2c7y8xhkp8l20c"))))
    (arguments
     `(#:cargo-inputs
       (("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-phf-codegen" ,rust-phf-codegen-0.11)
        ("rust-regex" ,rust-regex-1)
        ("rust-uncased" ,rust-uncased-0.9))))))

(define-public rust-chrono-tz-build-0.2
  (package
    (inherit rust-chrono-tz-build-0.3)
    (name "rust-chrono-tz-build")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03rmzd69cn7fp0fgkjr5042b3g54s2l941afjm3001ls7kqkjgj3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-phf-codegen" ,rust-phf-codegen-0.11)
        ("rust-regex" ,rust-regex-1)
        ("rust-uncased" ,rust-uncased-0.9))))))

(define-public rust-chrono-tz-build-0.0.3
  (package
    (inherit rust-chrono-tz-build-0.2)
    (name "rust-chrono-tz-build")
    (version "0.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "chrono-tz-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "031s51dd2vbxdhz7fxk1jpbbvr800w57an14bsq3fd5khwx9ql3g"))))))

(define-public rust-chumsky-0.9
  (package
    (name "rust-chumsky")
    (version "0.9.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "chumsky" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "179llm5hybq5fr21mi681dq5f51j98laqmwh56kvadk2p4l045r3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-hashbrown" ,rust-hashbrown-0.12)
        ("rust-stacker" ,rust-stacker-0.1))
       #:cargo-development-inputs
       (("rust-ariadne" ,rust-ariadne-0.1)
        ("rust-pom" ,rust-pom-3))))
    (home-page "https://github.com/zesterer/chumsky")
    (synopsis "Parser library for humans with powerful error recovery")
    (description
     "This package provides a parser library for humans with powerful error
recovery.")
    (license license:expat)))

(define-public rust-ci-info-0.3
  (package
    (name "rust-ci-info")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ci_info" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "00pr17g6q6i752acrkycg0hkq3lm0p634anm41g3m6lqg8q83s75"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=ci::ci_test::get_bamboo"
         "--skip=ci::ci_test::get_taskcluster_runid"
         "--skip=ci::ci_test::get_buildkite"
         "--skip=ci::ci_test::get_tfs")
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/sagiegurari/ci_info")
    (synopsis "Provides current CI environment information")
    (description
     "This package provides current CI environment information.")
    (license license:asl2.0)))

(define-public rust-ciborium-0.2
  (package
    (name "rust-ciborium")
    (version "0.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ciborium" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "03hgfw4674im1pdqblcp77m7rc8x2v828si5570ga5q9dzyrzrj2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=codec::case_183")
       #:cargo-inputs
       (("rust-ciborium-io" ,rust-ciborium-io-0.2)
        ("rust-ciborium-ll" ,rust-ciborium-ll-0.2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-hex" ,rust-hex-0.4)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.11)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11))))
    (home-page "https://github.com/enarx/ciborium")
    (synopsis "Serde implementation of CBOR")
    (description
     "This package provides CBOR serialization implementations for serde.")
    (license license:asl2.0)))

(define-public rust-ciborium-io-0.2
  (package
    (name "rust-ciborium-io")
    (version "0.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ciborium-io" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0my7s5g24hvp1rs1zd1cxapz94inrvqpdf1rslrvxj8618gfmbq5"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/enarx/ciborium")
    (synopsis "Simplified Read/Write traits")
    (description
     "This package provides simplified Read/Write traits for @code{no_std}
usage.")
    (license license:asl2.0)))

(define-public rust-ciborium-ll-0.2
  (package
    (name "rust-ciborium-ll")
    (version "0.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ciborium-ll" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1n8g4j5rwkfs3rzfi6g1p7ngmz6m5yxsksryzf5k72ll7mjknrjp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ciborium-io" ,rust-ciborium-io-0.2)
                       ("rust-half" ,rust-half-2))
       #:cargo-development-inputs (("rust-hex" ,rust-hex-0.4))))
    (home-page "https://github.com/enarx/ciborium")
    (synopsis "Low-level CBOR codec primitives")
    (description
     "This package provides low-level primitives for parsing the CBOR codec.")
    (license license:asl2.0)))

(define-public rust-cint-0.3
  (package
    (name "rust-cint")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cint" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16l9glvaxshbp3awcga3s8cdfv00gb1n2s7ixzxxjwc5yz6qf3ks"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared type `ColorCrate2`
       #:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1))))
    (home-page "https://github.com/termhn/cint")
    (synopsis
     "Stable set of types for color interoperation between crates in Rust")
    (description
     "This package provides a lean, minimal, and stable set of types for color
interoperation between crates in Rust.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-circular-0.3
  (package
    (name "rust-circular")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "circular" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1slb0zd1xj0fjd0ql86zs57l1xbn5ywsyj1d8397bcvc1yg27z5h"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sozu-proxy/circular")
    (synopsis "Stream abstraction for nom")
    (description
     "This package provides a stream abstraction designed for use with nom.")
    (license license:expat)))

(define-public rust-claims-0.7
  (package
    (name "rust-claims")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "claims" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1da6z2r4zz4fw4a69286s54jzr7g7sz3dspq0xiw6mk432z5p6dn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))
    (home-page "https://github.com/Anders429/claims")
    (synopsis "Additional assertion macros for testing")
    (description
     "This package provides additional assertion macros for testing.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-clang-ast-0.1
  (package
    (name "rust-clang-ast")
    (version "0.1.20")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clang-ast" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "04qf9kpc2r3ca7c5x8bjp1daj42k69q12q8mz7bhajbm9rpafb8m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Fails to build clang-ast-test-suite.
       #:cargo-inputs
       (("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-clang-ast-test-suite" ,rust-clang-ast-test-suite-0.0.0)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/dtolnay/clang-ast")
    (synopsis "Data structures for processing Clang's ast format")
    (description "This package contains data structures for processing Clang's
@code{-ast-dump=json} format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clang-ast-test-suite-0.0.0
  (package
    (name "rust-clang-ast-test-suite")
    (version "0.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clang-ast-test-suite" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "04c6p67w2f3s74pl83swj93l6p9g88vgki0rp2vxbb0bzm1hqy5h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t))   ; Not intended to be built independently.
    (home-page "https://github.com/dtolnay/clang-ast")
    (synopsis "Test suite of the clang-ast crate")
    (description
     "This package contains the test suite of the @code{clang-ast} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clang-sys-1
  (package
    (name "rust-clang-sys")
    (version "1.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clang-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x1r9yqss76z8xwpdanw313ss6fniwc1r7dzb5ycjn0ph53kj0hb"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "Cargo.toml"
             (("version = \">=([[:digit:]]+(\\.[[:digit:]]+)*), <.*\"" _ version)
              (string-append "version = \"^" version "\"")))))))
    (build-system cargo-build-system)
    (inputs
     (list clang))
    (arguments
     `(#:cargo-inputs
       (("rust-glob" ,rust-glob-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libloading" ,rust-libloading-0.8))
       #:cargo-development-inputs (("rust-glob" ,rust-glob-0.3)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/KyleMayes/clang-sys")
    (synopsis "Rust bindings for libclang")
    (description "This package provides Rust bindings for libclang.")
    (license license:asl2.0)))

(define-public rust-clang-sys-0.23
  (package
    (inherit rust-clang-sys-1)
    (name "rust-clang-sys")
    (version "0.23.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clang-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hjr333izzhs6bic84qwnyzy5xzmvasib8f3zkzj4ln3a97c1xyp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-glob" ,rust-glob-0.2)
                       ("rust-glob" ,rust-glob-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libloading" ,rust-libloading-0.5))))))

(define-public rust-clang-sys-0.29
  (package
    (inherit rust-clang-sys-1)
    (name "rust-clang-sys")
    (version "0.29.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clang-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "02nibl74zbz5x693iy5vdbhnfckja47m7j1mp2bj7fjw3pgkfs7y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-glob" ,rust-glob-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libloading" ,rust-libloading-0.5))))))

(define-public rust-clang-sys-0.28
  (package
    (inherit rust-clang-sys-0.29)
    (name "rust-clang-sys")
    (version "0.28.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clang-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ls8zcqi5bmmrvrk3b6r1ym4wlivinbv590d2dvg2xn9f44mbpl1"))))))

(define-public rust-clap-4
  (package
    (name "rust-clap")
    (version "4.5.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "110cf0i9fmkfqzqhi1h8za9y0vnr5rwhy3wmv1p0rcgp5vnffd9i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap-builder" ,rust-clap-builder-4)
                       ("rust-clap-derive" ,rust-clap-derive-4))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1)
                                   ("rust-clap-cargo" ,rust-clap-cargo-0.14)
                                   ("rust-humantime" ,rust-humantime-2)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-shlex" ,rust-shlex-1)
                                   ("rust-snapbox" ,rust-snapbox-0.6)
                                   ("rust-trybuild" ,rust-trybuild-1)
                                   ("rust-trycmd" ,rust-trycmd-0.15))))
    (home-page "https://github.com/clap-rs/clap")
    (synopsis "Command Line Argument Parser")
    (description
     "This package provides a simple to use, efficient, and full-featured Command Line
Argument Parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-3
  (package
    (inherit rust-clap-4)
    (name "rust-clap")
    (version "3.2.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08vi402vfqmfj9f07c4gl6082qxgf4c9x98pbndcnwbgaszq38af"))))
    (arguments
     (list #:cargo-test-flags
           '(list "--release" "--"
                  ;; thread 'main' panicked at 'assertion failed: `(left == right)`
                  ;;   left: `"_AnonymousValueParser(ValueParser::other(TypeId { t: 3349385470118513432 }))"`,
                  ;;  right: `"_AnonymousValueParser(ValueParser::other(usize))"`', src/builder/value_parser.rs:18:1
                  "--skip=builder::value_parser::value_parser")
           #:cargo-inputs
           `(("rust-atty" ,rust-atty-0.2)
             ("rust-backtrace" ,rust-backtrace-0.3)
             ("rust-bitflags" ,rust-bitflags-1)
             ("rust-clap-derive" ,rust-clap-derive-3)
             ("rust-clap-lex" ,rust-clap-lex-0.2)
             ("rust-indexmap" ,rust-indexmap-1)
             ("rust-once-cell" ,rust-once-cell-1)
             ("rust-regex" ,rust-regex-1)
             ("rust-strsim" ,rust-strsim-0.10)
             ("rust-termcolor" ,rust-termcolor-1)
             ("rust-terminal-size" ,rust-terminal-size-0.2)
             ("rust-textwrap" ,rust-textwrap-0.16)
             ("rust-unicase" ,rust-unicase-2)
             ("rust-yaml-rust" ,rust-yaml-rust-0.4))
           #:cargo-development-inputs
           `(("rust-humantime" ,rust-humantime-2)
             ("rust-regex" ,rust-regex-1)
             ("rust-rustversion" ,rust-rustversion-1)
             ("rust-shlex" ,rust-shlex-1)
             ("rust-snapbox" ,rust-snapbox-0.2)
             ("rust-static-assertions" ,rust-static-assertions-1)
             ("rust-trybuild" ,rust-trybuild-1)
             ("rust-trycmd" ,rust-trycmd-0.13))))))

(define-public rust-clap-2
  (package
    (inherit rust-clap-3)
    (name "rust-clap")
    (version "2.34.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "071q5d8jfwbazi6zhik9xwpacx5i6kb2vkzy060vhf0c3120aqd0"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.12)
        ("rust-atty" ,rust-atty-0.2)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-strsim" ,rust-strsim-0.8)
        ("rust-term-size" ,rust-term-size-0.3)
        ("rust-textwrap" ,rust-textwrap-0.11)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-vec-map" ,rust-vec-map-0.8)
        ("rust-yaml-rust" ,rust-yaml-rust-0.3))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-version-sync" ,rust-version-sync-0.8))))
    (license license:expat)))

(define-public rust-clap-builder-4
  (package
    (name "rust-clap-builder")
    (version "4.5.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f28rgc09kdgfq1hgg1bb1ydaw243w6dwyw74syz439k6b32yn1h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-clap-lex" ,rust-clap-lex-0.7)
                       ("rust-strsim" ,rust-strsim-0.11)
                       ("rust-terminal-size" ,rust-terminal-size-0.4)
                       ("rust-unicase" ,rust-unicase-2)
                       ("rust-unicode-width" ,rust-unicode-width-0.2))
       #:cargo-development-inputs
       (("rust-color-print" ,rust-color-print-0.3)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9))))
    (home-page "https://github.com/clap-rs/clap")
    (synopsis "Full-featured Command Line Argument Parser")
    (description
     "This package provides a simple to use, efficient, and full-featured
Command Line Argument Parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-cargo-0.14
  (package
    (name "rust-clap-cargo")
    (version "0.14.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap-cargo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gmlr0cahj7nfzcqfc16z76rb8ar3nnidm9snx4bi5psrrlymci3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
                       ("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
                       ("rust-clap" ,rust-clap-4))))
    (home-page "https://github.com/crate-ci/clap-cargo")
    (synopsis "Re-usable CLI flags for `cargo` plugins")
    (description "This package provides re-usable CLI flags for `cargo` plugins.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-cargo-0.12
  (package
    (inherit rust-clap-cargo-0.14)
    (name "rust-clap-cargo")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap-cargo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r2f4ad1vpaljrfbyfsv986qiwmll0iask4sdvwllka658s22grq"))))
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
                       ("rust-cargo-metadata" ,rust-cargo-metadata-0.17)
                       ("rust-clap" ,rust-clap-4))))))

(define-public rust-clap-complete-4
  (package
    (name "rust-clap-complete")
    (version "4.5.40")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_complete" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sdf0gw2k5cib7n66hm0k7k0dlys4i041a35s0r2vv9v7qz6cbmc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-clap-lex" ,rust-clap-lex-0.7)
                       ("rust-completest" ,rust-completest-0.4)
                       ("rust-completest-pty" ,rust-completest-pty-0.5)
                       ("rust-is-executable" ,rust-is-executable-1)
                       ("rust-shlex" ,rust-shlex-1))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1)
                                   ("rust-clap" ,rust-clap-4)
                                   ("rust-snapbox" ,rust-snapbox-0.6)
                                   ("rust-trycmd" ,rust-trycmd-0.15))))
    (home-page "https://github.com/clap-rs/clap")
    (synopsis "Generate shell completion scripts for your clap::Command")
    (description
     "This package provides Generate shell completion scripts for your clap::Command.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-complete-3
  (package
    (name "rust-clap-complete")
    (version "3.2.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_complete" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1n3whjkznszrxif1hzvql7hav7agq85j456fmwjwwi9cjq52wyiz"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-clap" ,rust-clap-3)
             ("rust-clap-lex" ,rust-clap-lex-0.2)
             ("rust-is-executable" ,rust-is-executable-1)
             ("rust-os-str-bytes" ,rust-os-str-bytes-6)
             ("rust-pathdiff" ,rust-pathdiff-0.2)
             ("rust-shlex" ,rust-shlex-1)
             ("rust-unicode-xid" ,rust-unicode-xid-0.2))
           #:cargo-development-inputs
           `(("rust-clap" ,rust-clap-3)
             ("rust-pretty-assertions" ,rust-pretty-assertions-1)
             ("rust-snapbox" ,rust-snapbox-0.2)
             ("rust-trycmd" ,rust-trycmd-0.13))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_complete")
    (synopsis "Generate shell completion scripts for Clap CLIs")
    (description
     "This package provides generation of shell completion scripts
for programs written with Clap.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-complete-command-0.6
  (package
    (name "rust-clap-complete-command")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_complete_command" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qhv99j7msqyw7j17hswqwpqbdvqawy8l7ip6rnnh5930n61k3ns"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-carapace-spec-clap" ,rust-carapace-spec-clap-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-clap-complete" ,rust-clap-complete-4)
                       ("rust-clap-complete-fig" ,rust-clap-complete-fig-4)
                       ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-4))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4))))
    (home-page "https://github.com/nihaals/clap-complete-command")
    (synopsis
     "Reduces boilerplate for adding a shell completion command to Clap")
    (description "This package reduces boilerplate for adding a shell completion
command to Clap.")
    (license license:expat)))

(define-public rust-clap-complete-command-0.5
  (package
    (inherit rust-clap-complete-command-0.6)
    (name "rust-clap-complete-command")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_complete_command" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0gcsj6ls8y0jpjp5172gdqwx5zj6gm4wdgrqysglr3d73qvrad0q"))))
    (arguments
     `(#:cargo-inputs
       (("rust-carapace-spec-clap" ,rust-carapace-spec-clap-0.1)
        ("rust-clap" ,rust-clap-4)
        ("rust-clap-complete" ,rust-clap-complete-4)
        ("rust-clap-complete-fig" ,rust-clap-complete-fig-4)
        ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-0.1))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4))))))

(define-public rust-clap-complete-fig-4
  (package
    (name "rust-clap-complete-fig")
    (version "4.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_complete_fig" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0sy88ybw33ba7qj02caxr9jv03wq1f8rdbrbqw81i5gkiwn1156l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-clap-complete" ,rust-clap-complete-4))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_complete_fig")
    (synopsis "Generator library used with clap for Fig completion scripts")
    (description
     "This package provides a generator library used with clap for Fig
completion scripts.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-complete-fig-3
  (package
    (name "rust-clap-complete-fig")
    (version "3.2.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_complete_fig" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1fb4965w8wyrcwq35ywgx4mzfsv2cqba73mdlvmp6ii1q70b8dzd"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-clap" ,rust-clap-3)
             ("rust-clap-complete" ,rust-clap-complete-3))
           #:cargo-development-inputs
           `(("rust-snapbox" ,rust-snapbox-0.2))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_complete_fig")
    (synopsis "Generate Fig completion scripts for Clap CLIs")
    (description
     "This package provides a generator library for Rust used
with Clap to generate Fig completion scripts.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-complete-nushell-4
  (package
    (name "rust-clap-complete-nushell")
    (version "4.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_complete_nushell" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12miqxh9g7q37w11bgv55b32s0hdf6avf0lhagzc5psp6icv3a66"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-clap-complete" ,rust-clap-complete-4)
                       ("rust-completest" ,rust-completest-0.4)
                       ("rust-completest-nu" ,rust-completest-nu-0.4))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page
     "https://github.com/clap-rs/clap/tree/master/clap_complete_nushell")
    (synopsis "Generator library used with clap for Nushell completion scripts")
    (description
     "This package provides a generator library used with clap for Nushell
completion scripts.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-complete-nushell-0.1
  (package
    (inherit rust-clap-complete-nushell-4)
    (name "rust-clap-complete-nushell")
    (version "0.1.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_complete_nushell" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0b15s7d9xpqjr1fpj8lmcv6nhgbhxvm0rzbh3cavv0xawvsl3yn7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-clap-complete" ,rust-clap-complete-4))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.4))))))

(define-public rust-clap-derive-4
  (package
    (name "rust-clap-derive")
    (version "4.5.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ardb26bvcpg72q9myr7yir3a8c83gx7vxk1cccabsd9n73s1ija"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-heck" ,rust-heck-0.5)
             ("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-2))))
    (home-page "https://clap.rs/")
    (synopsis "Procedural macro crate for Clap")
    (description
     "This package provides the procedural macro crate for Clap.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-derive-3
  (package
    (inherit rust-clap-derive-4)
    (name "rust-clap-derive")
    (version "3.2.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "025hh66cyjk5xhhq8s1qw5wkxvrm8hnv5xwwksax7dy8pnw72qxf"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-heck" ,rust-heck-0.4)
             ("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))))))

(define-public rust-clap-lex-0.7
  (package
    (name "rust-clap-lex")
    (version "0.7.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_lex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19nwfls5db269js5n822vkc8dw0wjq2h1wf0hgr06ld2g52d2spl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-automod" ,rust-automod-1))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
    (synopsis "Command line parser for Clap")
    (description
     "This package provides a parser for command line options.  As opposed
to a declarative parser, @code{rust-clap-lex} processes arguments as a
stream of tokens.")
    ;; The user can choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-lex-0.6
  (package
    (inherit rust-clap-lex-0.7)
    (name "rust-clap-lex")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap_lex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l8bragdvim7mva9flvd159dskn2bdkpl0jqrr41wnjfn8pcfbvh"))))))

(define-public rust-clap-lex-0.5
  (package
    (inherit rust-clap-lex-0.6)
    (name "rust-clap-lex")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_lex" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qgrlq509vr49wq91jh50f9pm5f8lxmv1rcbklxnsg4nprxcaz6d"))))))

(define-public rust-clap-lex-0.3
  (package
    (inherit rust-clap-lex-0.5)
    (name "rust-clap-lex")
    (version "0.3.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_lex" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ip688faib67iqqy96i0qss77virr42sib1afj63a7yb99x6ngq3"))))
    (arguments
     `(#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6))))))

(define-public rust-clap-lex-0.2
  (package
    (inherit rust-clap-lex-0.3)
    (name "rust-clap-lex")
    (version "0.2.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_lex" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs `(("rust-os-str-bytes" ,rust-os-str-bytes-6))))))

(define-public rust-clap-mangen-0.2
  (package
    (name "rust-clap-mangen")
    (version "0.2.24")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "clap_mangen" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1psbhrshcyz4ydxgjny338l4ijs4ys1ppg893iqshksxvjzrrbpv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-roff" ,rust-roff-0.2))
       #:cargo-development-inputs
       (("rust-automod" ,rust-automod-1)
        ("rust-clap" ,rust-clap-4)
        ("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/clap-rs/clap/tree/master/clap_mangen")
    (synopsis "Manpage generator for clap")
    (description "This package provides a manpage generator for clap.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clap-utilities-0.2
  (package
    (name "rust-clap-utilities")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap-utilities" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "163p99zc3wp02khfrqvn176c5bbprv03l8jrbrh16lgngs0gzg0m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-clap-complete" ,rust-clap-complete-4)
                       ("rust-pipe-trait" ,rust-pipe-trait-0.4)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/KSXGitHub/clap-utilities.git")
    (synopsis "Small utilities related to clap")
    (description "This package provides small utilities related to clap.")
    (license license:expat)))

(define-public rust-clap-verbosity-flag-2
  (package
    (name "rust-clap-verbosity-flag")
    (version "2.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clap-verbosity-flag" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15f419hg1xskf7pwzk5n27cpn05n0ccbd6sbji906ymi47576zxm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-log" ,rust-log-0.4))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-env-logger" ,rust-env-logger-0.10)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-log" ,rust-tracing-log-0.2)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/clap-rs/clap-verbosity-flag")
    (synopsis "Easily add a `--verbose` flag to CLIs using Clap")
    (description
     "This package provides a way to add a `--verbose` flag to CLIs using
Clap.")
    (license (list license:expat license:asl2.0))))

(define-public rust-claxon-0.4
  (package
    (name "rust-claxon")
    (version "0.4.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "claxon" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1206mxvw833ysg10029apcsjjwly8zmsvksgza5cm7ma4ikzbysb"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t)) ; Cut the dependency graph.
    (home-page "https://github.com/ruuda/claxon#readme")
    (synopsis "FLAC decoding library")
    (description "This package provides a FLAC decoding library.")
    (license license:asl2.0)))

(define-public rust-clearscreen-2
  (package
    (name "rust-clearscreen")
    (version "2.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clearscreen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15799yi8azfkn86m1i1kgb7xxk7k321gf8zx5vk08rjq38pz5wvj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nix" ,rust-nix-0.26)
                       ("rust-terminfo" ,rust-terminfo-0.8)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-which" ,rust-which-4)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/watchexec/clearscreen")
    (synopsis "Cross-platform terminal screen clearing")
    (description "This crate provides cross-platform terminal screen clearing.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-clearscreen-1
  (package
    (inherit rust-clearscreen-2)
    (name "rust-clearscreen")
    (version "1.0.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clearscreen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05xk23szs0s2ybf7gvhhaqs0bmj7dv58zivv2059rxh3saysspg5"))))
    (arguments
     `(#:cargo-inputs (("rust-nix" ,rust-nix-0.24)
                       ("rust-terminfo" ,rust-terminfo-0.7)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-which" ,rust-which-4)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-cli-clipboard-0.4
  (package
    (name "rust-cli-clipboard")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cli-clipboard" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g9y1w3ln5wn202mwxwhsilhifwww2p34fan99w5k8ia98fpq204"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Not all files included
       #:cargo-inputs (("rust-clipboard-win" ,rust-clipboard-win-4)
                       ("rust-objc" ,rust-objc-0.2)
                       ("rust-objc-foundation" ,rust-objc-foundation-0.1)
                       ("rust-objc-id" ,rust-objc-id-0.1)
                       ("rust-wl-clipboard-rs" ,rust-wl-clipboard-rs-0.7)
                       ("rust-x11-clipboard" ,rust-x11-clipboard-0.7))))
    (home-page "https://github.com/actuallyallie/cli-clipboard")
    (synopsis
     "Library for getting and setting the contents of the OS-level clipboard")
    (description
     "@code{cli-clipboard} is a library for getting and setting the contents of
the OS-level clipboard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clicolors-control-1
  (package
    (name "rust-clicolors-control")
    (version "1.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clicolors-control" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "07klix8nbpwk0cg1k4h0kkiijm1jxvrzndqdkr7dqr6xvkjjw24h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/mitsuhiko/clicolors-control")
    (synopsis "Common utility library to control CLI colorization")
    (description
     "This package provides a common utility library to control CLI
colorization.")
    (license license:expat)))

(define-public rust-clippy-0.0.302
  (package
    (name "rust-clippy")
    (version "0.0.302")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clippy" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1562x3sq9mgmc8j39gd34wqm7ybrdvpmj7cc1n450gwsawayw4fr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-term" ,rust-term-0.5))))
    (home-page "https://github.com/rust-lang/rust-clippy")
    (synopsis
     "Lints to avoid common pitfalls in Rust")
    (description
     "This package provides a bunch of helpful lints to avoid common
pitfalls in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-clircle-0.4
  (package
    (name "rust-clircle")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clircle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0056l1bf2zmd7xs13xp8gxw9j9dngw4im0m8ijyifkrmsnz7rs68"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-nix" ,rust-nix-0.24)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/niklasmohrin/clircle")
    (synopsis "Detect IO circles in your CLI apps arguments")
    (description
     "Clircle provides a cross-platform API to detect read or write cycles
from your user-supplied arguments.  You can get the important identifiers of
a file (from a path) and for all three stdio streams, if they are piped from
or to a file as well.")
    (license (list license:expat license:asl2.0))))

(define-public rust-close-fds-0.3
  (package
    (name "rust-close-fds")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "close_fds" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vd2i1gkvfcgdlzgrkgivhx3ky0zs98g8q3mwmwrxmg97pridi1v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/cptpcrd/close_fds")
    (synopsis "Library that makes it easy to close all open file descriptors")
    (description
     "This package provides a library that makes it easy to close all open file
descriptors.")
    (license license:expat)))

(define-public rust-cloud-file-0.2
  (package
    (name "rust-cloud-file")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cloud-file" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xvqmizskv88c9mgb78y2aclkbmq1bhlvsnk20xkx6x2wnlwyd51"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-object-store" ,rust-object-store-0.11)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/CarlKCarlK/cloud-file")
    (synopsis "Simple reading of cloud files in Rust")
    (description
     "This package is for simple reading of cloud files in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cloudabi-0.1
  (package
    (name "rust-cloudabi")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cloudabi" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0rv4yf5jlldfkynzrw687s00f4x12ypw7axv71vawhy6h4i52i23"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://cloudabi.org/")
    (synopsis "Low level interface to CloudABI")
    (description "This package provides a low level interface to CloudABI.  It
contains all syscalls and related types.")
    (license license:bsd-2)))

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

(define-public rust-clru-0.6
  (package
    (name "rust-clru")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "clru" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01xq2vm3pfkja6crsh5r7idzyhy0dhjd8dz2y1zn00rf62kiy6dq"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/marmeladema/clru-rs")
    (synopsis "LRU cache implementation")
    (description "An LRU cache implementation with constant time operations and
weighted semantic.")
    (license license:expat)))

(define-public rust-cmake-0.1
  (package
    (name "rust-cmake")
    (version "0.1.50")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cmake" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0c3i3548mqbizpgbff94jjgkcd2p6q9fxjjh89zzf5dqcfaph753"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (native-inputs (list cmake-minimal))
    (home-page "https://github.com/alexcrichton/cmake-rs")
    (synopsis "Rust build dependency for running cmake")
    (description
     "This package provides a build dependency for running @code{cmake} to build
a native library.  The CMake executable is assumed to be @code{cmake} unless the
CMAKE environmental variable is set.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-cobs-0.2
  (package
    (name "rust-cobs")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cobs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05gd16mws4yd63h8jr3p08in8y8w21rpjp5jb55hzl9bgalh5fk7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.5))))
    (home-page "https://github.com/jamesmunns/cobs.rs")
    (synopsis
     "Implementation of the Consistent Overhead Byte Stuffing (COBS) algorithm")
    (description
     "This is an implementation of the @acronym{Consistent Overhead Byte
Stuffing, COBS} algorithm.  COBS is an algorithm for transforming a message into
an encoding where a specific value (the \"sentinel\" value) is not used.  This
value can then be used to mark frame boundaries in a serial communication channel.")
    (license (list license:expat license:asl2.0))))

(define-public rust-codegenrs-3
  (package
    (name "rust-codegenrs")
    (version "3.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "codegenrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hjr5pp099aipm2apcd65a2fp2z6qsixnapsj3rbjgdiyixxzndx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-derive-more" ,rust-derive-more-0.99)
        ("rust-difference" ,rust-difference-2)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3))))
    (home-page "https://github.com/crate-ci/codegenrs")
    (synopsis "Moving code-gen out of build.rs")
    (description "Moving code-gen out of build.rs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-codegenrs-2
  (package
    (inherit rust-codegenrs-3)
    (name "rust-codegenrs")
    (version "2.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "codegenrs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1mld8n8r4ns433gxs2jbndrzqjrxv7v0pwc66pf9a2v2mrgvbv6p"))))
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-3)
        ("rust-derive-more" ,rust-derive-more-0.99)
        ("rust-difference" ,rust-difference-2)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3))))))

(define-public rust-codespan-reporting-0.11
  (package
    (name "rust-codespan-reporting")
    (version "0.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "codespan-reporting" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vkfay0aqk73d33kh79k1kqxx06ka22894xhqi89crnc6c6jff1m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-insta" ,rust-insta-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-peg" ,rust-peg-0.6)
        ("rust-rustyline" ,rust-rustyline-6)
        ("rust-structopt" ,rust-structopt-0.3)
        ("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/brendanzab/codespan")
    (synopsis "Beautiful diagnostic reporting for text-based programming languages")
    (description
     "Languages like Rust and Elm already support beautiful error
reporting output, but it can take a significant amount work to
implement this for new programming languages! The
@code{codespan-reporting} crate aims to make beautiful error
diagnostics easy and relatively painless for everyone!")
    (license license:asl2.0)))

(define-public rust-codspeed-2
  (package
    (name "rust-codspeed")
    (version "2.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "codspeed" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15yf7gnb4s1fdvprdpn41yfydxpnv2clyd7lar0ia76zz6fhw2j5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-colored" ,rust-colored-2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://codspeed.io")
    (synopsis "Core instrumentation library for CodSpeed")
    (description "Core instrumentation library for @code{CodSpeed}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-codspeed-bencher-compat-2
  (package
    (name "rust-codspeed-bencher-compat")
    (version "2.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "codspeed-bencher-compat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n0m440c021s1pqb2k5w41a0l3pq5fwpwk489948kddm67pgwnh2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bencher" ,rust-bencher-0.1)
                       ("rust-codspeed" ,rust-codspeed-2))))
    (home-page "https://codspeed.io")
    (synopsis "Bencher compatibility layer for CodSpeed")
    (description "Bencher compatibility layer for @code{CodSpeed}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-codspeed-criterion-compat-2
  (package
    (name "rust-codspeed-criterion-compat")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "codspeed-criterion-compat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dmhwap6q50a99rsixm2fyghnpr8axwzr8mw558mlcfn2vlrvbh2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-codspeed" ,rust-codspeed-2)
                       ("rust-colored" ,rust-colored-2)
                       ("rust-criterion" ,rust-criterion-0.5)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-smol" ,rust-smol-1)
                       ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://codspeed.io")
    (synopsis "Criterion.rs compatibility layer for CodSpeed")
    (description "Criterion.rs compatibility layer for @code{CodSpeed}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-coitrees-0.2
  (package
    (name "rust-coitrees")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "coitrees" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1l2ybr8n02vm08wq9mrix7r07bgwm85i6fyachlm8d626w9w9d3f"))))
    (build-system cargo-build-system)
    (arguments
     ;; Check phase fails with:
     ;; no function or associated item named `with_name` found for struct
     ;; `Arg` in the current scope
     `(#:tests? #false
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-3))))
    (home-page "https://github.com/dcjones/coitrees")
    (synopsis "Data structure for overlap queries on sets of intervals")
    (description
     "This package provides a very fast data structure for overlap queries on
sets of intervals.")
    (license license:expat)))

(define-public rust-color-backtrace-0.6
  (package
    (name "rust-color-backtrace")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color-backtrace" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "183y2b0b4q14zq1nr2mc9sxld9xnvq28531qkwvp21hc4w5dh3qm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-termcolor" ,rust-termcolor-1))))
    (home-page "https://github.com/athre0z/color-backtrace")
    (synopsis "Colorful panic backtraces")
    (description "This package provides colorful panic backtraces.")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-backtrace-0.5
  (package
    (inherit rust-color-backtrace-0.6)
    (name "rust-color-backtrace")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color-backtrace" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11fn3snykx90w3nznzrcf4r164zmhk790asx0kzryf4r7i308v6d"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; https://github.com/eyre-rs/eyre/pull/175
                 ;; gimli-symbolize was deprecated in backtrace in ~2022
                 ;; and was folded into backtrace's std feature set.
                 (substitute* "Cargo.toml"
                   ((".*gimli-symbolize.*") ""))))))
    (arguments
     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
                       ("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-color-eyre-0.6
  (package
    (name "rust-color-eyre")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color-eyre" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m9shifr9sdw0drszzyhvaq5jysrsiki44bl7m1gfdzj8rg6y52m"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; https://github.com/eyre-rs/eyre/pull/175
                 ;; gimli-symbolize was deprecated in backtrace in ~2022
                 ;; and was folded into backtrace's std feature set.
                 (substitute* "Cargo.toml"
                   ((".*gimli-symbolize.*") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=test_error_backwards_compatibility"
                            "--skip=test_panic_backwards_compatibility")
       #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-color-spantrace" ,rust-color-spantrace-0.2)
                       ("rust-eyre" ,rust-eyre-0.6)
                       ("rust-indenter" ,rust-indenter-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-owo-colors" ,rust-owo-colors-3)
                       ("rust-tracing-error" ,rust-tracing-error-0.2)
                       ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-ansi-parser" ,rust-ansi-parser-0.8)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/eyre-rs/eyre")
    (synopsis "Error report handler for panics")
    (description
     "An error report handler for panics and eyre::Reports for colorful, consistent,
and well formatted error reports for all kinds of errors.")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-eyre-0.5
  (package
    (inherit rust-color-eyre-0.6)
    (name "rust-color-eyre")
    (version "0.5.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color-eyre" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dspj58bk57f9hiqlvbz25rik92i4a95iwa2dl4pg8g8grlqa60z"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; https://github.com/eyre-rs/eyre/pull/175
                 ;; gimli-symbolize was deprecated in backtrace in ~2022
                 ;; and was folded into backtrace's std feature set.
                 (substitute* "Cargo.toml"
                   ((".*gimli-symbolize.*") ""))))))
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=test_error_backwards_compatibility"
                            "--skip=test_panic_backwards_compatibility")
       #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-color-spantrace" ,rust-color-spantrace-0.1)
                       ("rust-eyre" ,rust-eyre-0.6)
                       ("rust-indenter" ,rust-indenter-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-owo-colors" ,rust-owo-colors-1)
                       ("rust-tracing-error" ,rust-tracing-error-0.1)
                       ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-ansi-parser" ,rust-ansi-parser-0.6)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-color-print-0.3
  (package
    (name "rust-color-print")
    (version "0.3.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "color-print" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1h58sxz6nmx7p5q6cp529gnjgpclaks72mkshws8k27k1z347r8y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-color-print-proc-macro" ,rust-color-print-proc-macro-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-terminfo" ,rust-terminfo-0.7))))
    (home-page "https://gitlab.com/yolenoyer/color-print")
    (synopsis "Colorize and stylize strings at compile-time")
    (description
     "Colorize and stylize strings at compile-time, by using an HTML-like syntax.")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-print-proc-macro-0.3
  (package
    (name "rust-color-print-proc-macro")
    (version "0.3.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "color-print-proc-macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14yvvhlfsl1zskxl28f4jvwdimkdd8dxgzbgq2kirjzkqn01mzvp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nom" ,rust-nom-7)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://gitlab.com/yolenoyer/color-print")
    (synopsis "Implementation for the package color-print")
    (description "Implementation for the package color-print.")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-quant-1
  (package
    (name "rust-color-quant")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color_quant" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12q1n427h2bbmmm1mnglr57jaz2dj9apk0plcxw7nwqiai7qjyrx"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/PistonDevelopers/color_quant.git")
    (synopsis "Color quantization library to reduce n colors to 256 colors")
    (description
     "This package is a color quantization library to reduce n colors to 256
colors.")
    (license license:expat)))

(define-public rust-color-spantrace-0.2
  (package
    (name "rust-color-spantrace")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color-spantrace" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hkjgaqixrishwiq3lxxy1d4c3mvlv6avcj3ifwy50p3lyrf2syd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--" "--skip=test_backwards_compatibility")
       #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-owo-colors" ,rust-owo-colors-3)
                       ("rust-tracing-core" ,rust-tracing-core-0.1)
                       ("rust-tracing-error" ,rust-tracing-error-0.2))
       #:cargo-development-inputs
       (("rust-ansi-parser" ,rust-ansi-parser-0.8)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/eyre-rs/eyre")
    (synopsis
     "Pretty printer for tracing_error::SpanTrace based on color-backtrace")
    (description
     "This package provides a pretty printer for tracing_error::@code{SpanTrace}
based on color-backtrace.")
    (license (list license:expat license:asl2.0))))

(define-public rust-color-spantrace-0.1
  (package
    (inherit rust-color-spantrace-0.2)
    (name "rust-color-spantrace")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "color-spantrace" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lb2li71zvpxp80nck98gcqbqm3dnmp43pnlvm52z9x8livy9vmn"))))
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-owo-colors" ,rust-owo-colors-1)
                       ("rust-tracing-core" ,rust-tracing-core-0.1)
                       ("rust-tracing-error" ,rust-tracing-error-0.1))
       #:cargo-development-inputs
       (("rust-ansi-parser" ,rust-ansi-parser-0.6)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2))))))

(define-public rust-colorchoice-1
  (package
    (name "rust-colorchoice")
    (version "1.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "colorchoice" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ix7w85kwvyybwi2jdkl3yva2r2bvdcc3ka2grjfzfgrapqimgxc"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rust-cli/anstyle")
    (synopsis "Global override of color control")
    (description "Global override of color control")
    (license (list license:expat license:asl2.0))))

(define-public rust-colored-2
  (package
    (name "rust-colored")
    (version "2.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "colored" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1f4h9p64snrnz4x432iza15p4diqjcgpmpvhi956d6r1rq61bwnb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.12)
        ("rust-rspec" ,rust-rspec-1.0.0-beta.3))))
    (home-page "https://github.com/mackwic/colored")
    (synopsis "Add colors in your terminal")
    (description
     "The most simple way to add colors in your terminal.")
    (license license:mpl2.0)))

(define-public rust-colored-1
  (package
    (inherit rust-colored-2)
    (name "rust-colored")
    (version "1.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "colored" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0mc302pm2x0vpmc3ni35w0666858pmqlqzbipyz42cw2j4f78pss"))))
    (arguments
     `(#:tests? #f      ; Tests expect a real terminal.
       #:cargo-inputs (("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                                   ("rust-rspec" ,rust-rspec-1.0.0-beta.3))))))

(define-public rust-colorz-1
  (package
    (name "rust-colorz")
    (version "1.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "colorz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yq6wvrajh73b9hwjr03brc2znhr1x1nym6bd5ry68c8g72kgsvc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ;  `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-supports-color" ,rust-supports-color-3))))
    (home-page "https://github.com/RustyYato/colorz")
    (synopsis "terminal text-coloring library")
    (description "This package provides a terminal text-coloring library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-combine-4
  (package
    (name "rust-combine")
    (version "4.6.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "combine" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m7s43cpi36vihmlda217xxgsdni3pbwgwfsa9zimdghhjfnxv9m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-bytes" ,rust-bytes-0.5)
        ("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-regex" ,rust-regex-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio" ,rust-tokio-0.3)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio-util" ,rust-tokio-util-0.7))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-bytes" ,rust-bytes-0.5)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-partial-io" ,rust-partial-io-0.3)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio" ,rust-tokio-0.3)
        ("rust-tokio" ,rust-tokio-0.2))))
    (home-page "https://github.com/Marwes/combine")
    (synopsis "Parser combinators on arbitrary streams with zero-copy support")
    (description
     "This package is an implementation of parser combinators for Rust,
inspired by the Haskell library Parsec.  As in Parsec the parsers are LL(1) by
default but they can opt-in to arbitrary lookahead using the attempt
combinator.")
    (license license:expat)))

(define-public rust-combine-3
  (package
    (inherit rust-combine-4)
    (name "rust-combine")
    (version "3.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "combine" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1006sbl3ybiky3d5q28p0lyph37hk7sipls1rkhikv11lfxacgfs"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=parser::Parser::boxed")
       #:cargo-inputs
       (("rust-ascii" ,rust-ascii-0.9)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-combine-regex-1" ,rust-combine-regex-1-1)
        ("rust-either" ,rust-either-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex" ,rust-regex-0.2)
        ("rust-unreachable" ,rust-unreachable-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-partial-io" ,rust-partial-io-0.3)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1))))))

(define-public rust-combine-regex-1-1
  (package
    (name "rust-combine-regex-1")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "combine-regex-1" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bzir63nvrg98i8g6b7crhgq5qbj4vq9f4y6d279af537djvh5ns"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/Marwes/combine")
    (synopsis "Re-export of regex 1.0 letting combine use both 0.2 and 1.0")
    (description
     "This package is a re-export of regex 1.0 letting combine use both 0.2
and 1.0.")
    (license (list license:expat license:asl2.0))))

(define-public rust-comfy-table-7
  (package
    (name "rust-comfy-table")
    (version "7.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "comfy-table" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11i6sm6vznv9982hqpbrba43vfd7vv7zqzlywdc4qykvdhyh8r3w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-console" ,rust-console-0.15)
        ("rust-crossterm" ,rust-crossterm-0.27)
        ("rust-strum" ,rust-strum-0.25)
        ("rust-strum-macros" ,rust-strum-macros-0.25)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.18))))
    (home-page "https://github.com/nukesor/comfy-table")
    (synopsis "Library for building tables with automatic content wrapping")
    (description
     "Comfy-tables is an utility for building tables with automatic content
wrapping.")
    (license license:expat)))

(define-public rust-comfy-table-6
  (package
    (inherit rust-comfy-table-7)
    (name "rust-comfy-table")
    (version "6.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "comfy-table" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fmqjhry6xa6a9kr0769wiw06694n60kxs5c6nfvzqv8h9w9v5by"))))
    (arguments
     `(#:cargo-inputs (("rust-console" ,rust-console-0.15)
                       ("rust-crossterm" ,rust-crossterm-0.26)
                       ("rust-strum" ,rust-strum-0.24)
                       ("rust-strum-macros" ,rust-strum-macros-0.24)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.17))))))

(define-public rust-comfy-table-4
  (package
    (inherit rust-comfy-table-7)
    (name "rust-comfy-table")
    (version "4.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "comfy-table" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wzk894p2s725cpdip5968ydb50zczsl34040j6zs8klhqz5ms8i"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-crossterm" ,rust-crossterm-0.20)
        ("rust-strum" ,rust-strum-0.21)
        ("rust-strum-macros" ,rust-strum-macros-0.21)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-command-group-2
  (package
    (name "rust-command-group")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "command-group" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05lr58pzkpw9rnl3ssi6pv72b9vvjc6z0208ng57djqf1xmxz02h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/watchexec/command-group")
    (synopsis "Extension to Command to spawn in a process group")
    (description "This package provides an extension to Command to spawn in a
process group.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-command-group-1
  (package
    (inherit rust-command-group-2)
    (name "rust-command-group")
    (version "1.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "command-group" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b7d9gy9dhw4jqx5x8njzmaifgxqw0nywjry7bgmjjlv81psia7p"))))
    (arguments
     `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-nix" ,rust-nix-0.22)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))))

(define-public rust-compact-str-0.8
  (package
    (name "rust-compact-str")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compact_str" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cmgp61hw4fwaakhilwznfgncw2p4wkbvz6dw3i7ibbckh3c8y9v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-borsh" ,rust-borsh-1)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-castaway" ,rust-castaway-0.2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-diesel" ,rust-diesel-2)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-markup" ,rust-markup-0.13)
                       ("rust-proptest" ,rust-proptest-1)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rkyv" ,rust-rkyv-0.7)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-sqlx" ,rust-sqlx-0.7)
                       ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-test-case" ,rust-test-case-3)
        ("rust-test-strategy" ,rust-test-strategy-0.3))))
    (home-page "https://github.com/ParkMyCar/compact_str")
    (synopsis "String type that stores strings on the stack, when possible")
    (description
     "This package provides a memory-efficient string type that transparently
stores strings on the stack, when possible.")
    (license license:expat)))

(define-public rust-compact-str-0.7
  (package
    (inherit rust-compact-str-0.8)
    (name "rust-compact-str")
    (version "0.7.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "compact_str" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0gvvfc2c6pg1rwr2w36ra4674w3lzwg97vq2v6k791w30169qszq"))
              (snippet
               #~(begin (use-modules (guix build utils))
                        (substitute* "Cargo.toml"
                          (("1\\.0\\.\\*") "1.0.0"))))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-castaway" ,rust-castaway-0.2)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-markup" ,rust-markup-0.13)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-test-case" ,rust-test-case-2)
        ("rust-test-strategy" ,rust-test-strategy-0.2))))))

;; This package requires features which are unavailable
;; on the stable releases of Rust.
(define-public rust-compiler-builtins-0.1
  (package
    (name "rust-compiler-builtins")
    (version "0.1.84")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "compiler_builtins" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "040bzrhwyqm75yp94vdyfyljg3d25y3d3lb9vipx02p9lqf2r6wq"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-rustc-std-workspace-core"
              ,rust-rustc-std-workspace-core-1)
             ("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/rust-lang/compiler-builtins")
    (synopsis "Compiler intrinsics used by the Rust compiler")
    (description
     "This package provides compiler intrinsics used by the Rust compiler.  This
package is primarily useful when building the @code{core} crate yourself and you
need compiler-rt intrinsics.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-compiler-error-0.1
  (package
    (name "rust-compiler-error")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compiler_error" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0irh7c0gznk2k6mj3cmqw7x4pg59lppmy1y8d6k5xc926rnmz5zg"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/lu-zero/compiler_error")
    (synopsis "Triggerable compiler error")
    (description "This package provides a triggerable compiler error for Rust.")
    (license license:expat)))

(define-public rust-compiletest-rs-0.11
  (package
    (name "rust-compiletest-rs")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compiletest_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k60xaazc2ar1ycp1xiyj2am3rjdl9ww1w2kmmyablpw0n8zwl7i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-diff" ,rust-diff-0.1)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-getopts" ,rust-getopts-0.2)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-miow" ,rust-miow-0.6)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustfix" ,rust-rustfix-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-tester" ,rust-tester-0.9)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/Manishearth/compiletest-rs")
    (synopsis "Extraction of the compiletest utility from the Rust compiler")
    (description
     "This package provides an extraction of the compiletest utility from the
Rust compiler.")
    (license (list license:expat license:asl2.0))))

(define-public rust-compiletest-rs-0.10
  (package
    (inherit rust-compiletest-rs-0.11)
    (name "rust-compiletest-rs")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compiletest_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mn0v8qax92pl9kdf2csah79jyigzvndg8mil6rpn97rpkhzw9bj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-diff" ,rust-diff-0.1)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-miow" ,rust-miow-0.3)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustfix" ,rust-rustfix-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tester" ,rust-tester-0.9)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-compiletest-rs-0.9
  (package
    (inherit rust-compiletest-rs-0.10)
    (name "rust-compiletest-rs")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compiletest_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wmk12mb8xskdv5mf3p33l2w4w76bcxjx3zlwn94zslaf6xrnj3h"))))))

(define-public rust-compiletest-rs-0.3
  (package
    (inherit rust-compiletest-rs-0.10)
    (name "rust-compiletest-rs")
    (version "0.3.26")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compiletest_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ipskgfs86cd3gy6hqb0qm2m0jdngqvh4s3rc1k8pbgb0ib9gn6p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-diff" ,rust-diff-0.1)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-miow" ,rust-miow-0.3)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustfix" ,rust-rustfix-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tester" ,rust-tester-0.6)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-compiletest-rs-0.2
  (package
    (inherit rust-compiletest-rs-0.3)
    (name "rust-compiletest-rs")
    (version "0.2.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compiletest_rs" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0njz4shbhl1pvb6ngpi1wpz2gr5lf2dcha22lpdk995pzrwd6h97"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-completest-0.4
  (package
    (name "rust-completest")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "completest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nsxyiz1dnwy2pk5n17lbhiijgcy9rc4g5sr1w2als0kwvzy23a1"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/assert-rs/completest")
    (synopsis "Run completions for your program")
    (description
     "This package provides running completions for your program.")
    (license (list license:expat license:asl2.0))))

(define-public rust-completest-nu-0.4
  (package
    (name "rust-completest-nu")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "completest-nu" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08vcq18m92xlsfyaikks1ql3ipj42gqa2psnr9hmmnlcnkr1pk7z"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   ;; Allow any version of nushell we have packaged:
                   (("0\\.88\\.1") "*")
                   ;; Why this version of reedline specifically?
                   ;; Make sure it matches the version used by nushell.
                   (("0\\.27\\.1") "*"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Incompatible with the current version of nushell.
       #:cargo-inputs (("rust-completest" ,rust-completest-0.4)
                       ("rust-dunce" ,rust-dunce-1)
                       ("rust-nu-cli" ,rust-nu-cli-0.101)
                       ("rust-nu-cmd-lang" ,rust-nu-cmd-lang-0.101)
                       ("rust-nu-command" ,rust-nu-command-0.101)
                       ("rust-nu-parser" ,rust-nu-parser-0.101)
                       ("rust-nu-protocol" ,rust-nu-protocol-0.101)
                       ("rust-nu-test-support" ,rust-nu-test-support-0.101)
                       ("rust-reedline" ,rust-reedline-0.38))))
    (native-inputs (list pkg-config))
    (inputs (list openssl))
    (home-page "https://github.com/assert-rs/completest")
    (synopsis "Run completions for your program")
    (description "This package provides run completions for your program.")
    (license (list license:expat license:asl2.0))))

(define-public rust-completest-pty-0.5
  (package
    (name "rust-completest-pty")
    (version "0.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "completest-pty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04s30kz6rvi4d7grx8my5siwmfiv6sm09ib152yj5ccxk4mg5lpv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-completest" ,rust-completest-0.4)
                       ("rust-ptyprocess" ,rust-ptyprocess-0.4)
                       ("rust-vt100" ,rust-vt100-0.15))))
    (home-page "https://github.com/assert-rs/completest")
    (synopsis "Run completions for your program")
    (description
     "This package provides running completions for your program.")
    (license (list license:expat license:asl2.0))))

(define-public rust-compound-duration-1
  (package
    (name "rust-compound-duration")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "compound_duration" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rb5kasd7044xxb73wz2qqxv6iwawp9gipvqhya8yybafh7a679r"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/compound_duration/latest/compound_duration/")
    (synopsis "Convert seconds to compound duration")
    (description
     "Convert seconds to compound duration, such as: week, days, hours,
minutes, seconds.")
    (license license:bsd-3)))

(define-public rust-comrak-0.18
  (package
    (name "rust-comrak")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "comrak" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "157838s5bpjihg4a563hpbqr6a6080570g25pqi6026abdlsaaj8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-emojis" ,rust-emojis-0.5)
                       ("rust-entities" ,rust-entities-1)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-shell-words" ,rust-shell-words-1)
                       ("rust-slug" ,rust-slug-0.1)
                       ("rust-syntect" ,rust-syntect-5)
                       ("rust-typed-arena" ,rust-typed-arena-2)
                       ("rust-unicode-categories" ,rust-unicode-categories-0.1)
                       ("rust-xdg" ,rust-xdg-2))
       #:cargo-development-inputs (("rust-ntest" ,rust-ntest-0.9)
                                   ("rust-propfuzz" ,rust-propfuzz-0.0.1))))
    (home-page "https://hrzn.ee/kivikakk/comrak")
    (synopsis "GitHub flavoured Markdown parser and formatter")
    (description
     "This package provides a 100% CommonMark-compatible GitHub flavoured
Markdown parser and formatter written in Rust.")
    (license license:bsd-2)))

(define-public rust-concat-idents-1
  (package
    (name "rust-concat-idents")
    (version "1.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concat-idents" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bqdl6vml2ksyz6hc4xlpw3iqaagxs7xn0xinwa51ms80a390vsb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/DzenanJupic/concat-idents")
    (synopsis "Concatenate multiple identifiers and use them everywhere")
    (description
     "This package allows concatenating multiple identifiers and using them
everywhere.")
    (license (list license:expat license:asl2.0))))

(define-public rust-concat-string-1
  (package
    (name "rust-concat-string")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concat-string" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02c6hfxsvs1ff2j58f3qzr526w1yg8d2nf6yyjv81ixgbz5vwfbl"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f))    ; Tests don't run with current versions of rust.
    (home-page "https://github.com/FaultyRAM/concat-string")
    (synopsis
     "Provides macros for concatenating string slices into owned strings")
    (description
     "This package provides macros for concatenating string slices into
owned strings.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-concolor-0.0.11
  (package
    (name "rust-concolor")
    (version "0.0.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05ja8yy5ar34k2cplk0qp1d8qabxzj16mb8jn8790fivwwb6r39i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; cannot find function `set` in crate `concolor`
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-concolor-query" ,rust-concolor-query-0.1)
        ("rust-is-terminal" ,rust-is-terminal-0.4))))
    (home-page "https://github.com/rust-cli/concolor")
    (synopsis "Control console coloring across all dependencies")
    (description "Concolor is a terminal styling library that can be used to:
@itemize
@item Detect interactive @samp{stdout} or @samp{stderr}
@item Detect terminal capabilities via @samp{TERM}
@item Support @url{https://bixense.com/clicolors/, CLICOLOR} and
@url{https://no-color.org/, NO_COLOR}.
@end itemize")
    (license (list license:expat license:asl2.0))))

(define-public rust-concolor-0.0.8
  (package
    (inherit rust-concolor-0.0.11)
    (name "rust-concolor")
    (version "0.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bs03868bywgz2f8x4h41akvxpxiax9b036hrpf0mwhx7db6flh1"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-concolor-query" ,rust-concolor-query-0.0.5))))))

(define-public rust-concolor-control-0.0.7
  (package
    (inherit rust-concolor-0.0.8)
    (name "rust-concolor-control")
    (version "0.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor-control" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nplakbdb9sbd3h62d9zkan0xm1w0c7cbl3rk0iqgn405yf1213i"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-concolor-query" ,rust-concolor-query-0.0.4))))))

(define-public rust-concolor-override-1
  (package
    (name "rust-concolor-override")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor-override" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "140yb63zrbdvxvy3zaqvldgrjh5rm9qijy14w0imk7g3i1995920"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-colorchoice" ,rust-colorchoice-1))))
    (home-page "https://github.com/rust-cli/concolor")
    (synopsis "Global override of color control")
    (description "Global override of color control.")
    (license (list license:expat license:asl2.0))))

(define-public rust-concolor-query-0.3
  (package
    (name "rust-concolor-query")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor-query" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ks4g514kx31nnv3bxa7cj5xgg6vwkljn8a001njxjnpqd91vlc8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-windows-sys" ,rust-windows-sys-0.45))))
    (home-page "https://github.com/rust-cli/concolor")
    (synopsis "Look up colored console capabilities")
    (description "@code{concolor-query} can be used to query a terminal
capabilities, for example to find out about its colored console abilities.")
    (license (list license:expat license:asl2.0))))

(define-public rust-concolor-query-0.1
  (package
    (inherit rust-concolor-query-0.3)
    (name "rust-concolor-query")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor-query" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05ykng7pqhm7840yh07r27p90flwrrmwlk32wxbgdp6mncs0gac2"))))
    (arguments '())))

(define-public rust-concolor-query-0.0.5
  (package
    (inherit rust-concolor-query-0.1)
    (name "rust-concolor-query")
    (version "0.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor-query" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jcll1lnnkbdr6xcgppf6dr0ra9rxcp78xr1zlrvba03zkk7yhfn"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-concolor-query-0.0.4
  (package
    (inherit rust-concolor-query-0.0.5)
    (name "rust-concolor-query")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concolor-query" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1isbqpyiwblp0rglnaqzai5hav23095s82mwgi09v3xcck4rq5dd"))))))

(define-public rust-concurrent-queue-2
  (package
    (name "rust-concurrent-queue")
    (version "2.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "concurrent-queue" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0wrr3mzq2ijdkxwndhf79k952cp4zkz35ray8hvsxl96xrx1k82c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-loom" ,rust-loom-0.7)
        ("rust-portable-atomic" ,rust-portable-atomic-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/smol-rs/concurrent-queue")
    (synopsis "Concurrent multi-producer multi-consumer queue")
    (description
     "This package provides a concurrent multi-producer multi-consumer
queue.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-concurrent-queue-1
  (package
    (inherit rust-concurrent-queue-2)
    (name "rust-concurrent-queue")
    (version "1.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "concurrent-queue" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "176v15an6f686c9m5br57al23d7z3xzm3542walnwsdm9aj80ixg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cache-padded" ,rust-cache-padded-1))
       #:cargo-development-inputs
       (("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-fastrand" ,rust-fastrand-1))))))

(define-public rust-condtype-1
  (package
    (name "rust-condtype")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "condtype" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1by78npyhkc30jccc7kirvwip1fj0jhi2bwfmcw44dqz81xa1w5s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                                   ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/nvzqz/condtype")
    (synopsis "Choose types at compile-time via boolean constants")
    (description "Choose types at compile-time via boolean constants.")
    (license (list license:expat license:asl2.0))))

(define-public rust-config-0.13
  (package
    (name "rust-config")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jjag1x3rl77zjykbrykzhd5fsiv8vy40y4lxkj46xicjw8qwwr3"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-json5" ,rust-json5-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-pathdiff" ,rust-pathdiff-0.2)
                       ("rust-ron" ,rust-ron-0.7)
                       ("rust-rust-ini" ,rust-rust-ini-0.18)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-toml" ,rust-toml-0.5)
                       ("rust-yaml-rust" ,rust-yaml-rust-0.4))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-float-cmp" ,rust-float-cmp-0.9)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-notify" ,rust-notify-4)
                                   ("rust-reqwest" ,rust-reqwest-0.11)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-temp-env" ,rust-temp-env-0.2)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-warp" ,rust-warp-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list openssl))
    (home-page "https://github.com/mehcode/config-rs")
    (synopsis "Layered configuration system for Rust applications")
    (description
     "This package provides a layered configuration system for Rust
applications.")
    (license (list license:expat license:asl2.0))))

(define-public rust-config-0.11
  (package
    (inherit rust-config-0.13)
    (name "rust-config")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sdkxv77m65frsn3bx0r3v7asxar3gy3hmghcfk6h4rbijars6qv"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-nom" ,rust-nom-5)
        ("rust-rust-ini" ,rust-rust-ini-0.13)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-hjson" ,rust-serde-hjson-0.9)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-yaml-rust" ,rust-yaml-rust-0.4))))))

(define-public rust-config-0.10
  (package
    (inherit rust-config-0.11)
    (name "rust-config")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qrcp7nm24xzp418xnqf0i26qahw93w31nk5vs6m7ng18ghpdc0r"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-nom" ,rust-nom-5)
        ("rust-rust-ini" ,rust-rust-ini-0.13)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-hjson" ,rust-serde-hjson-0.9)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-yaml-rust" ,rust-yaml-rust-0.4))))))

(define-public rust-config-file-0.2
  (package
    (name "rust-config-file")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "config-file" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1yys2088y6lnc959k1k78y0amjkp6a00pjybsk3x50872lnfflfz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.5)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-yaml" ,rust-serde-yaml-0.8)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-toml" ,rust-toml-0.5))))
    (home-page "https://github.com/Keruspe/config-file")
    (synopsis "Read and parse configuration files")
    (description "This package provides ability to read and parse
configuration files.")
    (license license:bsd-2)))

(define-public rust-configparser-3
  (package
    (name "rust-configparser")
    (version "3.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "configparser" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "16v47b7lknb35ragwhj9gzgwfpxs34vn2b97hhaky30ry1r34zp5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-2)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/QEDK/configparser-rs")
    (synopsis "Simple parsing utility for INI and ini-style syntax")
    (description
     "This package provides a simple configuration parsing utility with no
dependencies that allows you to parse INI and ini-style syntax.  You can use
this to write Rust programs which can be customized by end users easily.")
    (license (list license:expat license:lgpl3+))))

(define-public rust-console-0.15
  (package
    (name "rust-console")
    (version "0.15.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sz4nl9nz8pkmapqni6py7jxzi7nzqjxzb3ya4kxvmkb0zy867qf"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   ;; break-dead-code was removed from proptest in 1.3.0.
                   ((".*break-dead-code.*") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-encode-unicode" ,rust-encode-unicode-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-1)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/mitsuhiko/console")
    (synopsis "Terminal and console abstraction for Rust")
    (description
     "This package provides a terminal and console abstraction for Rust.")
    (license license:expat)))

(define-public rust-console-0.14
  (package
    (inherit rust-console-0.15)
    (name "rust-console")
    (version "0.14.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i8z1bdbv8is1lamd81jdsf4pa1ww2jl3h0yjdshc5mabd2fd4rr"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encode-unicode" ,rust-encode-unicode-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-terminal-size" ,rust-terminal-size-0.1)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-winapi-util" ,rust-winapi-util-0.1))))))

(define-public rust-console-0.13
  (package
    (inherit rust-console-0.14)
    (name "rust-console")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "022ai0jbbawngrx396qppwgzk4pk3v2fdwckzamvz6h154jsn2m5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-encode-unicode" ,rust-encode-unicode-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-terminal-size" ,rust-terminal-size-0.1)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-winapi-util" ,rust-winapi-util-0.1))))))

(define-public rust-console-0.11
  (package
    (inherit rust-console-0.13)
    (name "rust-console")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nmwkbb1j1zjb2z4akk83rqgnbv7j3dla4nxv0ibk9xvavk982cc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-encode-unicode" ,rust-encode-unicode-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-terminal-size" ,rust-terminal-size-0.1)
        ("rust-termios" ,rust-termios-0.3)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-winapi-util" ,rust-winapi-util-0.1))))))

(define-public rust-console-0.7
  (package
    (name "rust-console")
    (version "0.7.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0a4n2syzik9lh02v2i4wdazvm05d99bib7dw0lqvz8mq2hn7r9cc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-clicolors-control" ,rust-clicolors-control-1)
        ("rust-encode-unicode" ,rust-encode-unicode-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-parking-lot" ,rust-parking-lot-0.8)
        ("rust-regex" ,rust-regex-1)
        ("rust-termios" ,rust-termios-0.3)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/mitsuhiko/console")
    (synopsis "Terminal and console abstraction for Rust")
    (description
     "This package provides a terminal and console abstraction for Rust.")
    (license license:expat)))

(define-public rust-console-error-panic-hook-0.1
  (package
    (name "rust-console-error-panic-hook")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console_error_panic_hook" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04d2narcrzk9bnddz17rr2l819l82pr0h6d98s2w9q236n87dndq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
    (home-page "https://github.com/rustwasm/console_error_panic_hook")
    (synopsis "Logs panics to console.error")
    (description
     "This package provides a panic hook for @code{wasm32-unknown-unknown}
that logs panics to @code{console.error}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-console-log-1
  (package
    (name "rust-console-log")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "console_log" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03rwzvpg384y68j6hxm4h1bhzi7xcc5jdari8hxlvgzdwi0fv2my"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/iamcodemaker/console_log")
    (synopsis "Route Rust log messages to the browser's console")
    (description
     "This package provides a logging facility that routes Rust log messages to
the browser's console.")
    (license (list license:expat license:asl2.0))))

(define-public rust-console-log-0.2
  (package
    (inherit rust-console-log-1)
    (name "rust-console-log")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "console_log" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "150li8pznpfpn4q0f7g9jwq2hnd5wik0w8378zaa1wffc5ckf6jh"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))))))

(define-public rust-const-cstr-0.3
  (package
    (name "rust-const-cstr")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "const-cstr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "19ij6m8s16d0i7vma535l7w4x8bcanjcxs7c6n7sci86ydghnggd"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/cybergeek94/const-cstr")
    (synopsis "Create static C-compatible strings from Rust string literals")
    (description
     "This crate lets you create static C-compatible strings from Rust string
literals.")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-fn-0.4
  (package
    (name "rust-const-fn")
    (version "0.4.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const_fn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0df9fv9jhnh9b4ni3s2fbfcvq77iia4lbb89fklwawbgv2vdrp7v"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/taiki-e/const_fn")
    (synopsis "Generate const functions with conditional compilations")
    (description "This package provides an attribute for easy generation of
const functions with conditional compilations.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-const-format-0.2
  (package
    (name "rust-const-format")
    (version "0.2.32")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const_format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wvns8mzqwkyciwr00p2g5g4ak7zz8m473di85srj11xmz3i98p3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--features=__test")
       #:cargo-inputs
       (("rust-const-format-proc-macros" ,rust-const-format-proc-macros-0.2)
        ("rust-konst" ,rust-konst-0.2))
       #:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.5)
                                   ("rust-fastrand" ,rust-fastrand-1))))
    (home-page "https://github.com/rodrimati1992/const_format_crates/")
    (synopsis "Compile-time string formatting")
    (description "This package provides compile-time string formatting.")
    (license license:zlib)))

(define-public rust-const-format-proc-macros-0.2
  (package
    (name "rust-const-format-proc-macros")
    (version "0.2.32")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const_format_proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0015dzbjbd773nn6096dwqv11fm8m3gy4a4a56cz5x10zl4gzxn7"))))
    (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)
                       ("rust-unicode-xid" ,rust-unicode-xid-0.2))
       #:cargo-development-inputs (("rust-fastrand" ,rust-fastrand-1))))
    (home-page "https://github.com/rodrimati1992/const_format_crates/")
    (synopsis "Implementation detail of the @code{const_format} crate")
    (description "Implementation detail of the @code{const_format} crate.")
    (license license:zlib)))

(define-public rust-const-oid-0.9
  (package
    (name "rust-const-oid")
    (version "0.9.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "const-oid" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1y0jnqaq7p2wvspnx7qj76m7hjcqpz73qzvr9l2p9n2s51vr6if2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1))
       #:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3))))
    (home-page "https://github.com/RustCrypto/formats/tree/master/const-oid")
    (synopsis "Implementation of the ISO/IEC Object Identifier (OID)")
    (description
     "This package is a const-friendly implementation of the ISO/IEC Object
Identifier (OID) standard as defined in ITU X.660, with support for BER/DER
encoding/decoding as well as heapless no_std (i.e., embedded) support.")
    ;; The user can choose either license.
    (license (list license:asl2.0 license:expat))))

(define-public rust-const-oid-0.7
  (package
    (inherit rust-const-oid-0.9)
    (name "rust-const-oid")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-oid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wwl3cncd8p2fa54vzmghflh4nh9ml02xfbv38nf5ziifh28riz4"))))
    (arguments
     `(#:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3))))))

(define-public rust-const-oid-0.6
  (package
    (inherit rust-const-oid-0.9)
    (name "rust-const-oid")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-oid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12vv7csqqjj0x1l5mf51lgqiw76k5c3mb1yzfhfcqysks2j2lvwx"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-const-panic-0.2
  (package
    (name "rust-const-panic")
    (version "0.2.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const_panic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16w72mnzjqgwfhlq8cqm6xhd2n6lc1wan08987izv1pcxhwz4lb0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--features=test")
       #:cargo-inputs
       (("rust-const-panic-proc-macros" ,rust-const-panic-proc-macros-0.2)
        ("rust-typewit" ,rust-typewit-1))
       #:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/rodrimati1992/const_panic/")
    (synopsis "Const panic with formatting")
    (description "This package provides const panic with formatting.")
    (license license:zlib)))

(define-public rust-const-panic-proc-macros-0.2
  (package
    (name "rust-const-panic-proc-macros")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const_panic_proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1addx3a8vi02cdak3ygrqivv02jj73251h85x49aic78yznrhlrr"))))
    (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)
                       ("rust-unicode-xid" ,rust-unicode-xid-0.2))))
    (home-page "https://github.com/rodrimati1992/const_panic/")
    (synopsis "Implementation detail of the `const_panic` crate")
    (description "Implementation detail of the `const_panic` crate.")
    (license license:zlib)))

(define-public rust-const-random-0.1
  (package
    (name "rust-const-random")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-random" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n8kqz3y82ks8znvz1mxn3a9hadca3amzf33gmi6dc3lzs103q47"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; proc macro panicked
       #:cargo-inputs
       (("rust-const-random-macro" ,rust-const-random-macro-0.1))))
    (home-page "https://github.com/tkaitchuck/constrandom")
    (synopsis "Compile time random number generation")
    (description "This package provides compile time random number
generation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-random-macro-0.1
  (package
    (name "rust-const-random-macro")
    (version "0.1.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-random-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03iram4ijjjq9j5a7hbnmdngj8935wbsd0f5bm8yw2hblbr3kn7r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-tiny-keccak" ,rust-tiny-keccak-2))))
    (home-page "https://github.com/tkaitchuck/constrandom")
    (synopsis "Procedural macro used by const-random")
    (description "This package provides the procedural macro used by
@code{rust-const-random}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-const-sha1-0.2
  (package
    (name "rust-const-sha1")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-sha1" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "179cgi2m3wj5g80j49pggs95xalc6y1ivvbrv4m82alc3r2vcn7v"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/rylev/const-sha1")
    (synopsis "SHA1 implementation for use in const contexts")
    (description
     "This package provides a sha1 implementation for use in const contexts.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-const-str-0.5
  (package
    (name "rust-const-str")
    (version "0.5.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-str" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1agvan36a2fgks5w47kk8idym54rdk504p6q2nj8gf9v136cq61n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-const-str-proc-macro" ,rust-const-str-proc-macro-0.5))
       #:cargo-development-inputs (("rust-heck" ,rust-heck-0.4)
                                   ("rust-http" ,rust-http-1)
                                   ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/Nugine/const-str")
    (synopsis "Compile-time string operations")
    (description "This package provides compile-time string operations.")
    (license license:expat)))

(define-public rust-const-str-proc-macro-0.5
  (package
    (name "rust-const-str-proc-macro")
    (version "0.5.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "const-str-proc-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gw4kzrrgrsgggi765xkq0svqdjw6rqp97nyyvp3a96dghbhfc1x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-http" ,rust-http-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/Nugine/const-str")
    (synopsis "Compile-time string operations")
    (description "This package provides compile-time string operations.")
    (license license:expat)))

(define-public rust-constant-time-eq-0.3
  (package
    (name "rust-constant-time-eq")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "constant_time_eq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19nwwczii762pwlsm7bpizgjg8hkg1kqi32b2g4rglijklsbhx3w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-count-instructions" ,rust-count-instructions-0.1)
        ("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/cesarb/constant_time_eq")
    (synopsis
     "Compares two equal-sized byte strings in constant time")
    (description
     "This package compares two equal-sized byte strings in constant time.
It is inspired by the Linux kernel's @code{crypto_memneq}.")
    (license (list license:cc0 license:expat-0 license:asl2.0))))

(define-public rust-constant-time-eq-0.2
  (package
    (inherit rust-constant-time-eq-0.3)
    (name "rust-constant-time-eq")
    (version "0.2.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "constant_time_eq" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0sy7bs12dfa2d5hw7759b0mvjqcs85giajg4qyg39xq8a1s8wh8k"))))
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4))))))

(define-public rust-constant-time-eq-0.1
  (package
    (inherit rust-constant-time-eq-0.2)
    (name "rust-constant-time-eq")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "constant_time_eq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1g3vp04qzmk6cpzrd19yci6a95m7ap6wy7wkwgiy2pjklklrfl14"))))
    (home-page "https://github.com/cesarb/constant_time_eq")
    (license license:cc0)))

(define-public rust-content-inspector-0.2
  (package
    (name "rust-content-inspector")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "content_inspector" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f1gwv4axxw9wck4a4jxlkm7xjjakb3616isll2k0s4chmpadgdp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2))))
    (home-page "https://github.com/sharkdp/content_inspector")
    (synopsis "Fast inspection of binary buffers to guess the encoding")
    (description
     "This package is a simple library for fast inspection of binary buffers
to guess the type of content.")
    (license (list license:expat license:asl2.0))))

(define-public rust-conv-0.3
  (package
    (name "rust-conv")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "conv" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "168j1npqrif1yqxbgbk0pdrx9shzhs5ylc5a4xw49b6hbxi11zvq"))
        (modules '((guix build utils)))
        (snippet
         '(begin (substitute* "Cargo.toml"
                   (("0.2.21.*") "0.2.21\"\n"))
                 #t))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-custom-derive" ,rust-custom-derive-0.1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.2)
        ("rust-winapi" ,rust-winapi-0.2))))
    (home-page "https://github.com/DanielKeep/rust-conv")
    (synopsis "Conversion traits with more specific semantics")
    (description
     "This crate provides a number of conversion traits with more specific
semantics than those provided by @code{as} or @code{From}/@code{Into}.")
    (license license:expat)))

(define-public rust-convert-case-0.6
  (package
    (name "rust-convert-case")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "convert_case" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jn1pq6fp3rri88zyw6jlhwwgf6qiyc08d6gjv0qypgkl862n67c"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=case::Case::PseudoRandom"
             "--skip=case::Case::Random"
             "--skip=pattern::Pattern::PseudoRandom")
       #:cargo-inputs
       (("rust-rand" ,rust-rand-0.7)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
       #:cargo-development-inputs
       (("rust-strum" ,rust-strum-0.18)
        ("rust-strum-macros" ,rust-strum-macros-0.18))))
    (home-page "https://github.com/rutrum/convert-case")
    (synopsis "Convert strings into any case")
    (description "Convert strings into any case.")
    (license license:expat)))

(define-public rust-convert-case-0.4
  (package
    (inherit rust-convert-case-0.6)
    (name "rust-convert-case")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "convert_case" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03jaf1wrsyqzcaah9jf8l1iznvdw5mlsca2qghhzr9w27sddaib2"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rand" ,rust-rand-0.7))))))

(define-public rust-coolor-0.8
  (package
    (name "rust-coolor")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "coolor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sjrs0k2ng69hilqrrkfayr2rjpwa6b6krp11y3da64zj10kxklm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency chain.
       #:cargo-inputs (("rust-crossterm" ,rust-crossterm-0.23))))
    (home-page "https://github.com/Canop/coolor")
    (synopsis "Conversion between color formats")
    (description "Conversion between color formats.")
    (license license:expat)))

(define-public rust-coolor-0.5
  (package
    (inherit rust-coolor-0.8)
    (name "rust-coolor")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "coolor" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11pvplrm51xjr0mmhwrjaif6vd7p2xpmdbwd0rbx2kr4iq4c4smd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-crossterm" ,rust-crossterm-0.25))
       #:cargo-development-inputs
       (("rust-crossterm" ,rust-crossterm-0.25)
        ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-copyless-0.1
  (package
    (name "rust-copyless")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "copyless" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dmmxsq3m0i6g9s2kj96n777qhmm7vjgv4r7agc2v6w6bl7rdpx2"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/kvark/copyless")
    (synopsis "Ways to eliminate @code{memcpy} calls")
    (description
     "This package provides ways to eliminate @code{memcpy} calls when using
the standard library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-copypasta-0.10
  (package
    (name "rust-copypasta")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "copypasta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n58sfbahs49ar0qivz1sqz1ixhh1ifgp5bzifjkvabwhqi59f6y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clipboard-win" ,rust-clipboard-win-3)
                       ("rust-objc" ,rust-objc-0.2)
                       ("rust-objc-foundation" ,rust-objc-foundation-0.1)
                       ("rust-objc-id" ,rust-objc-id-0.1)
                       ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.7)
                       ("rust-x11-clipboard" ,rust-x11-clipboard-0.9))))
    (home-page "https://github.com/alacritty/copypasta")
    (synopsis "Get and set the contents of the OS-level clipboard")
    (description
     "Copypasta is a cross-platform library for getting and setting the
contents of the OS-level clipboard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cordic-0.1
  (package
    (name "rust-cordic")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cordic" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1l0jfhm6kynv61bp9ncmi25bdib40d9pfcajl1gwkidqq1va3l0f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-fixed" ,rust-fixed-1))))
    (home-page "https://github.com/sebcrozet/cordic")
    (synopsis "Special functions for fixed-point numbers using the CORDIC method")
    (description "This package provides special functions for fixed-point
numbers using the CORDIC method.")
    (license license:bsd-3)))

(define-public rust-core-affinity-0.8
  (package
    (name "rust-core-affinity")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_affinity" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0113rfzyvjpl1camxnrf92pn9vakhn9zqvgir0wgrqawcgsr4a32"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-num-cpus" ,rust-num-cpus-1)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Elzair/core_affinity_rs")
    (synopsis "Manage CPU affinities")
    (description "This package manages CPU affinities.")
    (license (list license:expat license:asl2.0))))

(define-public rust-core-affinity-0.5
  (package
    (inherit rust-core-affinity-0.8)
    (name "rust-core-affinity")
    (version "0.5.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_affinity" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07qpwyxps4gp3gci2p6c5h4cmcql7551bp91qgbv0ky3bh8h72kz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-winapi" ,rust-winapi-0.2))))))

(define-public rust-core-arch-0.1
  (package
    (name "rust-core-arch")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_arch" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04vdvr9vj0f1cv2p54nsszmrrk9w1js4c0z4i0bdlajl1lydslim"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
    (home-page "https://github.com/rust-lang/stdarch")
    (synopsis
     "Rust's core library architecture-specific intrinsics")
    (description
     "@code{core::arch} - Rust's core library architecture-specific
intrinsics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-core-error-0.0.0
  (package
    (name "rust-core-error")
    (version "0.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core-error" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13wvc7lcpi7f6rr0racns4l52gzpix4xhih6qns30hmn5sbv5kgg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/core-error/core-error")
    (synopsis "std::error::Error for libcore")
    (description "std::error::Error for libcore.")
    (license (list license:expat license:asl2.0))))

(define-public rust-core-extensions-1
  (package
    (name "rust-core-extensions")
    (version "1.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_extensions" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vn0jsn8nbi76i2jjadim31piscf0hv8640ng9z608cpgk01viwj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; tests must be run with the "__test" feature
       #:cargo-inputs
       (("rust-core-extensions-proc-macros" ,rust-core-extensions-proc-macros-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/rodrimati1992/core_extensions")
    (synopsis
     "Extensions for core/std library types, and other miscellaneous features")
    (description
     "Extensions for core/std library types, and other miscellaneous features.")
    (license (list license:expat license:asl2.0))))

(define-public rust-core-extensions-0.1
  (package
    (inherit rust-core-extensions-1)
    (name "rust-core-extensions")
    (version "0.1.20")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_extensions" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nhgd5rlgp679qm4g3x806ywwhm6qr1y2j3y90wzjgyqllf7w49s"))))
    (arguments
     `(#:skip-build? #t ; failed to resolve: could not find `export` in `_serde`
       #:cargo-inputs
       (("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4))))))

(define-public rust-core-extensions-proc-macros-1
  (package
    (name "rust-core-extensions-proc-macros")
    (version "1.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_extensions_proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19k11haw8s00zxxignjmw0ian0q85r9grhbvr153nvlbs8cv5wv9"))))
    (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))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1))))
    (home-page "https://github.com/rodrimati1992/core_extensions")
    (synopsis "Implementation detail of the @code{core_extensions} crate")
    (description "Implementation detail of the @code{core_extensions} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-core-maths-0.1
  (package
    (name "rust-core-maths")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core_maths" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18q9fwy80lk1lccam375skmsslryik00zkhsl850pidqrh2jbc73"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libm" ,rust-libm-0.2))))
    (home-page "https://github.com/robertbastian/core_maths")
    (synopsis "Extension trait for full float functionality in `#[no_std]`")
    (description
     "This package provides an extension trait for full float functionality in
`#[no_std]` backed by `libm`.")
    (license license:expat)))

(define-public rust-core2-0.4
  (package
    (name "rust-core2")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "core2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01f5xv0kf3ds3xm7byg78hycbanb8zlpvsfv4j47y46n3bpsg6xl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))))
    (home-page "https://github.com/bbqsrc/core2")
    (synopsis "Bare essentials of @code{std::io} for use in @code{no_std}")
    (description
      "This package provides the bare essentials of @code{std::io} for use
in @code{no_std}.  Alloc support is optional.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-core2-0.3
  (package
    (inherit rust-core2-0.4)
    (name "rust-core2")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "core2" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1wzzy5iazdk5caadxvjfwrd312rbg7a55a1zpmsdrhk3kfpa77r3"))))
    (arguments `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))))))

(define-public rust-count-instructions-0.1
  (package
    (name "rust-count-instructions")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "count_instructions" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ps0254pvx3nmnxs2v60kv7fqayh82r3jqypb4l3ql3i7s3rzr1n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rustix" ,rust-rustix-0.38))))
    (home-page "https://github.com/cesarb/count_instructions")
    (synopsis "Counts the instructions executed within a single function")
    (description "Counts the instructions executed within a single function.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cov-mark-2
  (package
    (name "rust-cov-mark")
    (version "2.0.0-pre.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cov-mark" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0jj4yz70k31ax1n3s7iyjv1k5yzrm4hkibrazqciycyrdgvxhj0d"))))
    (arguments `(#:skip-build? #t))
    (build-system cargo-build-system)
    (home-page "https://github.com/matklad/cov-mark")
    (synopsis "Manual coverage marks")
    (description "This package provides a Manual coverage marks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cov-mark-1
  (package
    (inherit rust-cov-mark-2)
    (name "rust-cov-mark")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cov-mark" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wv75ylrai556m388a40d50fxiyacmvm6qqz6va6qf1q04z3vylz"))))
    (arguments `())))

(define-public rust-coverage-helper-0.2
  (package
    (name "rust-coverage-helper")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "coverage-helper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0knim97n8v0yhn82rm4dvn0gds4fbwzx6f2yjdsiwgdv2wbmax41"))
       (modules '((guix build utils)))
       (snippet '(begin
                   (substitute* "Cargo.toml"
                     ;; cfg_attr(coverage_nightly) breaks some cargo versions
                     ;; See issue: https://github.com/taiki-e/cargo-llvm-cov/issues/370
                     (("\\[lints.rust\\]" all)
                      (string-append all "\n"
                       "unexpected_cfgs = { level = \"warn\", "
                       "check-cfg = ['cfg(coverage_nightly)'] }")))))))
    (build-system cargo-build-system)
    (home-page "https://github.com/taiki-e/coverage-helper")
    (synopsis "Helper for cargo-llvm-cov")
    (description
     "Helper for
@url{https://github.com/taiki-e/cargo-llvm-cov/issues/123, cargo-llvm-cov}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cpp-demangle-0.4
  (package
    (name "rust-cpp-demangle")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "cpp_demangle" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ikd484ja34z3mbc1r1zj3y6ymxv3sc5y1n7wrr63xn7vy5zjxic"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-afl" ,rust-afl-0.12)
        ("rust-cfg-if" ,rust-cfg-if-1))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-diff" ,rust-diff-0.1))))
    (home-page "https://github.com/gimli-rs/cpp_demangle")
    (synopsis "Demangle C++ symbols")
    (description
     "This package provides a crate for demangling C++ symbols.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cpp-demangle-0.3
  (package
    (inherit rust-cpp-demangle-0.4)
    (name "rust-cpp-demangle")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cpp_demangle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03vi33qz8x7lll0xd3acd3jp39nvzv174wg424qsb1nkm8z9bapf"))))
    (arguments
     `(#:cargo-inputs (("rust-afl" ,rust-afl-0.11)
                       ("rust-cfg-if" ,rust-cfg-if-1))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-2)
                                   ("rust-diff" ,rust-diff-0.1))))))

(define-public rust-cpufeatures-0.2
  (package
    (name "rust-cpufeatures")
    (version "0.2.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cpufeatures" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hy466fkhxjbb16i7na95wz8yr14d0kd578pwzj5lbkz14jh5f0n"))))
    (build-system cargo-build-system)
    (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Alternative to the @code{is_x86_feature_detected!} macro")
    (description
     "Cpufeatures is a lightweight and efficient no-std compatible alternative
to the @code{is_x86_feature_detected!} macro.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cpuid-bool-0.2
  (package
    (name "rust-cpuid-bool")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cpuid-bool" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fpzag3g655p1lr08jgf5n89snjc2ycqx30mm0w3irc9fc3mvcnw"))))
    (build-system cargo-build-system)
    (arguments
     ;; error: This crate works only on x86 and x86-64 targets.
     (list #:skip-build? (not (target-x86?))))
    (home-page "https://github.com/RustCrypto/utils/tree/master/cpufeatures")
    (synopsis "Replaced by the `cpufeatures` crate")
    (description "This package has been replaced by the `cpufeatures` crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crabgrind-0.1
  (package
    (name "rust-crabgrind")
    (version "0.1.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crabgrind" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06rn7ymna8i2d9sf8krshpffd5wzmk18gfrd5041bvclj71rxsfr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=tests::count_errors"
                            "--skip=tests::non_simd_call"
                            "--skip=tests::test_run_mode_under_valgrind"
                            "--skip=tests::wrong_monitor_command")
       #:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (inputs (list valgrind))
    (home-page "https://github.com/2dav/crabgrind")
    (synopsis "Rust bindings to \"Valgrind Client Request\" interface")
    (description
     "This package provides Rust bindings to \"Valgrind Client Request\" interface.")
    (license license:expat)))

(define-public rust-crates-index-0.19
  (package
    (name "rust-crates-index")
    (version "0.19.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crates-index" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v8x1yb8hx9p1n16p1nz7bmak9b3xj2cfh8dbfyshswx427b7jn3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Tests need to have network access to the cargo repository.
       #:cargo-test-flags
       '("--release" "--"
         ;; These tests want network access.
         "--skip=bare_index::test::bare_iterator"
         "--skip=bare_index::test::clones_bare_index"
         "--skip=bare_index::test::opens_bare_index"
         "--skip=bare_index::test::reads_replaced_source"
         "--skip=bare_index::test::test_can_parse_all"
         "--skip=bare_index::test::test_cargo_default_updates"
         "--skip=bare_index::test::test_dependencies"
         "--skip=mem_usage")
       #:cargo-inputs (("rust-git2" ,rust-git2-0.17)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-http" ,rust-http-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-smol-str" ,rust-smol-str-0.2)
                       ("rust-toml" ,rust-toml-0.7))
       #:cargo-development-inputs (("rust-cap" ,rust-cap-0.1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (native-inputs (list pkg-config))
    (inputs (list openssl libgit2-1.6 zlib))
    (home-page "https://crates.io/crates/crates-index")
    (synopsis "Retrieving and interacting with the crates.io index")
    (description
     "Library for retrieving and interacting with the crates.io index.")
    (license license:asl2.0)))

(define-public rust-crates-index-0.18
  (package
    (inherit rust-crates-index-0.19)
    (name "rust-crates-index")
    (version "0.18.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crates-index" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1x7f7xfvqzlacji88iaz9n4k7wip72sk4gfvxvccli0cbf2yqirl"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-git2" ,rust-git2-0.15)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-home" ,rust-home-0.5)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-semver" ,rust-semver-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-smartstring" ,rust-smartstring-1))))))

(define-public rust-crates-index-0.17
  (package
    (inherit rust-crates-index-0.18)
    (name "rust-crates-index")
    (version "0.17.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crates-index" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0izrm8m4wic5kp5y4p3f3d50lrlbamp3wizlgr4hm56rimfazm4a"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-git2" ,rust-git2-0.13)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-home" ,rust-home-0.5)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-semver" ,rust-semver-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-smartstring" ,rust-smartstring-0.2))))))

(define-public rust-crates-index-0.13
  (package
    (inherit rust-crates-index-0.17)
    (name "rust-crates-index")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crates-index" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1n7pp6mk59hw3nqlh8irxc9pp0g5ziw7bprqsw2lxvg13cvdp76s"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-error-chain" ,rust-error-chain-0.12)
        ("rust-git2" ,rust-git2-0.9)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-crates-io-0.40
  (package
    (name "rust-crates-io")
    (version "0.40.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crates-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hzi7k6vcx1mdns3wmpdw16k8hv67rlg41axpqm252vjfw93y7sw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-curl" ,rust-curl-0.4)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-url" ,rust-url-2))))
    (native-inputs (list pkg-config))
    (inputs (list curl openssl zlib))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Helpers for interacting with @url{crates.io}")
    (description "This package provides helpers for interacting with
@url{crates.io}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crc-3
  (package
    (name "rust-crc")
    (version "3.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zkx87a5x06xfd6xm5956w4vmdfs0wcxpsn7iwj5jbp2rcapmv46"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crc-catalog" ,rust-crc-catalog-2))))
    (home-page "https://github.com/mrhooray/crc-rs.git")
    (synopsis "Rust implementation of CRC(16, 32, 64)")
    (description "This package provides a Rust implementation of CRC(16, 32,
64) with support for various standards.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crc-2
  (package
    (inherit rust-crc-3)
    (name "rust-crc")
    (version "2.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crc" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "08qfahmly0n5j27g1vkqx9s6mxhm8k4dsp61ykskazyabdlrmz29"))))
    (arguments
     `(#:cargo-inputs (("rust-crc-catalog" ,rust-crc-catalog-1))))))

(define-public rust-crc-1
  (package
    (inherit rust-crc-2)
    (name "rust-crc")
    (version "1.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1sqal6gm6lbj7f45iv3rw2s9w3pvvha8v970y51s7k7mwy6m8qyn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-build-const" ,rust-build-const-0.2))))))

(define-public rust-crc-any-2
  (package
    (name "rust-crc-any")
    (version "2.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crc-any" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wzs26q5cf29fhfnrkrjsr8dpai0rlm4im8b53by8rbrbzzwjbm6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-debug-helper" ,rust-debug-helper-0.3)
        ("rust-heapless" ,rust-heapless-0.8))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://magiclen.org/crc-any")
    (synopsis "Compute CRC values")
    (description "This package provides a crate to compute CRC values by
providing the length of bits, expression, reflection, an initial value and a
final xor value.  It has many built-in CRC functions.")
    (license license:expat)))

(define-public rust-crc-catalog-2
  (package
    (name "rust-crc-catalog")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crc-catalog" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xg7sz82w3nxp1jfn425fvn1clvbzb3zgblmxsyqpys0dckp9lqr"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/akhilles/crc-catalog.git")
    (synopsis "Catalog of CRC algorithms expressed as simple Rust structs")
    (description
     "This package contains a catalog of CRC algorithms (generated from
http://reveng.sourceforge.net/crc-catalogue) expressed as simple Rust structs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crc-catalog-1
  (package
    (inherit rust-crc-catalog-2)
    (name "rust-crc-catalog")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crc-catalog" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "00qlxgzg15fnyx6nwviibz94rjw803l2avi2k3shjfx0dnsyvbnc"))))))

(define-public rust-crc32fast-1
  (package
    (name "rust-crc32fast")
    (version "1.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crc32fast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
          "1czp7vif73b8xslr3c9yxysmh9ws2r8824qda7j47ffs9pcnjxx9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1))
       #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/srijs/rust-crc32fast")
    (synopsis "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation")
    (description "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crc64-2
  (package
    (name "rust-crc64")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crc64" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wwqdss36dmhz4fd0wynlaig463l4dwvr21db1fvf6aypapy61r7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/badboy/crc64-rs")
    (synopsis "Rust CRC64 checksum implementation")
    (description
     "This package provides a CRC64 checksum implementation in Rust.")
    (license license:bsd-3)))

(define-public rust-critical-section-1
  (package
    (name "rust-critical-section")
    (version "1.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "critical-section" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hi289hs8kiyqmhwzsrlqrba559av3bzg71f4bs5mz28cf4hjh7n"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rust-embedded/critical-section")
    (synopsis "Critical section abstraction")
    (description "This package provides a critical section abstraction.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-0.8
  (package
    (name "rust-crossbeam")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a5c7yacnk723x0hfycdbl91ks2nxhwbwy46b8y5vyy0gxzcsdqi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
        ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9)
        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/crossbeam-rs/crossbeam")
    (synopsis "Tools for concurrent programming in Rust")
    (description "This package provides tools for concurrent programming.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-0.7
  (package
    (inherit rust-crossbeam-0.8)
    (name "rust-crossbeam")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13kzn2d49n2qn5q42y2dj48kyv6aln2d9smq8x9n675l3zzknck9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
        ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.8)
        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossbeam-channel-0.5
  (package
    (name "rust-crossbeam-channel")
    (version "0.5.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-channel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wkx45r34v7g3wyi3lg2wz536lrrrab4h4hh741shfhr8rlhsj1k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--" "--skip=select2::main")
       #:cargo-inputs (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8))
       #:cargo-development-inputs (("rust-num-cpus" ,rust-num-cpus-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-signal-hook" ,rust-signal-hook-0.3))))
    (home-page
     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel")
    (synopsis "Multi-producer multi-consumer channels for message passing")
    (description
     "This package provides multi-producer multi-consumer channels for
message passing.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-channel-0.4
  (package
    (inherit rust-crossbeam-channel-0.5)
    (name "rust-crossbeam-channel")
    (version "0.4.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-channel" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "11zvmp8p94vaqp4xyhzymw8xndnpwq12x5qgvxkway7lprygwlxi"))))
    (arguments
     `(#:cargo-inputs
        (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
         ("rust-maybe-uninit" ,rust-maybe-uninit-2))
        #:cargo-development-inputs
        (("rust-num-cpus" ,rust-num-cpus-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-signal-hook" ,rust-signal-hook-0.1))))))

(define-public rust-crossbeam-channel-0.3
  (package
    (inherit rust-crossbeam-channel-0.4)
    (name "rust-crossbeam-channel")
    (version "0.3.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-channel" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ylyzb1m9qbvd1nd3vy38x9073wdmcy295ncjs7wf7ap476pzv68"))))
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
       #:cargo-development-inputs
       (("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-signal-hook" ,rust-signal-hook-0.1))))))

(define-public rust-crossbeam-deque-0.8
  (package
    (name "rust-crossbeam-deque")
    (version "0.8.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crossbeam-deque" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "03bp38ljx4wj6vvy4fbhx41q8f585zyqix6pncz1mkz93z08qgv1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page
     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque")
    (synopsis "Concurrent work-stealing deque")
    (description "This package provides a concurrent work-stealing deque.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-deque-0.7
  (package
    (inherit rust-crossbeam-deque-0.8)
    (name "rust-crossbeam-deque")
    (version "0.7.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-deque" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1v99xcdjk4zixvxnq7pssip670mlyhw1ma3qc88ca11jxnfz43y2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.8)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-maybe-uninit" ,rust-maybe-uninit-2))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossbeam-epoch-0.9
  (package
    (name "rust-crossbeam-epoch")
    (version "0.9.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-epoch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03j2np8llwf376m3fxqx859mgp9f83hj1w34153c7a9c7i5ar0jv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-loom" ,rust-loom-0.7))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page
     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch")
    (synopsis "Epoch-based garbage collection")
    (description "This package provides an Epoch-based garbage collection.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-epoch-0.8
  (package
    (inherit rust-crossbeam-epoch-0.9)
    (name "rust-crossbeam-epoch")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-epoch" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1knsf0zz7rgzxn0nwz5gajjcrivxpw3zrdcp946gdhdgr9sd53h5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-maybe-uninit" ,rust-maybe-uninit-2)
        ("rust-memoffset" ,rust-memoffset-0.5)
        ("rust-scopeguard" ,rust-scopeguard-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossbeam-queue-0.3
  (package
    (name "rust-crossbeam-queue")
    (version "0.3.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-queue" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d8y8y3z48r9javzj67v3p2yfswd278myz1j9vzc4sp7snslc0yz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8))))
    (home-page
     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
    (synopsis "Concurrent queues in Rust")
    (description
     "This crate provides concurrent queues that can be shared among threads.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-queue-0.2
  (package
    (inherit rust-crossbeam-queue-0.3)
    (name "rust-crossbeam-queue")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-queue" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w15z68nz3ac4f2s4djhwha8vmlwsh9dlfrmsl4x84y2ah5acjvp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-maybe-uninit" ,rust-maybe-uninit-2))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossbeam-queue-0.1
  (package
    (inherit rust-crossbeam-queue-0.2)
    (name "rust-crossbeam-queue")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-queue" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0jsa9dbxnwqcxfws09vaschf92d4imlbbikmcn4ka8z7rzb9r5vw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossbeam-utils-0.8
  (package
    (name "rust-crossbeam-utils")
    (version "0.8.20")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "100fksq5mm1n7zj242cclkw6yf7a4a8ix3lvpfkhxvdhbda9kv12"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-loom" ,rust-loom-0.7))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8))))
    (home-page
     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
    (synopsis "Utilities for concurrent programming")
    (description
     "This crate provides miscellaneous tools for concurrent programming.")
    (license (list license:expat license:asl2.0))))

(define-public rust-crossbeam-utils-0.7
  (package
    (inherit rust-crossbeam-utils-0.8)
    (name "rust-crossbeam-utils")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-utils" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossbeam-utils-0.6
  (package
    (inherit rust-crossbeam-utils-0.7)
    (name "rust-crossbeam-utils")
    (version "0.6.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossbeam-utils" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1rk0r9n04bmq4a3g2q5qhvvlmrmx780gc6h9lmc94mwndslkz5q4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-crossfont-0.8
  (package
    (name "rust-crossfont")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossfont" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g490ap42qm1258222azy70mmd6b16dk8lza0142bjgk438jhkn4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cocoa" ,rust-cocoa-0.25)
        ("rust-core-foundation" ,rust-core-foundation-0.9)
        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
        ("rust-core-graphics" ,rust-core-graphics-0.23)
        ("rust-core-text" ,rust-core-text-20)
        ("rust-dwrote" ,rust-dwrote-0.11)
        ("rust-foreign-types" ,rust-foreign-types-0.5)
        ("rust-freetype-rs" ,rust-freetype-rs-0.36)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-objc" ,rust-objc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-5))))
    (inputs
     (list expat fontconfig freetype))
    (native-inputs
     (list pkg-config))
    (home-page "https://github.com/alacritty/crossfont")
    (synopsis "Native font loading and rasterization")
    (description
     "Crossfont is a cross-platform Rust library for loading fonts and
rasterizing glyphs, using native font engines whenever possible.")
    (license license:asl2.0)))

(define-public rust-crossfont-0.7
  (package
    (inherit rust-crossfont-0.8)
    (name "rust-crossfont")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossfont" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g09b9rq51v3xdnswmvwpgv3yp2b75lqvx3mv1l864fddqq6b778"))))
    (arguments
     `(#:cargo-inputs (("rust-cocoa" ,rust-cocoa-0.25)
                       ("rust-core-foundation" ,rust-core-foundation-0.9)
                       ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
                       ("rust-core-graphics" ,rust-core-graphics-0.23)
                       ("rust-core-text" ,rust-core-text-20)
                       ("rust-dwrote" ,rust-dwrote-0.11)
                       ("rust-foreign-types" ,rust-foreign-types-0.5)
                       ("rust-freetype-rs" ,rust-freetype-rs-0.26)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-objc" ,rust-objc-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.5)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-crossfont-0.5
  (package
    (inherit rust-crossfont-0.7)
    (name "rust-crossfont")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crossfont" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0icwpj9plf7bs0k34x86c58bwqyx2j3ji98aaahsncga6vfkmz91"))))
    (arguments
     `(#:cargo-build-flags '("--features" "force_system_fontconfig")
       #:cargo-inputs
       (("rust-cocoa" ,rust-cocoa-0.24)
        ("rust-core-foundation" ,rust-core-foundation-0.9)
        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
        ("rust-core-graphics" ,rust-core-graphics-0.22)
        ("rust-core-text" ,rust-core-text-19)
        ("rust-dwrote" ,rust-dwrote-0.11)
        ("rust-foreign-types" ,rust-foreign-types-0.5)
        ("rust-freetype-rs" ,rust-freetype-rs-0.26)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-objc" ,rust-objc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.5)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-crossterm-0.28
  (package
    (name "rust-crossterm")
    (version "0.28.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1im9vs6fvkql0sr378dfr4wdm1rrkrvr22v4i8byz05k1dd9b7c2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9)
                       ("rust-filedescriptor" ,rust-filedescriptor-0.8)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mio" ,rust-mio-1)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-futures-timer" ,rust-futures-timer-3)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-serial-test" ,rust-serial-test-2)
                                   ("rust-temp-env" ,rust-temp-env-0.3)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/crossterm-rs/crossterm")
    (synopsis "Crossplatform terminal library for manipulating terminals")
    (description
     "This package provides a crossplatform terminal library for manipulating
terminals.")
    (license license:expat)))

(define-public rust-crossterm-0.27
  (package
    (inherit rust-crossterm-0.28)
    (name "rust-crossterm")
    (version "0.27.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pr413ki440xgddlmkrc4j1bfx1h8rpmll87zn8ykja1bm2gwxpl"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9)
        ("rust-filedescriptor" ,rust-filedescriptor-0.8)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.8)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-serde" ,rust-serde-1)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serial-test" ,rust-serial-test-2)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-crossterm-0.26
  (package
    (inherit rust-crossterm-0.27)
    (name "rust-crossterm")
    (version "0.26.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04rxvmbf3scywy0m7rhg586lf833vpb33czijxi80fakadkxlk58"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9)
        ("rust-filedescriptor" ,rust-filedescriptor-0.8)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.8)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-serde" ,rust-serde-1)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-crossterm-0.25
  (package
    (inherit rust-crossterm-0.26)
    (name "rust-crossterm")
    (version "0.25.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crossterm" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0rsbkkhdf61aipc06b7vpl4cw3wnxz0miizp0ms3a5rcpq7nqkp6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.8)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-serde" ,rust-serde-1)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-crossterm-0.23
  (package
    (inherit rust-crossterm-0.25)
    (name "rust-crossterm")
    (version "0.23.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crossterm" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05ygjddfp70961ij7cbvrrwz88r09hghdpcqbf50z4c1yyj2w452"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.8)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-serde" ,rust-serde-1)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-crossterm-0.20
  (package
    (inherit rust-crossterm-0.25)
    (name "rust-crossterm")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z8zkk2mfiirbr3slfv564n685yiahr2aj3gdk6k3qymkmmdxsy0"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.8)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.7)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-crossterm-0.19
  (package
    (inherit rust-crossterm-0.20)
    (name "rust-crossterm")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1348lqf8vy3lb2s5icsl3rxs4a4vrpfw5z2j6lplnhnz600w2dkw"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.7)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.7)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-signal-hook" ,rust-signal-hook-0.1)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-crossterm-winapi-0.9
  (package
    (name "rust-crossterm-winapi")
    (version "0.9.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "crossterm_winapi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0axbfb2ykbwbpf1hmxwpawwfs8wvmkcka5m561l7yp36ldi7rpdc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/crossterm-rs/crossterm-winapi")
    (synopsis "Basic simple abstractions around common WinAPI calls")
    (description
     "This package is a WinAPI wrapper that provides some basic simple
abstractions around common WinAPI calls.")
    (license license:expat)))

(define-public rust-crossterm-winapi-0.8
  (package
    (inherit rust-crossterm-winapi-0.9)
    (name "rust-crossterm-winapi")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm_winapi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01q57jwnlicqxa2igg5nig3916kf5w6sqgbxk40q6hr2frh6cs9s"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-crossterm-winapi-0.7
  (package
    (inherit rust-crossterm-winapi-0.8)
    (name "rust-crossterm-winapi")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crossterm_winapi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fa047zz228qyqbcjdss64j0n01p4adr29yh9w24lgjdrr59da0d"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-crosstermion-0.14
  (package
    (name "rust-crosstermion")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crosstermion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i7caxqlz174zj6pll85vp4avhhzzy00vfdivry3v5hq3phgzf1v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ansiterm" ,rust-ansiterm-0.12)
        ("rust-async-channel" ,rust-async-channel-2)
        ("rust-crossterm" ,rust-crossterm-0.27)
        ("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-ratatui" ,rust-ratatui-0.26)
        ("rust-tui-react" ,rust-tui-react-0.23))))
    (home-page "https://github.com/Byron/tui-crates")
    (synopsis
      "Unification of crossterm and termion behind a common facade")
    (description
      "The unification of crossterm and termion behind a common facade for use with
feature flags.")
    (license license:expat)))

(define-public rust-crosstermion-0.13
  (package
    (inherit rust-crosstermion-0.14)
    (name "rust-crosstermion")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crosstermion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q877s6rfm4n4amsg79ihxi583lhmlnq57hj9sg1ph2ddyw1a120"))))
    (arguments
     `(#:cargo-inputs (("rust-ansiterm" ,rust-ansiterm-0.12)
                       ("rust-async-channel" ,rust-async-channel-2)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-futures-channel" ,rust-futures-channel-0.3)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-lite" ,rust-futures-lite-2)
                       ("rust-ratatui" ,rust-ratatui-0.25)
                       ("rust-tui-react" ,rust-tui-react-0.22))))
    (license license:expat)))

(define-public rust-crosstermion-0.11
  (package
    (inherit rust-crosstermion-0.13)
    (name "rust-crosstermion")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crosstermion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jbpxv2h08a1rvpw42iq59l2y0xbqvzpdq09043i8ihdc9nz8bhm"))))
    (arguments
     `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                       ("rust-async-channel" ,rust-async-channel-1)
                       ("rust-crossterm" ,rust-crossterm-0.26)
                       ("rust-futures-channel" ,rust-futures-channel-0.3)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-lite" ,rust-futures-lite-1)
                       ("rust-ratatui" ,rust-ratatui-0.20)
                       ("rust-termion" ,rust-termion-2)
                       ("rust-tui-react" ,rust-tui-react-0.20))))))

(define-public rust-crunchy-0.2
  (package
    (name "rust-crunchy")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "crunchy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dx9mypwd5mpfbbajm78xcrg5lirqk7934ik980mmaffg3hdm0bs"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://docs.rs/crate/crunchy/0.2.2/source/")
    (synopsis "Deterministically unroll constant loops")
    (description
     "The Crunchy unroller deterministically unrolls constant loops, for
number ``crunching``.")
    (license license:expat)))

(define-public rust-csscolorparser-0.6
  (package
    (name "rust-csscolorparser")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "csscolorparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gxh11hajx96mf5sd0az6mfsxdryfqvcfcphny3yfbfscqq7sapb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cint" ,rust-cint-0.3)
                       ("rust-lab" ,rust-lab-0.11)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-rgb" ,rust-rgb-0.8)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/mazznoer/csscolorparser-rs")
    (synopsis "CSS color parser library")
    (description "This crate is a CSS color parser library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cssparser-0.34
  (package
    (name "rust-cssparser")
    (version "0.34.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cssparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qx3hha392szcl812l6hp0d4029gg8x62cl4nf0byqgdv0f6vimp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Not all files included in the tarball.
       #:cargo-inputs (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
                       ("rust-dtoa-short" ,rust-dtoa-short-0.3)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs (("rust-difference" ,rust-difference-2)
                                   ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/servo/rust-cssparser")
    (synopsis "Rust implementation of CSS Syntax Level 3")
    (description
     "This package contains a Rust implementation of CSS Syntax Level 3.")
    (license license:mpl2.0)))

(define-public rust-cssparser-0.33
  (package
    (inherit rust-cssparser-0.34)
    (name "rust-cssparser")
    (version "0.33.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cssparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07i8k47fmym7kzs95qfhg6zrh4yyf2vl4460rmdyvyx06vck9scv"))))
    (arguments
     `(#:tests? #f  ; Not all files included in the tarball.
       #:cargo-inputs (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
                       ("rust-dtoa-short" ,rust-dtoa-short-0.3)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-phf" ,rust-phf-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs (("rust-difference" ,rust-difference-2)
                                   ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-cssparser-0.31
  (package
    (inherit rust-cssparser-0.33)
    (name "rust-cssparser")
    (version "0.31.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cssparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gnmn2wjvhvkj98ygcd5jdwi0wxsigvd7j0yq0zfgfsz7vwz8gav"))))
    (arguments
     `(#:tests? #f  ; Not all files included in the tarball.
       #:cargo-inputs (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
                       ("rust-dtoa-short" ,rust-dtoa-short-0.3)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-phf" ,rust-phf-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs (("rust-difference" ,rust-difference-2)
                                   ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-cssparser-0.29
  (package
    (inherit rust-cssparser-0.33)
    (name "rust-cssparser")
    (version "0.29.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cssparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yp0zl5cmw9x95np9a51153fdb1ng8fgzwyssg7hr5dmki0h6ggr"))))
    (arguments
     `(#:tests? #f  ; Not all files included in the tarball.
       #:cargo-inputs
       (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
        ("rust-dtoa-short" ,rust-dtoa-short-0.3)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-phf" ,rust-phf-0.10)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-difference" ,rust-difference-2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-cssparser-0.28
  (package
    (inherit rust-cssparser-0.29)
    (name "rust-cssparser")
    (version "0.28.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cssparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h924c5g2rwlmgk8hllciyky3ih3z9vf04xz3xsp3cv1jyd5kf0x"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
        ("rust-dtoa-short" ,rust-dtoa-short-0.3)
        ("rust-itoa" ,rust-itoa-0.4)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-cssparser-0.27
  (package
    (inherit rust-cssparser-0.28)
    (name "rust-cssparser")
    (version "0.27.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cssparser" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm"))))
    (arguments
     `(#:tests? #f  ; Not all files included in the tarball.
       #:cargo-inputs
       (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
        ("rust-dtoa-short" ,rust-dtoa-short-0.3)
        ("rust-itoa" ,rust-itoa-0.4)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-difference" ,rust-difference-2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-cssparser-macros-0.6
  (package
    (name "rust-cssparser-macros")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cssparser-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0cfkzj60avrnskdmaf7f8zw6pp3di4ylplk455zrzaf19ax8id8k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=match_byte")
       #:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/servo/rust-cssparser")
    (synopsis "Procedural macros for cssparser")
    (description
     "This package provides the procedural macros for rust-cssparser.")
    (license license:mpl2.0)))

(define-public rust-cstr-0.2
  (package
    (name "rust-cstr")
    (version "0.2.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cstr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dj6ll9ry27kn4k0vvhlvbhn9dyyr9haxnd06bxaqnmfr01kjlk8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/upsuper/cstr")
    (synopsis "Macro for building static CStr reference")
    (description
     "This package provides the macro for building static CStr reference.")
    (license license:expat)))

(define-public rust-cstr-core-0.2
  (package
    (name "rust-cstr-core")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cstr_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fymp34mv7bix8m35pw3qs30b7879wmaym03ihfbzdl84plwa1r8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cty" ,rust-cty-0.2)
        ("rust-memchr" ,rust-memchr-2))))
    (home-page "https://github.com/Amanieu/cstr_core")
    (synopsis "Implementation of CStr and CString for no_std environments")
    (description
     "This crates implements CStr and CString for no_std environments.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-csv-1
  (package
    (name "rust-csv")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "csv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zjrlycvn44fxd9m8nwy8x33r9ncgk0k3wvy4fnvb9rpsks4ymxc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-csv-core" ,rust-csv-core-0.1)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bstr" ,rust-bstr-1)
                                   ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/BurntSushi/rust-csv")
    (synopsis "Fast CSV parsing with support for serde")
    (description "Fast CSV parsing with support for serde.")
    (license (list license:unlicense license:expat))))

(define-public rust-csv-0.14
  (package
    (inherit rust-csv-1)
    (name "rust-csv")
    (version "0.14.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "csv" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1g0qvr9fj25fq1fy0p758glrb30yz7x46h18hsysaqyaswaihv16"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-0.5)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-0.1))))))

(define-public rust-csv-async-1
  (package
    (name "rust-csv-async")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "csv-async" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w60k4pqm1lnbv0mbz1d1ypmkx487r0q36hyrrh84jkzs2qfazyk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Errors in the test suite code.
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-csv-core" ,rust-csv-core-0.1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-stream" ,rust-tokio-stream-0.1))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-bstr" ,rust-bstr-1)
                                   ("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-indoc" ,rust-indoc-2)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/gwierzchowski/csv-async")
    (synopsis "CSV parsing for async")
    (description "This package provides CSV parsing for async.")
    (license license:expat)))

(define-public rust-csv-core-0.1
  (package
    (name "rust-csv-core")
    (version "0.1.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "csv-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w7s7qa60xb054rqddpyg53xq2b29sf3rbhcl8sbdx02g4yjpyjy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.5))))
    (home-page "https://github.com/BurntSushi/rust-csv")
    (synopsis "Bare bones CSV parsing with no_std support")
    (description "Bare bones CSV parsing with no_std support.")
    (license (list license:unlicense license:expat))))

(define-public rust-csv-index-0.1
  (package
    (name "rust-csv-index")
    (version "0.1.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "csv-index" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "01048y84y0bakqm0x4y1svjv6lzc753b9q598xp7xgcqrdgi6x7j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-csv" ,rust-csv-1))))
    (home-page "https://github.com/BurntSushi/rust-csv")
    (synopsis "On disk CSV indexing data structures")
    (description "On disk CSV indexing data structures.")
    (license (list license:unlicense license:expat))))

(define-public rust-ct-codecs-1
  (package
    (name "rust-ct-codecs")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ct-codecs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1pvmrkk95jadmhhd5mn88mq2dfnq0yng8mk3pfd5l6dq0i2fpdzk"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/jedisct1/rust-ct-codecs")
    (synopsis
     "Constant-time hex and base64 codecs from libsodium reimplemented in Rust")
    (description
     "This package provides constant-time hex and base64 codecs from libsodium
reimplemented in Rust")
    (license license:expat)))

(define-public rust-ct-logs-0.8
  (package
    (name "rust-ct-logs")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ct-logs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j5as2h789c2gazq3drl5i58xk8zzx6sxd1wdr19x3d6dwc1da61"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-sct" ,rust-sct-0.6))))
    (home-page "https://github.com/ctz/ct-logs")
    (synopsis "Google's list of Certificate Transparency logs")
    (description
     "This package contains Google's list of Certificate Transparency logs for
use with sct crate.")
    (license (list license:asl2.0 license:isc license:expat))))

(define-public rust-ctor-0.2
  (package
    (name "rust-ctor")
    (version "0.2.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ctor" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "17yxfh3qkj9l6a1rmb8crw8189f1rw4a5m5c2xdy8gigh9j93d7d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-libc-print" ,rust-libc-print-0.1))))
    (home-page "https://github.com/mmastrac/rust-ctor")
    (synopsis "Rust's __attribute__((constructor))")
    (description
     "This package provides an @code{__attribute__((constructor))} for Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ctor-0.1
  (package
    (inherit rust-ctor-0.2)
    (name "rust-ctor")
    (version "0.1.26")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ctor" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "15m0wqhv12p25xkxz5dxvg23r7a6bkh7p8zi1cdhgswjhdl028vd"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-syn" ,rust-syn-1)
             ("rust-quote" ,rust-quote-1))
           #:cargo-development-inputs
           `(("rust-libc-print" ,rust-libc-print-0.1))))))

(define-public rust-ctrlc-3
  (package
    (name "rust-ctrlc")
    (version "3.4.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ctrlc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lqdhyl8csq8l2011g4w3wjps84w2cmwfn7jhx79ngrgm45apvlh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nix" ,rust-nix-0.29)
        ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs
       (("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/Detegr/rust-ctrlc")
    (synopsis "Easy Ctrl-C handler for Rust projects")
    (description
     "This package provides an easy Ctrl-C handler for Rust projects.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cty-0.2
  (package
    (name "rust-cty")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1qvkdnkxmd7g6fwhmv26zxqi0l7b9cd4d7h1knylvjyh43bc04vk"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/japaric/cty")
    (synopsis "Type aliases to C types")
    (description "This package provides type aliases to C types like c_int for
use with bindgen.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cuda-std-0.2
  (package
    (name "rust-cuda-std")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cuda_std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "174237dj152dvndvykcn17nz2d0kdzsyyxnb6fsdz3i7xa8lfcgn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Test suite can't find attribute 'kernel'.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cuda-std-macros" ,rust-cuda-std-macros-0.2)
        ("rust-half" ,rust-half-1)
        ("rust-paste" ,rust-paste-1)
        ("rust-vek" ,rust-vek-0.15))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Standard library for CUDA with rustc_codegen_nvvm")
    (description "Standard library for CUDA with rustc_codegen_nvvm.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cuda-std-macros-0.2
  (package
    (name "rust-cuda-std-macros")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cuda_std_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hlakxn9pz8233pwsh44j8gzqzf078a3lnnq3v2cadmb4c4l1mlz"))))
    (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/Rust-GPU/Rust-CUDA")
    (synopsis "Macros for cuda_std")
    (description "This package provides macros for cuda_std.")
    (license (list license:expat license:asl2.0))))

(define-public rust-culpa-1
  (package
    (name "rust-culpa")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "culpa" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lqzzl88vs3h6ljpj6gi8wgkwyqm9gp6dmsnbbzv873v67lvzq2s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-culpa-macros" ,rust-culpa-macros-1))))
    (home-page "https://github.com/Nullus157/culpa")
    (synopsis "library for error-handling syntax in Rust")
    (description
     "This package provides a library for error-handling syntax in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-culpa-macros-1
  (package
    (name "rust-culpa-macros")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "culpa-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ya207axxrjixibdnqfk0h9f96b2b1xmxdw9rwfwglv6f1qy2d0j"))))
    (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/Nullus157/culpa")
    (synopsis "Internal implementation details of `culpa`")
    (description
     "This package provides internal implementation details of `culpa`.")
    (license (list license:expat license:asl2.0))))

(define-public rust-curl-0.4
  (package
    (name "rust-curl")
    (version "0.4.46")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "curl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dk7xi1fv57ak5wsgzig702czv3ssrgyk120b7qhy2dsdvfn288y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false                  ;require internet access
       #:cargo-inputs
       (("rust-curl-sys" ,rust-curl-sys-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-openssl-probe" ,rust-openssl-probe-0.1)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
        ("rust-schannel" ,rust-schannel-0.1)
        ("rust-socket2" ,rust-socket2-0.5)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-extras" ,rust-mio-extras-2))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list curl nghttp2 openssl zlib))
    (home-page "https://github.com/alexcrichton/curl-rust")
    (synopsis "Rust bindings to libcurl for making HTTP requests")
    (description
     "This package provides Rust bindings to @code{libcurl} for making HTTP
requests.")
    (license license:expat)))

(define-public rust-curl-sys-0.4
  (package
    (name "rust-curl-sys")
    (version "0.4.78+curl-8.11.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "curl-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1bqyh8rlwhwj937d1md5chpg56ch8mncyldf26b7iiy5861pdv4f"))
        (modules '((guix build utils)))
        (snippet
         '(begin (delete-file-recursively "curl")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libnghttp2-sys" ,rust-libnghttp2-sys-0.1)
        ("rust-libz-sys" ,rust-libz-sys-1)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-rustls-ffi" ,rust-rustls-ffi-0.14)
        ("rust-vcpkg" ,rust-vcpkg-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list curl nghttp2 openssl zlib))
    (home-page "https://github.com/alexcrichton/curl-rust")
    (synopsis "Native bindings to the libcurl library")
    (description
     "This package provides native bindings to the @code{libcurl} library.")
    (license license:expat)))

(define-public rust-cust-0.2
  (package
    (name "rust-cust")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cust" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jb7l9qq65jc9rqwwygaxg4b304nn3i8igic905cbbrnw1ns8iz9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; Could not find a cuda installation
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-cust-derive" ,rust-cust-derive-0.1)
                       ("rust-cust-raw" ,rust-cust-raw-0.11)
                       ("rust-find-cuda-helper" ,rust-find-cuda-helper-0.2)
                       ("rust-vek" ,rust-vek-0.15))
       #:cargo-development-inputs (("rust-image" ,rust-image-0.23))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "High level bindings to the CUDA Driver API")
    (description "High level bindings to the CUDA Driver API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cust-core-0.1
  (package
    (name "rust-cust-core")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cust_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01jzjwywsngqm8d1vxk3zr9klvidab6iis1myg5r1y5q5ik7k7q3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `cust`
       #:cargo-inputs
       (("rust-cust-derive" ,rust-cust-derive-0.2)
        ("rust-glam" ,rust-glam-0.20)
        ("rust-half" ,rust-half-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-vek" ,rust-vek-0.15))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Core library for cust that can be shared across CPU and GPU")
    (description "This package provides the core library for cust that can be
shared across CPU and GPU.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cust-derive-0.2
  (package
    (name "rust-cust-derive")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cust_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rigqx5d1941cbpbd76i455ifh4yzz6fcga2na9fv6k2zsavr8z8"))))
    (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/Rust-GPU/Rust-CUDA")
    (synopsis "Macros for cust")
    (description "This package provides macros for cust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cust-derive-0.1
  (package
    (inherit rust-cust-derive-0.2)
    (name "rust-cust-derive")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cust_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ckxjfdlwhmdyf5s2v10cslpb6wri9xl8nk3qirz8rsn5x1hn61v"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-cust-raw-0.11
  (package
    (name "rust-cust-raw")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "cust_raw" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y1b82gf0fmaqxhvzjd3cxgd54vvbj3vji68pcl9ijqjvrm0vx7v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; Could not find a cuda installation
       #:cargo-inputs (("rust-find-cuda-helper" ,rust-find-cuda-helper-0.2))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Low level bindings to the CUDA Driver API")
    (description "Low level bindings to the CUDA Driver API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-custom-derive-0.1
  (package
    (name "rust-custom-derive")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "custom_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1f81bavw1wnykwh21hh4yyzigs6zl6f6pkk9p3car8kq95yfb2pg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-development-inputs
       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
    (home-page
     "https://github.com/DanielKeep/rust-custom-derive/tree/custom_derive-master")
    (synopsis "Custom derivation macro for Rust")
    (description
     "This crate provides a macro that enables the use of custom @code{derive}
attributes.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-cvt-0.1
  (package
    (name "rust-cvt")
    (version "0.1.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "cvt" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wdwg2rbjl86bcrymscl34pw31kyv1ada19jazpkjbdzgzvrpbnj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1))))
    (home-page "https://github.com/marmistrz/cvt")
    (synopsis "Expose the cvt function from Rust libstd")
    (description "Expose the cvt function from Rust libstd.")
    (license license:asl2.0)))

(define-public rust-cxx-1
  (package
    (name "rust-cxx")
    (version "1.0.107")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cxx" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1gpz9si4nn236rqbmrsxd0dl4ksdfwrf1rdyncyznmlxg2hqpsdv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Cannot compile cxx-test-suite.
       #:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-cxxbridge-flags" ,rust-cxxbridge-flags-1)
        ("rust-cxxbridge-macro" ,rust-cxxbridge-macro-1)
        ("rust-link-cplusplus" ,rust-link-cplusplus-1))
       #:cargo-development-inputs
       (("rust-cxx-build" ,rust-cxx-build-1)
        ("rust-cxx-gen" ,rust-cxx-gen-0.7)
        ("rust-cxx-test-suite" ,rust-cxx-test-suite-0.0.0)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://cxx.rs")
    (synopsis "Safe interop between Rust and C++")
    (description "This package provides a safe interop between Rust and C++.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cxx-build-1
  (package
    (name "rust-cxx-build")
    (version "1.0.107")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cxx-build" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "18sy8llakggzyahmr7c25l16i63hd2agpb8x3f2a8ga3p3v21kn4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-scratch" ,rust-scratch-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-cxx" ,rust-cxx-1)
        ("rust-cxx-gen" ,rust-cxx-gen-0.7)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://cxx.rs")
    (synopsis "C++ code generator")
    (description
     "This package provides a C++ code generator for integrating the @code{cxx}
crate into a Cargo build.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cxx-gen-0.7
  (package
    (name "rust-cxx-gen")
    (version "0.7.107")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cxx-gen" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1lv2fs3s51lqipbpzrv2dmhm0mwcw5205sq7x3cmcb3skia64l6b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://cxx.rs")
    (synopsis "C++ code generator")
    (description
     "This package provides a C++ code generator for integrating the @code{cxx}
crate into higher level tools.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cxx-test-suite-0.0.0
  (package
    (name "rust-cxx-test-suite")
    (version "0.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cxx-test-suite" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1pkf4ay1210g9wqyqhkgvlcsv4i6kgdcmgnh19mrymylznv7pcal"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t)) ; Not meant to be built independantly.
    (home-page "https://github.com/dtolnay/cxx")
    (synopsis "Test suite of the cxx crate")
    (description "This package provides the test suite of the cxx crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-cxxbridge-flags-1
  (package
    (name "rust-cxxbridge-flags")
    (version "1.0.107")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cxxbridge-flags" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "18hxm7dp8k58zsxniaspg11nw0ymwzpk1viw8zzy56123ng8v210"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/cxx")
    (synopsis "Compiler configuration of the `cxx` crate")
    (description "This package provides a compiler configuration of the `cxx`
crate (implementation detail).")
    (license (list license:expat license:asl2.0))))

(define-public rust-cxxbridge-macro-1
  (package
    (name "rust-cxxbridge-macro")
    (version "1.0.107")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cxxbridge-macro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "116d3i750nknl6jw9vmvyxrndrmwn5gm7zzxzx6rw4jqvmq6m89g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-clang-ast" ,rust-clang-ast-0.1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-memmap" ,rust-memmap-0.7)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-cxx" ,rust-cxx-1))))
    (home-page "https://cxx.rs")
    (synopsis "Implementation detail of the `cxx` crate")
    (description
     "This package provides an implementation detail of the @code{cxx} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-daemonize-0.5
  (package
    (name "rust-daemonize")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "daemonize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vhikx85f85r46xghsb4avsv6ww8mz9lipqvsia7m21wrfmgv2xb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/knsd/daemonize")
    (synopsis "Library to enable code to run as a daemon process")
    (description
     "Daemonize is a Rust Library for writing system daemonis on Unix-like systems.")
    (license (list license:expat license:asl2.0))))

(define-public rust-darling-0.20
  (package
    (name "rust-darling")
    (version "0.20.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1299h2z88qn71mizhh05j26yr3ik0wnqmw11ijds89l8i9nbhqvg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.20)
        ("rust-darling-macro" ,rust-darling-macro-0.20))
       #:cargo-development-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                                   ("rust-quote" ,rust-quote-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-syn" ,rust-syn-2)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/TedDriggs/darling")
    (synopsis "Proc-macro library for reading attributes in custom derives")
    (description
     "This package provides a proc-macro library for reading attributes
into structs when implementing custom derives.")
    (license license:expat)))

(define-public rust-darling-0.14
  (package
    (inherit rust-darling-0.20)
    (name "rust-darling")
    (version "0.14.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l1qrn805bsxa0iy7x8bmdwr8c10hlw0yiqs8ckv7lbz86rhqxbv"))))
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.14)
        ("rust-darling-macro" ,rust-darling-macro-0.14))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-darling-0.13
  (package
    (inherit rust-darling-0.14)
    (name "rust-darling")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g25pad4mhq7315mw9n4wpg8j3mwyhwvr541kgdl0aar1j2ra7d0"))))
    (arguments
     `(#:cargo-inputs (("rust-darling-core" ,rust-darling-core-0.13)
                       ("rust-darling-macro" ,rust-darling-macro-0.13))
       #:cargo-development-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                                   ("rust-quote" ,rust-quote-1)
                                   ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-0.12
  (package
    (inherit rust-darling-0.13)
    (name "rust-darling")
    (version "0.12.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.12)
        ("rust-darling-macro" ,rust-darling-macro-0.12))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-0.10
  (package
    (inherit rust-darling-0.12)
    (name "rust-darling")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0n7qsp6854wm3y1q1lvylhv15zvc87ibbac1nyfmcdbyv1snww0d"))))
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.10)
        ("rust-darling-macro" ,rust-darling-macro-0.10))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-0.9
  (package
    (inherit rust-darling-0.10)
    (name "rust-darling")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1mnksf0i47pb7sxvi1iqfwmqy9iny0x8w56ilybpb431b46cpyzw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.9)
        ("rust-darling-macro" ,rust-darling-macro-0.9))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-darling-core-0.20
  (package
    (name "rust-darling-core")
    (version "0.20.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1rgr9nci61ahnim93yh3xy6fkfayh7sk4447hahawah3m1hkh4wm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-ident-case" ,rust-ident-case-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-strsim" ,rust-strsim-0.11)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/TedDriggs/darling")
    (synopsis "Helper crate for @code{rust-darling}")
    (description
     "Helper crate for @code{rust-darling}, a proc-macro library for
reading attributes into structs when implementing custom derives.")
    (license license:expat)))

(define-public rust-darling-core-0.14
  (package
    (inherit rust-darling-core-0.20)
    (name "rust-darling-core")
    (version "0.14.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w4b2ndxmkwghwq84yphk8x15jnpivm08w596g12ry5pwsk1r70h"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-ident-case" ,rust-ident-case-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-strsim" ,rust-strsim-0.10)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-core-0.13
  (package
    (inherit rust-darling-core-0.14)
    (name "rust-darling-core")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "046n83f9jpszlngpjxkqi39ayzxf5a35q673c69jr1dn0ylnb7c5"))))
    (arguments
     `(#:cargo-inputs (("rust-fnv" ,rust-fnv-1)
                       ("rust-ident-case" ,rust-ident-case-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-strsim" ,rust-strsim-0.10)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-core-0.12
  (package
    (inherit rust-darling-core-0.13)
    (name "rust-darling-core")
    (version "0.12.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))))

(define-public rust-darling-core-0.10
  (package
    (inherit rust-darling-core-0.12)
    (name "rust-darling-core")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_core" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "16sija1jv0l754x4aa6b6fy01d1kf8m0r4id3flqipm45np61jgh"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-ident-case" ,rust-ident-case-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-strsim" ,rust-strsim-0.9)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-core-0.9
  (package
    (inherit rust-darling-core-0.10)
    (name "rust-darling-core")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling_core" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0b201dx4m58l5ac7gmbjvbf4z2xipnk5d4pqa7mz7gy3f21h3z3a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-ident-case" ,rust-ident-case-1)
        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-strsim" ,rust-strsim-0.7)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-darling-macro-0.20
  (package
    (name "rust-darling-macro")
    (version "0.20.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "01kq3ibbn47czijj39h3vxyw0c2ksd0jvc097smcrk7n2jjs4dnk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.20)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/TedDriggs/darling")
    (synopsis "Helper crate for @code{rust-darling}")
    (description
     "This package provides internal support for @code{rust-darling},
a proc-macro library for reading attributes into structs when implementing
custom derives.")
    (license license:expat)))

(define-public rust-darling-macro-0.14
  (package
    (inherit rust-darling-macro-0.20)
    (name "rust-darling-macro")
    (version "0.14.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling_macro" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "13mlyd5w275c815k0ijf6g4c446hs8b3m2h4an5isqgpr7dv9am4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.14)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-macro-0.13
  (package
    (inherit rust-darling-macro-0.14)
    (name "rust-darling-macro")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d8q8ibmsb1yzby6vwgh2wx892jqqfv9clwhpm19rprvz1wjd5ww"))))
    (arguments
     `(#:cargo-inputs (("rust-darling-core" ,rust-darling-core-0.13)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-macro-0.12
  (package
    (inherit rust-darling-macro-0.13)
    (name "rust-darling-macro")
    (version "0.12.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nn9mxl7gs827rx5s6lbjvvghipxjdg2qpdjyxk7yym3vvqard99"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.12)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-macro-0.10
  (package
    (inherit rust-darling-macro-0.12)
    (name "rust-darling-macro")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "darling_macro" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0wlv31cxkrjijz5gv13hvk55c9lmd781aj12c8n84sa9mksa5dfr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.10)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-darling-macro-0.9
  (package
    (inherit rust-darling-macro-0.10)
    (name "rust-darling-macro")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling_macro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1lcq9418w0vmvncg4a3n9k64zjvqz0048aviqi0rmlpiqv0xmn66"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-darling-core" ,rust-darling-core-0.9)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-dary-heap-0.3
  (package
    (name "rust-dary-heap")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dary_heap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a5p4qfayfmkda4rb31zyc5sia11n0q0cq6scznm9x5r32fcvlh4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/hanmertens/dary_heap")
    (synopsis "D-ary heap")
    (description "This package provides a d-ary heap.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dashmap-6
  (package
    (name "rust-dashmap")
    (version "6.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dashmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kvnw859xvrqyd1lk89na6797yvl5bri4wi9j0viz2a4j54wqhah"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-lock-api" ,rust-lock-api-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.9)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-typesize" ,rust-typesize-0.1))))
    (home-page "https://github.com/xacrimon/dashmap")
    (synopsis "Blazing fast concurrent HashMap for Rust")
    (description
     "This package provides Blazing fast concurrent @code{HashMap} for Rust.")
    (license license:expat)))

(define-public rust-dashmap-5
  (package
    (inherit rust-dashmap-6)
    (name "rust-dashmap")
    (version "5.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dashmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0miqnlxi501vfbv6mw5jbmzgnj0wjrch3p4abvpd59s9v30lg1wp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-lock-api" ,rust-lock-api-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.9)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-dashmap-4
  (package
    (inherit rust-dashmap-5)
    (name "rust-dashmap")
    (version "4.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dashmap" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1773x18k5m2zw1iyibs8l3wl1p1aijdbrc0w844xys06inr46yp7"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-data-encoding-2
  (package
    (name "rust-data-encoding")
    (version "2.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "data-encoding" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1qnn68n4vragxaxlkqcb1r28d3hhj43wch67lm4rpxlw89wnjmp8"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ia0/data-encoding")
    (synopsis "Efficient and customizable data-encoding functions")
    (description
     "This library provides encodings for many different common cases, including
hexadecimal, base32, and base64.")
    (license license:expat)))

(define-public rust-data-encoding-macro-0.1
  (package
    (name "rust-data-encoding-macro")
    (version "0.1.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "data-encoding-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fg6abipcn5h8qa09r5ki5dv3vhq4qaxn1ipsvb7c8k2p9n9nmgi"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs (list rust-data-encoding-2
                                rust-data-encoding-macro-internal-0.1)))
    (home-page "https://github.com/ia0/data-encoding")
    (synopsis "Macros for data-encoding")
    (description "This package provides macros for data-encoding.")
    (license license:expat)))

(define-public rust-data-encoding-macro-internal-0.1
  (package
    (name "rust-data-encoding-macro-internal")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "data-encoding-macro-internal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gyk580bjsjdy10n06f4gqh5kkqy296ndvcg21ychfzm1967ab9k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-data-encoding" ,rust-data-encoding-2)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/ia0/data-encoding")
    (synopsis "Internal library for data-encoding-macro")
    (description
     "This package provides an internal library for data-encoding-macro.")
    (license license:expat)))

(define-public rust-data-url-0.3
  (package
    (name "rust-data-url")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "data-url" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ahclz72myi350cs1xcsxdh1v0iljpfj4ghcy2fy46mpfhf7laaw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tester" ,rust-tester-0.9))))
    (home-page "https://github.com/servo/rust-url")
    (synopsis "Processing of data: URL according to WHATWG's Fetch Standard")
    (description
     "Processing of data: URL according to WHATWG's Fetch Standard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-databake-0.1
  (package
    (name "rust-databake")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "databake" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kb0lnhka1fklrii3qaj40zcrbclfn8fyvy0r1whd3yaxkxzn13a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=src/lib.rs - (line 27)"
                            "--skip=src/lib.rs - (line 46)")
       #:cargo-inputs (("rust-databake-derive" ,rust-databake-derive-0.1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis
     "Trait that lets structs represent themselves as (const) Rust expressions")
    (description
     "This package provides a trait that lets structs represent themselves as
(const) Rust expressions.")
    (license license:unicode)))

(define-public rust-databake-derive-0.1
  (package
    (name "rust-databake-derive")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "databake-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yymbr1z93k7lg0pl5mw9mjhw8fpsfykg7bmkvmir9h1wmfjfy20"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `databake`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-synstructure" ,rust-synstructure-0.13))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Custom derive for the databake crate")
    (description "This package provides Custom derive for the databake crate.")
    (license license:unicode)))

(define-public rust-dateparser-0.1
  (package
    (name "rust-dateparser")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dateparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i00pd2spxsz1d89n0ssf79q1w8ijx0p0rybx5d9z8lpzqhjmqf9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs (("rust-chrono-tz" ,rust-chrono-tz-0.6)
                                   ("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/waltzofpearls/dateparser")
    (synopsis "Parse dates in string formats that are commonly used")
    (description
     "This package parses dates in string formats that are commonly used.")
    (license license:expat)))

(define-public rust-datetime-0.5
  (package
    (name "rust-datetime")
    (version "0.5.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "datetime" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1g2lhc2ay46njrnnyc0729ibyzkpv3r3d4g0h3gzwmrygykzghs4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
        (("rust-iso8601" ,rust-iso8601-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-locale" ,rust-locale-0.2)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-pad" ,rust-pad-0.1)
         ("rust-redox-syscall" ,rust-redox-syscall-0.1)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-regex" ,rust-regex-0.1)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
    (home-page "https://github.com/rust-datetime/datetime")
    (synopsis "Library for date and time formatting and arithmetic")
    (description "This package provides a library for date and time formatting
and arithmetic.")
    (license license:expat)))

(define-public rust-dbl-0.3
  (package
    (name "rust-dbl")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dbl" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1ng33ncai537xlxfy9r4v24parm9mf7zwiwkixq7d0qmj6kka9xx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-generic-array" ,rust-generic-array-0.14))))
    (home-page "https://docs.rs/dbl")
    (synopsis "Double operation in Galois Field")
    (description
     "This package provides double and inverse double over Galois Field -
GF(2^n).  This trait is implemented for 64, 128 and 256 bit block
sizes.  Big-endian order is used.  WARNING: Block must be aligned!")
    (license (list license:expat license:asl2.0))))

(define-public rust-dbus-0.9
  (package
    (name "rust-dbus")
    (version "0.9.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dbus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06vdv4aarjs4w6byg9nqajr67c8qvlhk3153ic2i65pvp63ikchv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ;it needs display and sockets and launches daemons
       #:cargo-inputs
       (("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libdbus-sys" ,rust-libdbus-sys-0.2))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list dbus))
    (home-page "https://github.com/diwic/dbus-rs")
    (synopsis "Rust bindings to D-Bus")
    (description "This package provides Rust bindings to D-Bus.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-dbus-crossroads-0.5
  (package
    (name "rust-dbus-crossroads")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dbus-crossroads" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q3dyywazr3hppm052fa8q2366q66ml789r42jjlnm47f51q6k1s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `dbus_tokio`
       #:cargo-inputs (("rust-dbus" ,rust-dbus-0.9))
       #:cargo-development-inputs (("rust-tokio", rust-tokio-1))))
    (native-inputs (list pkg-config))
    (inputs (list dbus-glib))
    (home-page "https://github.com/diwic/dbus-rs/")
    (synopsis "Framework for writing D-Bus method handlers")
    (description "Framework for writing D-Bus method handlers in Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-dbus-tokio-0.7
  (package
    (name "rust-dbus-tokio")
    (version "0.7.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dbus-tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04xd3z2dnjv4d45kj3wqnwbnwllrp1zsg8v3q0qp2rxwb7a8hxh0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests require X11 $DISPLAY
       #:cargo-inputs (("rust-dbus" ,rust-dbus-0.9)
                       ("rust-dbus-crossroads" ,rust-dbus-crossroads-0.5)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-dbus-tree" ,rust-dbus-tree-0.9)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-tokio" ,rust-tokio-1))))
    (native-inputs (list pkg-config))
    (inputs (list dbus))
    (home-page "https://github.com/diwic/dbus-rs")
    (synopsis "Access to D-Bus when using Rust's @code{Tokio} async framework")
    (description
     "Access to D-Bus when using Rust's @code{Tokio} async framework.")
    (license license:expat)))

(define-public rust-dbus-tree-0.9
  (package
    (name "rust-dbus-tree")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dbus-tree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "027mnjc99ss8nab588aga9l8aag2pjvzkcfx35g5fm4fmscfcmpl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:install-source? #f     ; README is missing.
       #:cargo-inputs (("rust-dbus" ,rust-dbus-0.9))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list dbus))
    (home-page "https://github.com/diwic/dbus-rs")
    (synopsis "Framework for writing D-Bus method handlers (legacy)")
    (description
     "This crate is a framework for writing D-Bus method handlers (legacy).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-dconf-rs-0.3
  (package
    (name "rust-dconf-rs")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dconf_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12swi0npq88kbdwnc3n324dzknir674agrh13h305876h654cikh"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/kylecorry31/dconf_rs")
    (synopsis "Rust API for interacting with dconf")
    (description
     "This package provides a Rust API for interacting with dconf.")
    (license license:expat)))

(define-public rust-debug-helper-0.3
  (package
    (name "rust-debug-helper")
    (version "0.3.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "debug-helper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bhnpzpgmg8dkdr27g2b49slf6ca79m4idcb01z2krs0qkifhy7m"))))
    (build-system cargo-build-system)
    (home-page "https://magiclen.org/debug-helper")
    (synopsis "Declarative macros to implement the Debug trait manually")
    (description "This crate provides declarative macros to help you implement
the Debug trait manually.")
    (license license:expat)))

(define-public rust-debug-unreachable-0.1
  (package
    (name "rust-debug-unreachable")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "debug_unreachable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cx4vh1d0bxdpb8l9lyiv03az4527lykxy39s4a958swf2n2w0ws"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unreachable" ,rust-unreachable-0.1))))
    (home-page "https://github.com/reem/rust-debug-unreachable.git")
    (synopsis
     "unreachable!() in debug, std::intrinsics::unreachable() in release")
    (description
     "unreachable!() in debug, std::intrinsics::unreachable() in release.")
    (license license:expat)))

(define-public rust-debugger-test-0.1
  (package
    (name "rust-debugger-test")
    (version "0.1.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "debugger_test" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "182j5sk71yhbn7f5qkx509bdcjz83n1nshpfgfa8dfrgb5gvanyr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
        (("rust-debugger-test-parser" ,rust-debugger-test-parser-0.1)
         ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/microsoft/rust_debugger_test")
    (synopsis "Proc macro for writing tests with a debugger")
    (description
     "This package provides a proc macro for writing tests that launch a
debugger and run commands while verifying the output.")
    (license (list license:expat license:asl2.0))))

(define-public rust-debugger-test-parser-0.1
  (package
    (name "rust-debugger-test-parser")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "debugger_test_parser" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0xcyxw0si7j4h701aksdd08j8jmrzc58833g66wm4xvp592kdrgb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1))))
    (home-page
     "https://github.com/microsoft/rust_debugger_test/debugger_test_parser")
    (synopsis "Library for parsing debugger output")
    (description
     "This package provides a library for parsing the output of a debugger and
verifying the contents.")
    (license (list license:expat license:asl2.0))))

(define-public rust-debugid-0.8
  (package
    (name "rust-debugid")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "debugid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13f15dfvn07fa7087pmacixqqv0lmj4hv93biw4ldr48ypk55xdy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://sentry.io/")
    (synopsis "Common reusable types for implementing the sentry.io protocol")
    (description
     "Common reusable types for implementing the sentry.io protocol.")
    (license license:asl2.0)))

(define-public rust-decimal-2
  (package
    (name "rust-decimal")
    (version "2.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "decimal" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0k8ij9brz6kdk7j4hq916s85qrplpy3ixs9v9h1ibsxsj5zbg2js"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-ord-subset" ,rust-ord-subset-3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-cc" ,rust-cc-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/alkis/decimal")
    (synopsis "Decimal floating point arithmetic for Rust")
    (description
     "Decimal floating point arithmetic for Rust.")
    (license license:asl2.0)))

(define-public rust-defer-0.2
  (package
    (name "rust-defer")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "defer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s7qig25n27rajvsn013sb8k6bgdv67936yz5dwb37yzr1qp234k"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/andrewhickman/defer/")
    (synopsis
     "Utility to defer execution of code")
    (description
     "Utility to defer execution of code, inspired by Go's defer statement.")
    (license (list license:expat license:asl2.0))))

(define-public rust-defer-0.1
  (package
    (inherit rust-defer-0.2)
    (name "rust-defer")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "defer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pmcz4av2wvw8zrccmac86dsyy34qlwacdhajp1qjpjx6jk0axk4"))))
    (license (list license:expat license:asl2.0))))

(define-public rust-defer-drop-1
  (package
    (name "rust-defer-drop")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "defer-drop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mswjjksrr6fvsgxvp64mzwkjkzjmpwjfaw4n76jhsvalsgyq4zn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Lucretiel/defer-drop")
    (synopsis "Defer dropping large types to a background thread")
    (description
     "This package provides a defer dropping large types to a background
thread.")
    (license license:mpl2.0)))

(define-public rust-defmac-0.2
  (package
    (name "rust-defmac")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "defmac" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "14cqfvc0f1pkd6gdhjxa2wv3iibqprc0n203ims8lvg96752ynfm"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/bluss/defmac")
    (synopsis "Macro to define lambda-like macros inline")
    (description "A macro to define lambda-like macros inline.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-defmac-0.1
  (package
    (inherit rust-defmac-0.2)
    (name "rust-defmac")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "defmac" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))

(define-public rust-defmt-0.3
  (package
    (name "rust-defmt")
    (version "0.3.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "defmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q79ryg6q1i2nfhs5wcrc018y8sblvsjlryl45qqi2v6c8id57d9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--features=unstable-test")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-defmt-macros" ,rust-defmt-macros-0.3))
       #:cargo-development-inputs
       (("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://knurling.ferrous-systems.com/")
    (synopsis "Logging framework for resource-constrained devices")
    (description
     "This package provides an efficient logging framework that targets
resource-constrained devices, like micro-controllers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-defmt-macros-0.3
  (package
    (name "rust-defmt-macros")
    (version "0.3.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "defmt-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jrdbwcifbbsx0zmab3cqachai5fj16ralpjplz9pxzixw4z7ag3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-defmt-parser" ,rust-defmt-parser-0.3)
        ("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-2))
       #:cargo-development-inputs
       (("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.19))))
    (home-page "https://github.com/knurling-rs/defmt")
    (synopsis "Macros for rust-defmt")
    (description "This package provides macros for rust-defmt crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-defmt-parser-0.3
  (package
    (name "rust-defmt-parser")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "defmt-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03zpg0i6vlalw7m976z66n70s041rvwii8qn3grxgs1hwgpmyjpz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-rstest" ,rust-rstest-0.17))))
    (home-page "https://github.com/knurling-rs/defmt")
    (synopsis "Parsing library for defmt format strings")
    (description "This package is a parsing library for defmt format
strings.")
    (license (list license:expat license:asl2.0))))

;; TODO: Unbundle dejavu font
(define-public rust-dejavu-2
  (package
    (name "rust-dejavu")
    (version "2.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dejavu" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hgv2cc9gnk8q8j2zl4hk2vf2jhf9mfcqsm31m4nv065zfspayq1"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/brayniac/dejavu")
    (synopsis "Provides the DejaVu font family for embedding")
    (description
     "This package provides the @code{DejaVu} font family for embedding.")
    (license (list license:expat license:asl2.0))))

(define-public rust-demo-hack-0.0.5
  (package
    (name "rust-demo-hack")
    (version "0.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "demo-hack" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0m0114p1g0zzrdph5bg03i8m8p70vrwn3whs191jrbjcrmh5lmnp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0.5)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
    (home-page "https://github.com/dtolnay/proc-macro-hack")
    (synopsis "Demo of proc-macro-hack")
    (description "Demo of proc-macro-hack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-demo-hack-0.0.4
  (package
    (inherit rust-demo-hack-0.0.5)
    (name "rust-demo-hack")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "demo-hack" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mrcvy5ilnqv68qxgzp2g0zmwix7s8ic3lxj69yd18x3izcr7kb3"))))
    (arguments
     `(#:cargo-inputs (("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0.4)
                       ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))

(define-public rust-demo-hack-impl-0.0.5
  (package
    (name "rust-demo-hack-impl")
    (version "0.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "demo-hack-impl" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1f1fdl60xjas9wlmcl9v6f56vgm3mzwr019kcifav5464rx3w3ld"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))
    (home-page "https://github.com/dtolnay/proc-macro-hack")
    (synopsis "Demo of proc-macro-hack")
    (description "Demo of proc-macro-hack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-demo-hack-impl-0.0.4
  (package
    (inherit rust-demo-hack-impl-0.0.5)
    (name "rust-demo-hack-impl")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "demo-hack-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wb267k9g40z8p458q1g8nrq3x8cq13s2wnvx5fy9rd011f8qy7h"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))

(define-public rust-deranged-0.3
  (package
    (name "rust-deranged")
    (version "0.3.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "deranged" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d1ibqqnr5qdrpw8rclwrf1myn3wf0dygl04idf4j2s49ah6yaxl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-powerfmt" ,rust-powerfmt-0.2)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/jhpratt/deranged")
    (synopsis "Ranged integers")
    (description "Ranged integers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derivative-2
  (package
    (name "rust-derivative")
    (version "2.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derivative" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02vpb81wisk2zh1d5f44szzxamzinqgq2k8ydrfjj2wwkrgdvhzw"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "Cargo.toml"
             (("version = \"([[:digit:]]+(\\.[[:digit:]]+)*), <.*\"" _ version)
              (string-append "version = \"^" version "\"")))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests expect a very narrow range for trybuild.
       #:cargo-inputs
       (("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/mcarton/rust-derivative")
    (synopsis "Set of alternative @code{derive} attributes for Rust")
    (description
     "This package provides a set of alternative @code{derive} attributes for
Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-arbitrary-1
  (package
    (name "rust-derive-arbitrary")
    (version "1.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_arbitrary" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "000839h4mbgs65x1f8540kbjk2ifw68c4d8r5b9f7q0jv4d2qm1h"))))
    (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/rust-fuzz/arbitrary")
    (synopsis "Derives arbitrary traits")
    (description "This crate implements support for automatically deriving the
@code{Arbitrary} trait.  Don't depend on this crate directly, though.
Instead, enable the @code{derive} feature of the @code{arbitrary} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-arbitrary-0.4
  (package
    (inherit rust-derive-arbitrary-1)
    (name "rust-derive-arbitrary")
    (version "0.4.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_arbitrary" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rp0z4k0j5ip0bx6dssg97l4q6bakhf6lm5h1lpr3p3kwjsi585i"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-builder-0.20
  (package
    (name "rust-derive-builder")
    (version "0.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0is9z7v3kznziqsxa5jqji3ja6ay9wzravppzhcaczwbx84znzah"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.20))
       #:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/colin-kiegel/rust-derive-builder")
    (synopsis "Builder pattern for arbitrary structs")
    (description "Rust macro to automatically implement the builder pattern
for arbitrary structs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-builder-0.13
  (package
    (inherit rust-derive-builder-0.20)
    (name "rust-derive-builder")
    (version "0.13.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1irqx6bz74kx48ivdwqp2xl1ibr8dbdwgh6573r8g00d82gicncg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.13))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-derive-builder-0.12
  (package
    (inherit rust-derive-builder-0.13)
    (name "rust-derive-builder")
    (version "0.12.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1y4p569zcvpmly5s5hmjp9h83drxvdp6kj6bb61h225mhj3pfrwd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.12))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-derive-builder-0.11
  (package
    (inherit rust-derive-builder-0.12)
    (name "rust-derive-builder")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18q4jx8zvg2pkx2d1nmlklx8m48bwrghyg8rdg1irdwkw5xxyynh"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.11))))))

(define-public rust-derive-builder-0.10
  (package
    (inherit rust-derive-builder-0.11)
    (name "rust-derive-builder")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c2v6vi0lih3fwwgwx92pspcmkrjz8wxfqwhmr01060ipvg04cni"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.10))))))

(define-public rust-derive-builder-0.9
  (package
    (inherit rust-derive-builder-0.10)
    (name "rust-derive-builder")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "derive_builder" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1h4f8vnggmpyw27fznl3cpyjrzz1nw5xrxx6ca3zcb3z54hqcrd2"))))
    (arguments
      `(#:cargo-inputs
        (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
         ("rust-darling" ,rust-darling-0.10)
         ("rust-derive-builder-core" ,rust-derive-builder-core-0.9)
         ("rust-env-logger" ,rust-env-logger-0.5)
         ("rust-log" ,rust-log-0.4)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-skeptic" ,rust-skeptic-0.13)
         ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))

(define-public rust-derive-builder-core-0.20
  (package
    (name "rust-derive-builder-core")
    (version "0.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s640r6q46c2iiz25sgvxw3lk6b6v5y8hwylng7kas2d09xwynrd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.20)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/colin-kiegel/rust-derive-builder")
    (synopsis "Internal helper library for @code{rust-derive-builder}")
    (description
     "Internal helper library for @code{rust-derive-builder}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-builder-core-0.13
  (package
    (inherit rust-derive-builder-core-0.20)
    (name "rust-derive-builder-core")
    (version "0.13.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder_core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1381dgjq6jhirww088dff8b00v2d99illvnan0l0kvz7qdy33v54"))))
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.14)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-derive-builder-core-0.12
  (package
    (inherit rust-derive-builder-core-0.13)
    (name "rust-derive-builder-core")
    (version "0.12.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder_core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "03vvmw3mfg370swq0dh2h5kcjjb8va2m4asqgp9wfyy4l08xq6y1"))))
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.14)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))

(define-public rust-derive-builder-core-0.11
  (package
    (inherit rust-derive-builder-core-0.12)
    (name "rust-derive-builder-core")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i5gmf5lglbg7agj1khc6k9swf1clfs5fg6w0icw1w91m77x948z"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-darling" ,rust-darling-0.14)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-builder-core-0.10
  (package
    (inherit rust-derive-builder-core-0.11)
    (name "rust-derive-builder-core")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r9ngcrfcvqv5l5p86bzg9v863bjf5nlmippin1fv1v1iy2idrk6"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-darling" ,rust-darling-0.12)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-builder-core-0.9
  (package
    (inherit rust-derive-builder-core-0.10)
    (name "rust-derive-builder-core")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder_core" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vwb8nwls4lhd2yiyj87kmwws4mmfqfrjcr0pk09b11c6wzfm497"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=block::test::block_invalid_token_trees")
       #:cargo-inputs
       (("rust-darling" ,rust-darling-0.10)
        ("rust-log" ,rust-log-0.4)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))

(define-public rust-derive-builder-macro-0.20
  (package
    (name "rust-derive-builder-macro")
    (version "0.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g1zznpqrmvjlp2w7p0jzsjvpmw5rvdag0rfyypjhnadpzib0qxb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-derive-builder-core" ,rust-derive-builder-core-0.20)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/colin-kiegel/rust-derive-builder")
    (synopsis "Automatically implement the builder pattern for arbitrary structs")
    (description
     "This crate provides a Rust macro to automatically implement the builder
pattern for arbitrary structs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-builder-macro-0.13
  (package
    (inherit rust-derive-builder-macro-0.20)
    (name "rust-derive-builder-macro")
    (version "0.13.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder_macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "09q17rzgf8bsj8n1bhlf4f93nmqg8va6321ppcd07f1mzg1nh0w7"))))
    (arguments
     `(#:cargo-inputs (("rust-derive-builder-core" ,rust-derive-builder-core-0.13)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-builder-macro-0.12
  (package
    (inherit rust-derive-builder-macro-0.13)
    (name "rust-derive-builder-macro")
    (version "0.12.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder_macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "17p71qzh7x1q2yxzz3xrg73zw3xl0h479b7ybyjm0s1rg9fa7kgb"))))
    (arguments
     `(#:cargo-inputs (("rust-derive-builder-core" ,rust-derive-builder-core-0.12)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-builder-macro-0.11
  (package
    (inherit rust-derive-builder-macro-0.12)
    (name "rust-derive-builder-macro")
    (version "0.11.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "derive_builder_macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0s6xfgsybd9wbk39hbgqjcn7d1l36a33q6v7d0x5y17d5fvi80wg"))))
    (arguments
     `(#:cargo-inputs (("rust-derive-builder-core" ,rust-derive-builder-core-0.11)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-builder-macro-0.10
  (package
    (inherit rust-derive-builder-macro-0.11)
    (name "rust-derive-builder-macro")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_builder_macro" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wwdm4cgd4vlvabj5xsjjr4vvkqhnd3fi9wp3v5mlb09jp74maaq"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-derive-builder-core" ,rust-derive-builder-core-0.10)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-error-chain-0.10
  (package
    (name "rust-derive-error-chain")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive-error-chain" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0jnybrpiq5jzx69xq74cwxply36js02z14y9sym8sf2iwsnsk71w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-0.3)
        ("rust-syn" ,rust-syn-0.11))))
    (home-page "https://github.com/Arnavion/derive-error-chain")
    (synopsis "Macros 1.1 implementation of error-chain")
    (description "This package provides a Macros 1.1 implementation of
error-chain.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-more-0.99
  (package
    (name "rust-derive-more")
    (version "0.99.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_more" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kmz7bsjn9jh04nplqdr6bjyi90qkqjlxb8lm5zzvnp46y0qfcsz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-convert-case" ,rust-convert-case-0.4)
        ("rust-peg" ,rust-peg-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/JelteF/derive_more")
    (synopsis "Adds derive macros for more traits")
    (description
     "Rust has lots of builtin traits that are implemented for its basic
types, such as @code{Add}, @code{Not}, @code{From} or @code{Display}.
However, when wrapping these types inside your own structs or enums you lose
the implementations of these traits and are required to recreate them.  This is
especially annoying when your own structures are very simple, such as when
using the commonly advised newtype pattern (e.g. @code{MyInt(i32)}).

This library tries to remove these annoyances and the corresponding
boilerplate code.  It does this by allowing you to derive lots of commonly used
traits for both structs and enums.")
    (license license:expat)))

(define-public rust-derive-more-0.15
  (package
    (inherit rust-derive-more-0.99)
    (name "rust-derive-more")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_more" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zks5bn7hmqfz927spmridk9bvy7ly4f38vls331x4hc4hq1653s"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-derive-more-0.14
  (package
    (inherit rust-derive-more-0.99)
    (name "rust-derive-more-1")
    (version "0.14.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_more" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fgq5ziyg0gwr5j7pghfrxgzqzmmadknivpigrsniliy0334m53d"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-derive-new-0.6
  (package
    (name "rust-derive-new")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive-new" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b8jv6jx0b8jgkz9kmz0ciqmnf74xkk0mmvkb5z1c87932kdwl6i"))))
    (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/nrc/derive-new")
    (synopsis "Simple constructor functions for structs and enums")
    (description "`#[derive(new)]` implements simple constructor functions for
structs and enums.")
    (license license:expat)))

(define-public rust-derive-new-0.5
  (package
    (inherit rust-derive-new-0.6)
    (name "rust-derive-new")
    (version "0.5.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive-new" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d9m5kcj1rdmdjqfgj7rxxhdzx0as7p4rp1mjx5j6w5dl2f3461l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-derive-utils-0.14
  (package
    (name "rust-derive-utils")
    (version "0.14.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sh7d2xsr32h1m9qpzn5nh3dfm2lz1xgrfklsnjlv72mp3s55wb5"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "Cargo.toml"
             (("\\[lib\\]" all)
              (string-append "[dev-dependencies]" "\n"
                             "trybuild = \"1\"" "\n"
                             "\n" all)))))))
    (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-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/taiki-e/derive_utils")
    (synopsis "Macro helper for easily writing derives macros for enum")
    (description "This crate provides a procedural macro helper for easily
writing derives macros for enums.")
    (license (list license:expat license:asl2.0))))

(define-public rust-derive-utils-0.11
  (package
    (inherit rust-derive-utils-0.14)
    (name "rust-derive-utils")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1gx7giwn8x427d5f8c92n9h0hhcqdsasvz7i8iq2rqffvhalqask"))))
    (arguments
     `(#:cargo-inputs
       (("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-derive-visitor-0.4
  (package
    (name "rust-derive-visitor")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive-visitor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17nacybndh0n2ayf0vchcrm5n4k6bmx605ijvax7qw5rhggnawfl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-derive-visitor-macros" ,rust-derive-visitor-macros-0.4))))
    (home-page "https://github.com/nikis05/derive-visitor")
    (synopsis "Derive visitor pattern for arbitrary data structures")
    (description "Derive visitor pattern for arbitrary data structures.")
    (license license:expat)))

(define-public rust-derive-visitor-macros-0.4
  (package
    (name "rust-derive-visitor-macros")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive-visitor-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xnyz3vxp2ph0y0h7zmlbvij440m6w2gbwx5n4bfmbzcbyl3jys2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-convert-case" ,rust-convert-case-0.4)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/nikis05/derive-visitor")
    (synopsis "Macros for derive-visitor package")
    (description "Macros for derive-visitor package.")
    (license license:expat)))

(define-public rust-derive-where-1
  (package
    (name "rust-derive-where")
    (version "1.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "derive-where" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09cx25r1zb8xrsgd9cj9j5zmg30n7lnvcmspqymyn9d887673mk2"))))
    (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-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://github.com/ModProg/derive-where")
    (synopsis "Deriving with custom trait bounds")
    (description "Deriving with custom trait bounds.")
    (license (list license:expat license:asl2.0))))

(define-public rust-descape-2
  (package
    (name "rust-descape")
    (version "2.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "descape" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c56nbjgnba9s4lmfq2b89mrifkzwfc48hh7n5iwk06z12wi64bw"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/balt-dev/descape")
    (synopsis "Adds a single extension trait for &str to unescape any backslashes")
    (description
     "This package adds a single extension trait for &str to unescape any
backslashes.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-deser-hjson-1
  (package
    (name "rust-deser-hjson")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "deser-hjson" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bacgp2zhyxj6m7hh00sl65b8bripw5nb80jwcniplglzscspq9h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency chain.
       #:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Canop/deser-hjson")
    (synopsis "Hjson deserializer for Serde")
    (description "This package provides an Hjson deserializer for Serde.")
    (license license:expat)))

(define-public rust-detect-desktop-environment-1
  (package
    (name "rust-detect-desktop-environment")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "detect-desktop-environment" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1crybsn50nax07zz2sxyi88nfq05yyqicqqa6ni03j8swfxs29yg"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-test-flags
           ''("--release" "--"
              "--skip=DesktopEnvironment::from_freedesktop"
              "--skip=DesktopEnvironment::from_xdg_name")))
    (home-page "https://github.com/demurgos/detect-desktop-environment")
    (synopsis "Autodetect the desktop environment")
    (description "This package provides autodetect for the desktop environment.")
    (license license:expat)))

(define-public rust-detect-desktop-environment-0.2
  (package
    (inherit rust-detect-desktop-environment-1)
    (name "rust-detect-desktop-environment")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "detect-desktop-environment" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0408nmfgb54wqigjpqxwcxy5jp4ni1fjvynqdgpa84svvmhavn11"))))
    (arguments '())))

(define-public rust-detone-1
  (package
    (name "rust-detone")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "detone" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "052mnp8qjp71ypcv0ixvlw7isn1yv79qn05jrcfi9j2r70clq47p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-unic-normal" ,rust-unic-normal-0.9))))
    (home-page "https://docs.rs/detone/")
    (synopsis "Decompose Vietnamese tone marks")
    (description "Decompose Vietnamese tone marks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-deunicode-1
  (package
    (name "rust-deunicode")
    (version "1.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "deunicode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "006gnml4jy3m03yqma8qvx7kl9i2bw667za9f7yc6k9ckv64959k"))))
    (build-system cargo-build-system)
    (home-page "https://lib.rs/crates/deunicode")
    (synopsis "Convert Unicode strings to pure ASCII")
    (description
     "This package converts Unicode strings to pure ASCII by intelligently
transliterating them.  It supports Emoji and Chinese.")
    (license license:bsd-3)))

(define-public rust-deunicode-0.4
  (package
    (inherit rust-deunicode-1)
    (name "rust-deunicode")
    (version "0.4.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "deunicode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "133m63d7x3y3kpf8hrdkjpqma9l74bv59rpmpb8rqgn2i6zz3nvi"))))
    (arguments `(#:cargo-inputs (("rust-deunicode" ,rust-deunicode-1))))))

(define-public rust-devise-0.4
  (package
    (name "rust-devise")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07b5dza9dl5p15q32xng8pgmmhf7kbjpng2y46njqykp9h60pngi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-devise-codegen" ,rust-devise-codegen-0.4)
                       ("rust-devise-core" ,rust-devise-core-0.4))))
    (home-page "https://github.com/SergioBenitez/Devise")
    (synopsis "Library for devising derives and other procedural macros")
    (description
     "This package provides a library for devising derives and other
procedural macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-devise-0.3
  (package
    (inherit rust-devise-0.4)
    (name "rust-devise")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15dmibnykic2a1ndi66shyvxmpfysnhf05lg2iv8871g0w5miish"))))
    (arguments
     `(#:cargo-inputs (("rust-devise-codegen" ,rust-devise-codegen-0.3)
                       ("rust-devise-core" ,rust-devise-core-0.3))))))

(define-public rust-devise-0.2
  (package
    (inherit rust-devise-0.4)
    (name "rust-devise")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09p52f54givb0g9l7clj11z755vldk8758y2lwm5mp3sa156qwfx"))))
    (arguments
     `(#:cargo-inputs (("rust-devise-codegen" ,rust-devise-codegen-0.2)
                       ("rust-devise-core" ,rust-devise-core-0.2))
       #:phases (modify-phases %standard-phases
                  ;; Enable using nightly/dev features
                  (add-after 'unpack 'enable-unstable-features
                    (lambda _
                      (setenv "RUSTC_BOOTSTRAP" "1"))))))))

(define-public rust-devise-codegen-0.4
  (package
    (name "rust-devise-codegen")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ryq9xibibjf82xhr26civsw7bg6id8j4j9kl9qaa5xyv208dcki"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-devise-core" ,rust-devise-core-0.4)
                       ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/SergioBenitez/Devise")
    (synopsis "Library for devising derives and other procedural macros")
    (description
     "This package provides a library for devising derives and other
procedural macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-devise-codegen-0.3
  (package
    (inherit rust-devise-codegen-0.4)
    (name "rust-devise-codegen")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cp7nnfwvjp6wfq11n0ffjjrwfa1wbsb58g1bz3ha6z5lvkp6g0j"))))
    (arguments
     `(#:cargo-inputs (("rust-devise-core" ,rust-devise-core-0.3)
                       ("rust-quote" ,rust-quote-1))))))

(define-public rust-devise-codegen-0.2
  (package
    (inherit rust-devise-codegen-0.4)
    (name "rust-devise-codegen")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lxbixni2v6snx2mkgi0kyq5dv8v6c5s57b6wc47q4hqs6884yza"))))
    (arguments
     `(#:cargo-inputs (("rust-devise-core" ,rust-devise-core-0.2)
                       ("rust-quote" ,rust-quote-0.6))
       #:phases (modify-phases %standard-phases
                  ;; Enable using nightly/dev features
                  (add-after 'unpack 'enable-unstable-features
                    (lambda _
                      (setenv "RUSTC_BOOTSTRAP" "1"))))))))

(define-public rust-devise-core-0.4
  (package
    (name "rust-devise-core")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xwa9dp1i66zwfywgvz4189gxzpbpanagmf4wgr03gvsrx1aaddh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-proc-macro2-diagnostics" ,rust-proc-macro2-diagnostics-0.10)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/SergioBenitez/Devise")
    (synopsis "Library for devising derives and other procedural macros")
    (description
     "This package provides a library for devising derives and other
procedural macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-devise-core-0.3
  (package
    (inherit rust-devise-core-0.4)
    (name "rust-devise-core")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l00qiih4z14ai0c3s16nlvw0kv4p07ygi6a0ms0knc78xpz87l4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-proc-macro2-diagnostics" ,rust-proc-macro2-diagnostics-0.9)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-devise-core-0.2
  (package
    (inherit rust-devise-core-0.4)
    (name "rust-devise-core")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "devise_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wr3jdzzibpafz73hcca83wnzdgjinvm7axmxnyfkbasbnfkw1fi"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-0.4)
                       ("rust-quote" ,rust-quote-0.6)
                       ("rust-syn" ,rust-syn-0.15))
       #:phases (modify-phases %standard-phases
                  ;; Enable using nightly/dev features
                  (add-after 'unpack 'enable-unstable-features
                    (lambda _
                      (setenv "RUSTC_BOOTSTRAP" "1"))))))))

(define-public rust-dhcp4r-0.2
  (package
    (name "rust-dhcp4r")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dhcp4r" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0paq13i9iz5545f5aw8ijxflw20fvb3k8s4m3inr5q19q5rirpbc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
        ("rust-nom" ,rust-nom-6)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-time" ,rust-time-0.2))))
    (home-page "https://github.com/krolaw/dhcp4r")
    (synopsis "IPv4 DHCP library with working server example")
    (description
     "This package provides a library for IPv4 DHCP including a working server
example.")
    (license license:bsd-3)))

(define-public rust-dhcproto-0.9
  (package
    (name "rust-dhcproto")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dhcproto" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hsbl77lxvxa94ihn2vna1sx2icrkch427w24a883xymhm9h9vnw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=v6::options::tests::test_range_binsearch")
       #:cargo-inputs (("rust-dhcproto-macros" ,rust-dhcproto-macros-0.1)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-ipnet" ,rust-ipnet-2)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.22)
                       ("rust-url" ,rust-url-2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/bluecatengineering/dhcproto")
    (synopsis "DHCP parser and encoder for DHCPv4/DHCPv6")
    (description
     "This package provides a DHCP parser and encoder for DHCPv4/DHCPv6.
@code{dhcproto} aims to be a functionally complete DHCP implementation.")
    (license license:expat)))

(define-public rust-dhcproto-macros-0.1
  (package
    (name "rust-dhcproto-macros")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dhcproto-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w61gvnm17frkm6mk8q4xkwd1iji946lj5f175w585h4hvxkx6d7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/bluecatengineering/dhcproto")
    (synopsis "Macro library for generating option types for dhcproto")
    (description
     "This package provides a macro library for generating option types for
dhcproto.")
    (license license:expat)))

(define-public rust-dialoguer-0.11
  (package
    (name "rust-dialoguer")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dialoguer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pl0744wwr97kp8qnaybzgrfwk66qakzq0i1qrxl03vpbn0cx2v5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `dialoguer::History`
       #:cargo-inputs (("rust-console" ,rust-console-0.15)
                       ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
                       ("rust-shell-words" ,rust-shell-words-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://github.com/console-rs/dialoguer")
    (synopsis "Command line prompting library")
    (description "This package provides a command line prompting library.")
    (license license:expat)))

(define-public rust-dialoguer-0.10
  (package
    (inherit rust-dialoguer-0.11)
    (name "rust-dialoguer")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dialoguer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11rgzrhi677w9gf1r3ip2x361svdkjkr2m5dsfca9fcljacg5ijr"))))
    (arguments
     `(#:cargo-inputs (("rust-console" ,rust-console-0.15)
                       ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
                       ("rust-shell-words" ,rust-shell-words-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-zeroize" ,rust-zeroize-1))))))

(define-public rust-diff-0.1
  (package
    (name "rust-diff")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "diff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1j0nzjxci2zqx63hdcihkp0a4dkdmzxd7my4m7zk6cjyfy34j9an"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-speculate" ,rust-speculate-0.1))))
    (home-page "https://github.com/utkarshkukreti/diff.rs")
    (synopsis "LCS based slice and string diffing implementation")
    (description
     "An LCS based slice and string diffing implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-difference-2
  (package
    (name "rust-difference")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "difference" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1621wx4k8h452p6xzmzzvm7mz87kxh4yqz0kzxfjj9xmjxlbyk2j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-getopts" ,rust-getopts-0.2))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.8)
        ("rust-term" ,rust-term-0.5))))
    (home-page "https://github.com/johannhof/difference.rs")
    (synopsis "Rust text diffing and assertion library")
    (description
     "This package provides a Rust text diffing and assertion library.")
    (license license:expat)))

(define-public rust-difference-1
  (package
    (inherit rust-difference-2)
    (name "rust-difference")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "difference" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a5v0b73z7vywbclll32wjsfkdgh6wn9prnq91z0d3lag4clsc5k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getopts" ,rust-getopts-0.2))
       #:cargo-development-inputs
       (("rust-term" ,rust-term-0.2))))))

(define-public rust-difflib-0.4
  (package
    (name "rust-difflib")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "difflib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s7byq4d7jgf2hcp2lcqxi2piqwl8xqlharfbi8kf90n8csy7131"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/DimaKudosh/difflib")
    (synopsis "Compare word sequences in Rust")
    (description
     "This crate provides all necessary tools for comparing word sequences.")
    (license license:expat)))

(define-public rust-diffs-0.5
  (package
    (name "rust-diffs")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "diffs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01f8bp77kgahgvr3s2igmnmsxynjklq830lmp2wp2jyph6bnq4gz"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f))    ; unresolved imports `myers`, `Diff`, `Replace`
    (home-page "https://nest.pijul.com/pijul/diffs")
    (synopsis "Diff algorithms, also called longest common subsequence")
    (description
     "This package provides a number of diff algorithms, also called longest
common subsequence.  The diff algorithms include Myer's diff and Patience
diff.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dircpy-0.3
  (package
    (name "rust-dircpy")
    (version "0.3.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dircpy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "070k84wvc4d364rglwvhjk7psj938nmxh98rs58rspvza6q231d8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency chain.
       #:cargo-inputs (("rust-jwalk" ,rust-jwalk-0.8)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/woelper/dircpy/")
    (synopsis "Copy directories recursively with flexible options")
    (description "Copy directories recursively with flexible options.")
    (license license:expat)))

(define-public rust-directories-5
  (package
    (name "rust-directories")
    (version "5.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "directories" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dba6xzk79s1clqzxh2qlgzk3lmvvks1lzzjhhi3hd70hhxifjcs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-dirs-sys" ,rust-dirs-sys-0.4))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://github.com/dirs-dev/directories-rs")
    (synopsis "Library for standard locations of data directories")
    (description
     "This package provides a tiny mid-level library that provides
platform-specific standard locations of directories for config,
cache and other data on Linux, Windows and macOS by leveraging the
mechanisms defined by the XDG base/user directory specifications
on Linux, the Known Folder API on Windows, and the Standard
Directory guidelines on macOS.")
    (license (list license:expat license:asl2.0))))

(define-public rust-directories-4
  (package
    (inherit rust-directories-5)
    (name "rust-directories")
    (version "4.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "directories" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "045jbj5y2f1fmjs9rfcw95y0vjydb2rqqhz1sdnqhdmxv96ms77m"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-dirs-sys" ,rust-dirs-sys-0.3))))))

(define-public rust-directories-3
  (package
    (inherit rust-directories-4)
    (name "rust-directories")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "directories" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mz1khca62zd48kphdy5hn4f8r55ywkyn23pjdbkj4h32zzh15p6"))))
    (arguments
     `(#:cargo-inputs (("rust-dirs-sys" ,rust-dirs-sys-0.3))
       #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))))

(define-public rust-directories-next-2
  (package
    (name "rust-directories-next")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "directories-next" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g1vq8d8mv0vp0l317gh9y46ipqg2fxjnbc7lnjhwqbsv4qf37ik"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-dirs-sys-next" ,rust-dirs-sys-next-0.1))))
    (home-page "https://github.com/xdg-rs/dirs/tree/master/directories")
    (synopsis "Mid-level library for standard locations of data directories")
    (description
     "This package provides a tiny mid-level library that provides
platform-specific standard locations of directories for config, cache and
other data.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dirs-5
  (package
    (name "rust-dirs")
    (version "5.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "dirs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0992xk5vx75b2x91nw9ssb51mpl8x73j9rxmpi96cryn0ffmmi24"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dirs-sys" ,rust-dirs-sys-0.4))))
    (home-page "https://github.com/soc/dirs-rs")
    (synopsis "Abstractions for standard locations for various platforms")
    (description
     "This package is a tiny low-level library that provides platform-specific
standard locations of directories for config, cache and other data.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dirs-4
  (package
    (inherit rust-dirs-5)
    (name "rust-dirs")
    (version "4.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n8020zl4f0frfnzvgb9agvk4a14i1kjz4daqnxkgslndwmaffna"))))
    (arguments
     `(#:cargo-inputs
       (("rust-dirs-sys" ,rust-dirs-sys-0.3))))))

(define-public rust-dirs-3
  (package
    (inherit rust-dirs-4)
    (name "rust-dirs")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "028kqy0vrbfgrk1yc1flq2fqh8snyg17qlygawm0r79w211s1fih"))))))

(define-public rust-dirs-2
  (package
    (inherit rust-dirs-3)
    (name "rust-dirs")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qymhyq7w7wlf1dirq6gsnabdyzg6yi2yyxkx6c4ldlkbjdaibhk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-dirs-sys" ,rust-dirs-sys-0.3))))))

(define-public rust-dirs-1
  (package
    (inherit rust-dirs-2)
    (name "rust-dirs")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dirs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "009rrhzj9pxyncmm2vhlj70npg0cgggv2hjbbkiwdl9vccq8kmrz"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-redox-users" ,rust-redox-users-0.3)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-dirs-next-2
  (package
    (name "rust-dirs-next")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs-next" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q9kr151h9681wwp6is18750ssghz6j9j7qm7qi1ngcwy7mzi35r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-dirs-sys-next" ,rust-dirs-sys-next-0.1))))
    (home-page "https://github.com/xdg-rs/dirs")
    (synopsis "Abstractions for standard locations for various platforms")
    (description
     "This package provides a tiny low-level library that provides
platform-specific standard locations of directories for config, cache and
other data.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dirs-next-1
  (package
    (inherit rust-dirs-next-2)
    (name "rust-dirs-next")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs-next" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1dl2dqzsrcb7qigfiwpdpakhdkpz0629pvylbj2ylyrkh1dfcdng"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-dirs-sys" ,rust-dirs-sys-next-0.1))))
    (home-page "https://github.com/xdg-rs/dirs")
    (license (list license:expat license:asl2.0))))

(define-public rust-dirs-sys-0.4
  (package
    (name "rust-dirs-sys")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "dirs-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "071jy0pvaad9lsa6mzawxrh7cmr7hsmsdxwzm7jzldfkrfjha3sj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-option-ext" ,rust-option-ext-0.2)
        ("rust-redox-users" ,rust-redox-users-0.4)
        ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/dirs-dev/dirs-sys-rs")
    (synopsis
     "System-level helper functions for the dirs and directories crates")
    (description
     "This package provides system-level helper functions for the @code{dirs}
and @code{directories} crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dirs-sys-0.3
  (package
    (inherit rust-dirs-sys-0.4)
    (name "rust-dirs-sys")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19md1cnkazham8a6kh22v12d8hh3raqahfk6yb043vrjr68is78v"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-redox-users" ,rust-redox-users-0.4)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-dirs-sys-next-0.1
  (package
    (name "rust-dirs-sys-next")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dirs-sys-next" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0kavhavdxv4phzj4l0psvh55hszwnr0rcz8sxbvx20pyqi2a3gaf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-redox-users" ,rust-redox-users-0.4)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/xdg-rs/dirs/tree/master/dirs-sys")
    (synopsis "Shared code for dirs-next and directories-next")
    (description
     "This package only exists to facilitate code sharing between
dirs-next and directories-next.")
    (license (list license:expat license:asl2.0))))

(define-public rust-discard-1
  (package
    (name "rust-discard")
    (version "1.0.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "discard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/Pauan/rust-discard")
    (synopsis "Allow for intentionally leaking memory")
    (description "There are situations where you need to intentionally leak some
memory but not other memory.  This package provides a discard trait which allows
for intentionally leaking memory")
    (license license:expat)))

(define-public rust-displaydoc-0.2
  (package
    (name "rust-displaydoc")
    (version "0.2.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "displaydoc" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                 "1q0alair462j21iiqwrr21iabkfnb13d6x5w95lkdg21q2xrqdlp"))))
    (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-libc" ,rust-libc-0.2)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/yaahc/displaydoc")
    (synopsis
     "Derive macro for implementing the display Trait via a doc comment")
    (description
     "This package provides a derive macro for implementing the display Trait
via a doc comment and string interpolation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dissimilar-1
  (package
    (name "rust-dissimilar")
    (version "1.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dissimilar" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bcn4s99ghigd3yadpd7i3gljv5z2hkr07ijvvxvsxmz3yfygy2r"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/dissimilar")
    (synopsis "Diff library with semantic cleanup")
    (description
     "This package provides a diff library with semantic cleanup, based on
Google's diff-match-patch.")
    (license (list license:expat license:asl2.0))))

(define-public rust-divan-0.1
  (package
    (name "rust-divan")
    (version "0.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "divan" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i5qvk7h9fcrr89cxkmadpgm03sv7askplyqh8vb0a8b0a9k2n70"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-condtype" ,rust-condtype-1)
                       ("rust-divan-macros" ,rust-divan-macros-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-regex-lite" ,rust-regex-lite-0.1))
       #:cargo-development-inputs (("rust-mimalloc" ,rust-mimalloc-0.1))))
    (inputs (list mimalloc))
    (home-page "https://github.com/nvzqz/divan")
    (synopsis "Statistically-comfy benchmarking library")
    (description "Statistically-comfy benchmarking library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-divan-macros-0.1
  (package
    (name "rust-divan-macros")
    (version "0.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "divan-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z5n3f4m5c7flqnr6vg9qz51j9mjb1s2afcsfnqf7x9nwsc1vicd"))))
    (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/nvzqz/divan")
    (synopsis "Macros for Divan, a statistically-comfy benchmarking library")
    (description "This package provides macros for Divan, a statistically-comfy
benchmarking library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dlib-0.5
  (package
    (name "rust-dlib")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dlib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04m4zzybx804394dnqs1blz241xcy480bdwf3w9p4k6c3l46031k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;FIXME: Several macros are not found.
       #:cargo-inputs
       (("rust-libloading" ,rust-libloading-0.8))))
    (home-page "https://github.com/vberger/dlib")
    (synopsis "Helper macros for manually loading optional system libraries")
    (description
     "This package provides helper macros for handling manually loading optional
system libraries.")
    (license license:expat)))

(define-public rust-dlib-0.4
  (package
    (inherit rust-dlib-0.5)
    (name "rust-dlib")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dlib" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0xlsf3lrz9hd7q3ff6lp5mw4kn3nbryn746kd07i93r6wg8ia7xi"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libloading" ,rust-libloading-0.6))))
    (inputs
     (list rust-libloading-0.6))))

(define-public rust-dlv-list-0.5
  (package
    (name "rust-dlv-list")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dlv-list" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pqvrinxzdz7bpy4a3p450h8krns3bd0mc3w0qqvm03l2kskj824"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-const-random" ,rust-const-random-0.1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-coverage-helper" ,rust-coverage-helper-0.2)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/sgodwincs/dlv-list-rs")
    (synopsis "Semi-doubly linked list implemented using a vector")
    (description
     "This package provides a semi-doubly linked list implemented using a vector.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dlv-list-0.3
  (package
    (name "rust-dlv-list")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dlv-list" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mqj5rdkcjksw3kvjj0nga6rzcpppx0kimjwi527yhifz6kw5206"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sgodwincs/dlv-list-rs")
    (synopsis "Semi-doubly linked list implemented using a vector")
    (description
     "This crate provides semi-doubly linked lists implemented using
a vector.")
    (license license:expat)))

(define-public rust-dlv-list-0.2
  (package
    (inherit rust-dlv-list-0.3)
    (name "rust-dlv-list")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dlv-list" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06r1nskj3x56p5wqz2bgl6q3rpyymrb0k0zpbvk8c6qcd4mkzpv8"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rand" ,rust-rand-0.8))))))

(define-public rust-dns-lookup-2
  (package
    (name "rust-dns-lookup")
    (version "2.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dns-lookup" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z74n2zij2gahycabm0gkmkyx574h76gwk7sz93yqpr3qa3n0xp5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Tries to access the network
                            "--skip=nameinfo::test_getnameinfo"
                            "--skip=src/lib.rs - (line 36)")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-socket2" ,rust-socket2-0.5)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/keeperofdakeys/dns-lookup/")
    (synopsis "DNS resolution interface")
    (description
     "This package provides a simple DNS resolving interface, much like Rust's
unstable API.  It includes @code{getaddrinfo} and @code{getnameinfo} wrappers
for libc variants.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dns-parser-0.8
  (package
    (name "rust-dns-parser")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dns-parser" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1spv0psvxc31qg9xnqf0gmjclyiim7vp23r2b1gzf1ix8zlkply4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-matches" ,rust-matches-0.1))))
    (home-page "https://github.com/tailhook/dns-parser")
    (synopsis "DNS protocol parser library")
    (description "This package provide a DNS protocol parser library.  It does
not support network, only raw protocol parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dns-sd-0.1
  (package
    (name "rust-dns-sd")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "dns-sd" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "11r0jymjshfnn3sh2nqjhrikk4r5rr1g36sip9iqy8i0xafm0j6p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-pkg-config" ,rust-pkg-config-0.3))))
    (inputs (list avahi))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/plietar/rust-dns-sd")
    (synopsis "Rust binding for DNS-SD")
    (description "Rust bindings for DNS Service Discovery (DNS-SD).")
    (license license:expat)))

(define-public rust-doc-comment-0.3
  (package
    (name "rust-doc-comment")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "doc-comment" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "043sprsf3wl926zmck1bm7gw0jq50mb76lkpk49vasfr6ax1p97y"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/GuillaumeGomez/doc-comment")
    (synopsis "Macro to generate doc comments")
    (description "This package provides a way to generate doc comments
from macros.")
    (license license:expat)))

(define-public rust-dockworker-0.5
  (package
    (name "rust-dockworker")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dockworker" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1grdrc54l50ji3b1x25gx63qcjpsapjrw95fvh5p83za0k81ai8v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" ; Tests require network access.
         "--skip=docker::tests::test_api"
         "--skip=docker::tests::test_events"
         "--skip=docker::tests::test_networks"
         "--skip=docker::tests::test_ping"
         "--skip=docker::tests::test_system_info"
         "--skip=docker::tests::test_version")
       #:cargo-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-base64" ,rust-base64-0.21)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-dirs" ,rust-dirs-5)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-http" ,rust-http-0.2)
        ("rust-hyper" ,rust-hyper-0.14)
        ("rust-hyper-rustls" ,rust-hyper-rustls-0.24)
        ("rust-hyper-tls" ,rust-hyper-tls-0.5)
        ("rust-hyperlocal" ,rust-hyperlocal-0.8)
        ("rust-log" ,rust-log-0.4)
        ("rust-named-pipe" ,rust-named-pipe-0.4)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-nix" ,rust-nix-0.26)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-rustls" ,rust-rustls-0.21)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tar" ,rust-tar-0.4)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-stream" ,rust-tokio-stream-0.1)
        ("rust-tokio-util" ,rust-tokio-util-0.7)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-reqwest" ,rust-reqwest-0.11))))
    (native-inputs (list pkg-config))
    (inputs (list openssl))
    (home-page "https://github.com/Idein/dockworker")
    (synopsis "Docker daemon API client (a fork of Faraday's boondock)")
    (description
     "This package provides a Rust library for talking to the Docker daemon.
This project is a fork of Faraday's boondock.")
    (license license:asl2.0)))

(define-public rust-docmatic-0.1
  (package
    (name "rust-docmatic")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "docmatic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hx85n266lxswqxrbbinqlhi1qcnjgd4cc7v42abg72kmz7fnn4d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-which" ,rust-which-2))))
    (home-page "https://github.com/assert-rs/docmatic")
    (synopsis "Test Rust examples in your documentation")
    (description "Test Rust examples in your documentation.")
    (license license:expat)))

(define-public rust-docopt-1
  (package
    (name "rust-docopt")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "docopt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07x5g52n6fzilxhk5220caznkvdnzzvahlzrzkmgj8y88sc12gvz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-strsim" ,rust-strsim-0.10))))
    (home-page "https://github.com/docopt/docopt.rs")
    (synopsis "Command line argument parsing")
    (description "This package provides command line argument parsing.")
    (license (list license:expat license:unlicense))))

(define-public rust-docopt-0.7
  (package
    (inherit rust-docopt-1)
    (name "rust-docopt")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "docopt" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1n6gbhsks2w9y0b4bwqyawh4ghbkka09w6pjcrq9i1sd51pflcmb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-regex" ,rust-regex-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-strsim" ,rust-strsim-0.6))))))

(define-public rust-docopt-0.6
  (package
    (inherit rust-docopt-0.7)
    (name "rust-docopt")
    (version "0.6.86")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "docopt" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-regex" ,rust-regex-0.1)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-strsim" ,rust-strsim-0.5))))))

(define-public rust-doctest-file-1
  (package
    (name "rust-doctest-file")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "doctest-file" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qkmnrsx2kszm58wxyry63bs35msj9chdb6jlh54a8cdwaiizj5a"))))
    (build-system cargo-build-system)
    (arguments `(#:tests? #f))  ; Tests are incorrectly written.
    (home-page "https://codeberg.org/Goat7658/doctest-file/")
    (synopsis "Procedural macro that sources doctests from dedicated files")
    (description
     "This package provides a procedural macro that sources doctests from
dedicated files into Rustdoc documentation with support for hiding lines.")
    (license license:bsd-0)))

(define-public rust-document-features-0.2
  (package
    (name "rust-document-features")
    (version "0.2.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "document-features" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "182h528pjyv4ppil2pd2nir46qrb393x5kvm4y51yhnjmgm6jsfb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=self_doc"
         "--skip=self_doc_with_custom_label")
       #:cargo-inputs (("rust-litrs" ,rust-litrs-0.4))))
    (home-page "https://slint-ui.com")
    (synopsis "Extract documentation for feature flags from Cargo.toml")
    (description "Extract documentation for the feature flags from comments in
@code{Cargo.toml}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-documented-0.6
  (package
    (name "rust-documented")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "documented" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zc7akchjkwnsl0hnzygwad58sfnvrvkcl7w117679cnbg9zxbgy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-documented-macros" ,rust-documented-macros-0.6)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/cyqsimon/documented")
    (synopsis
     "Derive and attribute macros for accessing your type's documentation at runtime")
    (description
     "This package provides macros to derive and attribute macros for accessing
your type's documentation at runtime.")
    (license license:expat)))

(define-public rust-documented-macros-0.6
  (package
    (name "rust-documented-macros")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "documented-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qwclr8ymp5n5fyb6sri9dl36va3ana50clkgwmf7110lva5jdlp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `documented`
       #:cargo-inputs (("rust-convert-case" ,rust-convert-case-0.6)
                       ("rust-optfield" ,rust-optfield-0.3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/cyqsimon/documented")
    (synopsis "Derive and attribute macros for `documented`")
    (description
     "This package provides derive and attribute macros for `documented`.")
    (license license:expat)))

(define-public rust-dogged-0.2
  (package
    (name "rust-dogged")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dogged" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yk5l6qqidl5y935x15gi9kkd6niim1wb64r1l7kdzl9jw8dyf16"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/nikomatsakis/dogged")
    (synopsis "Persistent vector, similar to Clojure")
    (description "This package experimental persistent collections in Rust.
Based on a digit-indexed trie, as in Clojure.  Supports @code{push()},
@code{get()}, and @code{get_mut()} as its primitive operations for now.  All
O(1)-in-practice, if not in theory, but obviously not as fast as a
non-persistent vector.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-dot-writer-0.1
  (package
    (name "rust-dot-writer")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "dot-writer" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0yjv36hr3klzq4bpzkkqp64s8479ssabr7zkdxn4163ybsyi26rx"))))
    (build-system cargo-build-system)
    (home-page "https://bitbucket.org/DrGabble/dot-writer")
    (synopsis "Library for writing the Graphviz DOT graph language")
    (description
     "This package provides a library for writing the Graphviz DOT graph language.")
    (license license:expat)))

(define-public rust-dotenv-0.15
  (package
    (name "rust-dotenv")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dotenv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13ysjx7n2bqxxqydvnnbdwgik7i8n6h5c1qhr9g11x6cxnnhpjbp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-2))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/dotenv-rs/dotenv")
    (synopsis "@code{dotenv} implementation for Rust")
    (description "This package provides a @code{dotenv} implementation for
Rust.")
    (license license:expat)))

(define-public rust-dotenv-0.13
  (package
    (inherit rust-dotenv-0.15)
    (name "rust-dotenv")
    (version "0.13.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dotenv" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "11jdifvvwbn60gf5iq2awyq9fik1d9xk7rhch332nwwnkhks3l60"))))
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-clap" ,rust-clap-2)
         ("rust-failure" ,rust-failure-0.1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-regex" ,rust-regex-1))
        #:cargo-development-inputs
        (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-dotenv-0.10
  (package
    (inherit rust-dotenv-0.15)
    (name "rust-dotenv")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dotenv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ww0wfnilz4cy789fni06gckm45xsb9fplrih26l4qyi4jxy5w6n"))))
    (arguments
     `(#:cargo-inputs
       (("rust-derive-error-chain" ,rust-derive-error-chain-0.10)
        ("rust-error-chain" ,rust-error-chain-0.10)
        ("rust-regex" ,rust-regex-0.2)
        ("rust-syn" ,rust-syn-0.11))))))

(define-public rust-dotenvy-0.15
  (package
    (name "rust-dotenvy")
    (version "0.15.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "dotenvy" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "16s3n973n5aqym02692i1npb079n5mb0fwql42ikmwn8wnrrbbqs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       ;; Not all files included.
       '("--release" "--"
         "--skip=dotenv"
         "--skip=dotenv_iter"
         "--skip=dotenv_override"
         "--skip=from_filename"
         "--skip=from_filename_override")
       #:cargo-inputs
       (("rust-clap" ,rust-clap-3))
       #:cargo-development-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/allan2/dotenvy")
    (synopsis "Fork of the dotenv crate")
    (description "This package provides a fork of the dotenv crate.")
    (license license:expat)))

(define-public rust-downcast-0.11
  (package
    (name "rust-downcast")
    (version "0.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "downcast" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wa78ahlc57wmqyq2ncr80l7plrkgz57xsg7kfzgpcnqac8gld8l"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/fkoep/downcast-rs")
    (synopsis
     "Trait for downcasting trait objects back to their original types")
    (description
     "This package provides a trait, and utilities, for downcasting trait
objects back to their original types.  The same as the rust-downcast-rs crate.")
    (license license:expat)))

(define-public rust-downcast-rs-1
  (package
    (name "rust-downcast-rs")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "downcast-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lmrq383d1yszp7mg5i7i56b17x2lnn3kb91jwsq0zykvg2jbcvm"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/marcianx/downcast-rs")
    (synopsis "Trait object downcasting support using only safe Rust")
    (description
     "Trait object downcasting support using only safe Rust.  It supports type
parameters, associated types, and type constraints.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dpc-pariter-0.4
  (package
    (name "rust-dpc-pariter")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dpc-pariter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s546d43yyiw55jz3yw4nyxgzmnc4f0gamzkfi6m7kyw2xlf2anl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-crossbeam" ,rust-crossbeam-0.8)
                       ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-num-cpus" ,rust-num-cpus-1))))
    (home-page "https://github.com/dpc/pariter")
    (synopsis "Parallel iterator processing")
    (description "This is a package for parallel iterator processing.")
    (license (list license:mpl2.0 license:expat license:asl2.0))))

(define-public rust-draw-state-0.8
  (package
    (name "rust-draw-state")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "draw_state" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://github.com/gfx-rs/draw_state")
    (synopsis "Graphics state blocks for gfx-rs")
    (description "Graphics state blocks for gfx-rs.")
    (license license:asl2.0)))

(define-public rust-dtoa-1
  (package
    (name "rust-dtoa")
    (version "1.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dtoa" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lv6zzgrd3hfh83n9jqhzz8645729hv1wclag8zw4dbmx3w2pfyw"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs (list rust-no-panic-0.1)))
    (home-page "https://github.com/dtolnay/dtoa")
    (synopsis "Fast functions for printing floating-point primitives")
    (description "This crate provides fast functions for printing
floating-point primitives to an @code{io::Write}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dtoa-0.4
  (package
    (inherit rust-dtoa-1)
    (name "rust-dtoa")
    (version "0.4.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dtoa" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1c5j0wz118dhrczx6spc5za7dnbfxablr4adyahg9aknrsc9i2an"))))
    (arguments '())))

(define-public rust-dtoa-short-0.3
  (package
    (name "rust-dtoa-short")
    (version "0.3.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "dtoa-short" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "11rwnkgql5jilsmwxpx6hjzkgyrbdmx1d71s0jyrjqm5nski25fd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dtoa" ,rust-dtoa-1))
       #:cargo-development-inputs (("rust-float-cmp" ,rust-float-cmp-0.4))))
    (home-page "https://github.com/upsuper/dtoa-short")
    (synopsis "Serialize float number and truncate to certain precision")
    (description
     "Serialize float number and truncate to certain precision in Rust.")
    (license license:mpl2.0)))

(define-public rust-dtparse-2
  (package
    (name "rust-dtparse")
    (version "2.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dtparse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mqz4164mc4xyq73c22wf900v8cn4sy63nalrkr5mlr614y41yr3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-rust-decimal" ,rust-rust-decimal-1))
       #:cargo-development-inputs (("rust-base64" ,rust-base64-0.21))))
    (home-page "https://github.com/bspeice/dtparse.git")
    (synopsis "Dateutil-compatible timestamp parser for Rust")
    (description
     "This package provides a @code{dateutil}-compatible timestamp parser for
Rust.")
    (license license:asl2.0)))

(define-public rust-duct-0.13
  (package
    (name "rust-duct")
    (version "0.13.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "duct" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "174jk13rlvfgypha4f3l27mzzyc0ci7zginh5hjn6jr2s4c5gaz4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=test::test_capture_both"
         "--skip=test::test_pipe"
         "--skip=test::test_sh"
         "--skip=test::test_stderr"
         "--skip=test::test_swapping"
         "--skip=src/lib.rs - ReaderHandle (line 1929)")
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-os-pipe" ,rust-os-pipe-1)
        ("rust-shared-child" ,rust-shared-child-1))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/oconnor663/duct.rs")
    (synopsis "Library for running child processes")
    (description "A library for running child processes.")
    (license license:expat)))

(define-public rust-duplicate-1
  (package
    (name "rust-duplicate")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "duplicate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jrh28a3g9xw0w9v21y92d4k08lgr1ffg8mjhw2h67h6r5mfcy6y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=errors::basic_expansion_errors"
         "--skip=errors::highlight_expansion_errors"
         "--skip=errors::hint_expansion_errors"
         "--skip=module_disambiguation::test_expansions"
         "--skip=no_features::test_edition_2021"
         "--skip=no_features::test_expansions")
       #:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-proc-macro-error" ,rust-proc-macro-error-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-duplicate-macrotest" ,rust-duplicate-macrotest-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Emoun/duplicate")
    (synopsis
     "Provides macros for duplication of code with variable substitution")
    (description
     "This package provides macros for duplication of code with variable
substitution.")
    (license (list license:expat license:asl2.0))))

(define-public rust-duplicate-macrotest-1
  (package
    (name "rust-duplicate-macrotest")
    (version "1.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "duplicate_macrotest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15p4d596vknjx5vba86pa08aci7grl7nsxqp92gqxfj5mh5nwz9a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-diff" ,rust-diff-0.1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-toml" ,rust-toml-0.8))))
    (home-page "https://github.com/emoun/duplicate_macrotest")
    (synopsis
     "Fork of the macrotest crate specifically to test the duplicate crate")
    (description
     "This package provides a fork of the macrotest crate specifically to test
the duplicate crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-dwrote-0.11
  (package
    (name "rust-dwrote")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dwrote" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z85pyzac4zpap94czx7nkn1hys64n95ddlnpar34djsa84jf63h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-wio" ,rust-wio-0.2))))
    (home-page "https://github.com/servo/dwrote-rs")
    (synopsis "Lightweight binding to DirectWrite")
    (description
     "This package provides lightweight binding to DirectWrite.")
    (license license:mpl2.0)))

(define-public rust-dyn-clone-1
  (package
    (name "rust-dyn-clone")
    (version "1.0.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "dyn-clone" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09cig7dgg6jnqa10p4233nd8wllbjf4ffsw7wj0m4lwa5w3z0vhd"))))
    (arguments
     `(#:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (build-system cargo-build-system)
    (home-page "https://crates.io/crates/dyn-clone")
    (synopsis "Clone trait that is object-safe")
    (description "This package provides a clone trait that is object-safe.")
    (license (list license:expat license:asl2.0))))

(define-public rust-easy-cast-0.5
  (package
    (name "rust-easy-cast")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "easy-cast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mjhjxibj228bzs817rwaqdicxmln6dqqffabrjn5j1fd4v2g1bj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libm" ,rust-libm-0.2))))
    (home-page "https://github.com/kas-gui/easy-cast")
    (synopsis "Type conversions which are expected to succeed")
    (description "This library is written to make numeric type conversions
easy.")
    (license license:asl2.0)))

(define-public rust-easy-cast-0.4
  (package
    (inherit rust-easy-cast-0.5)
    (name "rust-easy-cast")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "easy-cast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13ilmaplp2s4vw1vjh4pwbzk7jdxrn0kpf0rk5sli0s1ikp05lab"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-libm" ,rust-libm-0.2))))))

(define-public rust-easy-parallel-3
  (package
    (name "rust-easy-parallel")
    (version "3.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "easy-parallel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g12xq122hy170pprldvgmpml0zz1mn9n4hq5c6ly3pnmsqbkyra"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/stjepang/easy-parallel")
    (synopsis "Run closures in parallel")
    (description
     "This crate provides a simple primitive for spawning threads in bulk and
waiting for them to complete.  Threads are allowed to borrow local variables
from the main thread.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ecb-0.1
  (package
    (name "rust-ecb")
    (version "0.1.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ecb" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1iw1i0mwkvg3599mlw24iibid6i6zv3a3jhghm2j3v0sbfbzm2qs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cipher" ,rust-cipher-0.4))
       #:cargo-development-inputs
       (("rust-aes" ,rust-aes-0.8)
        ("rust-cipher" ,rust-cipher-0.4)
        ("rust-hex-literal" ,rust-hex-literal-0.3))))
    (home-page "https://github.com/magic-akari/ecb")
    (synopsis "Electronic Codebook (ECB) block cipher mode of operation")
    (description "Electronic Codebook (ECB) block cipher mode of operation")
    (license license:expat)))

(define-public rust-edit-0.1
  (package
    (name "rust-edit")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "edit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02dan6bg9pcj42ny48g8fq9f76w30c826n4gihy1d1s7fq78cr7k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-shell-words" ,rust-shell-words-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-which" ,rust-which-4))))
    (home-page "https://github.com/milkey-mouse/edit")
    (synopsis "Open a file in the default text editor")
    (description
     "This package provides functions to open a file in the default text editor.")
    (license license:cc0)))

(define-public rust-edit-distance-2
  (package
    (name "rust-edit-distance")
    (version "2.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "edit-distance" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "15vkx4haqr6ldgpmamb38h30v57clpx6klfzanhhk303ggl9gx73"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/febeling/edit-distance")
    (synopsis "Levenshtein edit distance between strings")
    (description
     "Levenshtein edit distance between strings, a measure for similarity.")
    (license license:asl2.0)))

(define-public rust-editdistancek-1
  (package
    (name "rust-editdistancek")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "editdistancek" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04r6lfq9sfz3wqhqm6fzfcqbj8w16y8bh0x6kzkgkimislixy0iy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-levenshtein" ,rust-levenshtein-1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-triple-accel" ,rust-triple-accel-0.4))))
    (home-page "https://github.com/nkkarpov/editdistancek")
    (synopsis "Fast algorithm for computing edit distance")
    (description
     "This crate provides fast algorithm for computing edit distance.")
    (license license:expat)))

(define-public rust-ego-tree-0.6
  (package
    (name "rust-ego-tree")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ego-tree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hincmpradjn146d4as5yj9c8k5l97wvxfyhf3qzra84mhabp80j"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/programble/ego-tree")
    (synopsis "Vec-backed ID-tree")
    (description "Ego Tree provides a vec-backed ID-tree.")
    (license license:isc)))

(define-public rust-either-1
  (package
    (name "rust-either")
    (version "1.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "either" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w2c1mybrd7vljyxk77y9f4w9dyjrmp3yp82mk7bcm8848fazcb0"))))
    (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/rayon-rs/either")
    (synopsis
     "Enum @code{Either} with variants @code{Left} and @code{Right}")
    (description
     "The enum @code{Either} with variants @code{Left} and
@code{Right} is a general purpose sum type with two cases.")
    (license (list license:expat license:asl2.0))))

(define-public rust-elain-0.3
  (package
    (name "rust-elain")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "elain" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ym7gc1wbr1ynvjhcxifjadk51bbmg5qdsf2q7r0bvvyapgrp8vb"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/elain/latest/elain/")
    (synopsis "Set a type's minimum alignment with const generics")
    (description "Set a type's minimum alignment with const generics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-elf-0.0.10
  (package
    (name "rust-elf")
    (version "0.0.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "elf" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1xcpf7jdmrl7rdmd6009grahvgp3k695h5x4cadrpr70vcaxwha8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-0.5))))
    (home-page "https://github.com/cole14/rust-elf/")
    (synopsis "Library for parsing ELF files")
    (description
     "This package provides a pure-Rust library for parsing ELF files.")
    (license (list license:expat license:asl2.0))))

(define-public rust-emacs-0.19
  (package
    (name "rust-emacs")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "emacs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "133ip19m1nq8krf04klh1jpm833wpw6kdy2jksgylbw4xcp3yxws"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-ctor" ,rust-ctor-0.1)
        ("rust-emacs-macros" ,rust-emacs-macros-0.17)
        ("rust-emacs-module" ,rust-emacs-module-0.18)
        ("rust-failure-derive" ,rust-failure-derive-0.1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-thiserror" ,rust-thiserror-1))))
    (inputs
     (list clang))
    (home-page "https://github.com/ubolonton/emacs-module-rs")
    (synopsis "Library for creating Emacs's dynamic modules")
    (description
     "This crate provides a Rust library for creating Emacs' dynamic modules.")
    (license license:bsd-3)))

(define-public rust-emacs-0.18
  (package
    (inherit rust-emacs-0.19)
    (name "rust-emacs")
    (version "0.18.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "emacs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0r860i73b2680i2fhdl2l1wwvvmf2zksncpckgkksdcx310ak5v7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-ctor" ,rust-ctor-0.1)
        ("rust-emacs-macros" ,rust-emacs-macros-0.17)
        ("rust-emacs-module" ,rust-emacs-module-0.18)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-failure-derive" ,rust-failure-derive-0.1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-emacs-0.11
  (package (inherit rust-emacs-0.18)
    (name "rust-emacs")
    (version "0.11.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "emacs" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1xn6nr8m3p24irlmv3i7c9n95yb10qc6aikwqv99qlmhbky5x0z7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ctor" ,rust-ctor-0.1)
        ("rust-emacs-macros" ,rust-emacs-macros-0.11)
        ("rust-emacs-module" ,rust-emacs-module-0.10)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-failure-derive" ,rust-failure-derive-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-emacs-macros-0.17
  (package
    (name "rust-emacs-macros")
    (version "0.17.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "emacs-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0qg1dcn5acbirq617qq2fgg9adswif2dnr292s3qnq62wzgnyrb9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-darling" ,rust-darling-0.10)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/ubolonton/emacs-module-rs")
    (synopsis "Proc macros for Emacs modules")
    (description "This package provides proc macros for Emacs modules.")
    (license license:bsd-3)))

(define-public rust-emacs-macros-0.11
  (package (inherit rust-emacs-macros-0.17)
    (name "rust-emacs-macros")
    (version "0.11.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "emacs-macros" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0390y8vafxdi334hhgrzvcqjq3n5ckcmvilqcfp8vajjq8irrly6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-darling" ,rust-darling-0.9)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-emacs-module-0.18
  (package
    (name "rust-emacs-module")
    (version "0.18.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "emacs_module" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1ypjyyv2ca3vza4sia91ckxamgfk63yd8frkvg3d4ph4fk4pn1mk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.59))))
    (inputs
     (list clang))
    (home-page "https://github.com/ubolonton/emacs-module-rs")
    (synopsis "Raw FFI for emacs-module")
    (description "This module provides a high-level binding to emacs-module:
Emacs' support for dynamic modules.")
    (license license:bsd-3)))

(define-public rust-emacs-module-0.10
  (package
    (inherit rust-emacs-module-0.18)
    (name "rust-emacs-module")
    (version "0.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "emacs_module" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1gf9lz735xbkyir53dyv362drfx3nin5an5cx39kd8q8kjjwix5g"))
        (modules '((guix build utils)))
        (snippet
         ;; Force a newer version of bindgen.
         '(begin (substitute* "Cargo.toml"
                   (("0\\.48\\.1") "0.59"))))))
    (arguments
     `(#:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.59))))))

(define-public rust-emacs-org-link-parser-0.1
  (package
    (name "rust-emacs-org-link-parser")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "emacs-org-link-parser" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0vvkl6wbgr1pc6abii2yra0saw0cca1wqm5sxflcmz1w47wrj7gx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags       ; Skip the doctests.
       '("--release" "--lib" "--bins" "--tests")))
    (home-page "https://github.com/lily-mosquitoes/emacs-org-link-parser")
    (synopsis "Library for parsing Emacs Org-mode hyperlinks from a string")
    (description "Library for parsing Emacs Org-mode hyperlinks from a string.")
    (license license:gpl3+)))

(define-public rust-email-0.0.20
  (package
    (name "rust-email")
    (version "0.0.20")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "email" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r12byj69x6bkq0qn1zvi103n1pg5k3w8zym2dgich82pd8rlm4i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.9)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-encoding" ,rust-encoding-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-time" ,rust-time-0.1)
        ("rust-version-check" ,rust-version-check-0.1))))
    (home-page "https://github.com/niax/rust-email")
    (synopsis "Implementation of RFC 5322 email messages")
    (description
     "This crate provides an implementation of RFC 5322 email messages.")
    (license license:expat)))

(define-public rust-embedded-io-0.6
  (package
    (name "rust-embedded-io")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "embedded-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v901xykajh3zffn6x4cnn4fhgfw3c8qpjwbsk6gai3gaccg3l7d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-defmt" ,rust-defmt-0.3))))
    (home-page "https://github.com/rust-embedded/embedded-hal")
    (synopsis "Embedded IO traits")
    (description "This package provides embedded IO traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-embedded-io-0.4
  (package
    (inherit rust-embedded-io-0.6)
    (name "rust-embedded-io")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "embedded-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v9wrc5nsgaaady7i3ya394sik5251j0iq5rls7mrx7fv696h6pg"))))
    (arguments
     `(#:cargo-inputs (("rust-defmt" ,rust-defmt-0.3)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-eml-parser-0.1
  (package
    (name "rust-eml-parser")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "eml-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bhgx1i952g2v7w0icnqkylvhfiyb2am2mbw89v8zq0jz0aqvnx7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=parser::tests::test_parse_phishing_emails"
                            "--skip=parser::tests::test_parse_rfc2047")
       #:cargo-inputs (("rust-regex" ,rust-regex-1)
                       ("rust-rfc2047-decoder" ,rust-rfc2047-decoder-1))))
    (home-page "https://github.com/aeshirey/EmlParser/")
    (synopsis "Library for parsing .eml files.")
    (description "This package provides a library for parsing .eml files.")
    (license license:asl2.0)))

(define-public rust-emojis-0.5
  (package
    (name "rust-emojis")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "emojis" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pdrhzlx53ksb41dx3qjl6qg9nj711vj28r8d92pv0lij5sbq1rl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-phf" ,rust-phf-0.11))))
    (home-page "https://github.com/rossmacarthur/emojis")
    (synopsis "Lookup emoji in O(1) time")
    (description
     "Lookup emoji in O(1) time, access metadata and @code{GitHub} shortcodes,
iterate over all emoji, and more.")
    (license (list license:expat license:asl2.0))))

(define-public rust-empfindung-0.2
  (package
    (name "rust-empfindung")
    (version "0.2.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "empfindung" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pxh4r196qfv1y1qlp9fn210sj75whaqa61fdasjd9ml6bn9bw4a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lab" ,rust-lab-0.11)
        ("rust-rgb" ,rust-rgb-0.8))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-lab" ,rust-lab-0.11)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-rgb" ,rust-rgb-0.8))))
    (home-page "https://github.com/mina86/empfindung")
    (synopsis "Rust implementation of the CIEDE2000 colour difference")
    (description
     "Empfindung is a pure-Rust implementation of the CIEDE2000 colour
difference.")
    (license license:expat)))

(define-public rust-ena-0.14
  (package
    (name "rust-ena")
    (version "0.14.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ena" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m9a5hqk6qn5sqnrc40b55yr97drkfdzd0jj863ksqff8gfqn91x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-dogged" ,rust-dogged-0.2)
        ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/rust-lang/ena")
    (synopsis "Union-find, congruence closure, and other unification code")
    (description "This package provides an implementation of union-find /
congruence-closure in Rust.  It was extracted from rustc for independent
experimentation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ena-0.13
  (package
    (inherit rust-ena-0.14)
    (name "rust-ena")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ena" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dkggq0qwv140y2kjfd4spp77zi3v7vnpm4bfy7s7r4cla7xqi49"))))))

(define-public rust-encode-unicode-0.3
  (package
    (name "rust-encode-unicode")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encode_unicode" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "07w3vzrhxh9lpjgsg2y5bwzfar2aq35mdznvcp3zjl0ssj7d4mx3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ascii" ,rust-ascii-1)
        ("rust-clippy" ,rust-clippy-0.0.302))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/tormol/encode_unicode")
    (synopsis
     "UTF-8 and UTF-16 support for char, u8 and u16")
    (description
     "UTF-8 and UTF-16 character types, iterators and related methods for
char, u8 and u16.")
    (license (list license:expat license:asl2.0))))

(define-public rust-encoding-0.2
  (package
    (name "rust-encoding")
    (version "0.2.33")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1v1ndmkarh9z3n5hk53da4z56hgk9wa5kcsm7cnx345raqw983bb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-index-japanese"
         ,rust-encoding-index-japanese-1.20141219)
        ("rust-encoding-index-korean"
         ,rust-encoding-index-korean-1.20141219)
        ("rust-encoding-index-simpchinese"
         ,rust-encoding-index-simpchinese-1.20141219)
        ("rust-encoding-index-singlebyte"
         ,rust-encoding-index-singlebyte-1.20141219)
        ("rust-encoding-index-tradchinese"
         ,rust-encoding-index-tradchinese-1.20141219))
       #:cargo-development-inputs
       (("rust-getopts" ,rust-getopts-0.2))))
    (home-page
     "https://github.com/lifthrasiir/rust-encoding")
    (synopsis "Character encoding support for Rust")
    (description
     "Character encoding support for Rust.")
    (license license:expat)))

(define-public rust-encoding-index-japanese-1.20141219
  (package
    (name "rust-encoding-index-japanese")
    (version "1.20141219.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding-index-japanese" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "148c1lmd640p1d7fzk0nv7892mbyavvwddgqvcsm78798bzv5s04"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-index-tests" ,rust-encoding-index-tests-0.1))))
    (home-page "https://github.com/lifthrasiir/rust-encoding")
    (synopsis "Index tables for Japanese character encodings")
    (description
     "Index tables for Japanese character encodings.")
    (license license:cc0)))

(define-public rust-encoding-index-korean-1.20141219
  (package
    (name "rust-encoding-index-korean")
    (version "1.20141219.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding-index-korean" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10cxabp5ppygbq4y6y680856zl9zjvq7ahpiw8zj3fmwwsw3zhsd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-index-tests" ,rust-encoding-index-tests-0.1))))
    (home-page "https://github.com/lifthrasiir/rust-encoding")
    (synopsis "Index tables for Korean character encodings")
    (description
     "Index tables for Korean character encodings.")
    (license license:cc0)))

(define-public rust-encoding-index-simpchinese-1.20141219
  (package
    (name "rust-encoding-index-simpchinese")
    (version "1.20141219.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding-index-simpchinese" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1xria2i7mc5dqdrpqxasdbxv1qx46jjbm53if3y1i4cvj2a72ynq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-index-tests" ,rust-encoding-index-tests-0.1))))
    (home-page "https://github.com/lifthrasiir/rust-encoding")
    (synopsis "Index tables for simplified Chinese character encodings")
    (description
     "Index tables for simplified Chinese character encodings.")
    (license license:cc0)))

(define-public rust-encoding-index-singlebyte-1.20141219
  (package
    (name "rust-encoding-index-singlebyte")
    (version "1.20141219.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding-index-singlebyte" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0jp85bz2pprzvg9m95w4q0vibh67b6w3bx35lafay95jzyndal9k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-index-tests" ,rust-encoding-index-tests-0.1))))
    (home-page "https://github.com/lifthrasiir/rust-encoding")
    (synopsis "Index tables for various single-byte character encodings")
    (description
     "Index tables for various single-byte character encodings.")
    (license license:cc0)))

(define-public rust-encoding-index-tests-0.1
  (package
    (name "rust-encoding-index-tests")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding_index_tests" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0s85y091gl17ixass49bzaivng7w8p82p6nyvz2r3my9w4mxhim2"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/lifthrasiir/rust-encoding")
    (synopsis
     "Macros used to test index tables for character encodings")
    (description
     "Helper macros used to test index tables for character
encodings.")
    (license license:cc0)))

(define-public rust-encoding-index-tradchinese-1.20141219
  (package
    (name "rust-encoding-index-tradchinese")
    (version "1.20141219.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding-index-tradchinese" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "060ci4iz6xfvzk38syfbjvs7pix5hch3mvxkksswmqwcd3aj03px"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-index-tests" ,rust-encoding-index-tests-0.1))))
    (home-page "https://github.com/lifthrasiir/rust-encoding")
    (synopsis "Index tables for traditional Chinese character encodings")
    (description
     "Index tables for traditional Chinese character encodings.")
    (license license:cc0)))

(define-public rust-encoding-rs-0.8
  (package
    (name "rust-encoding-rs")
    (version "0.8.35")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wv64xdrr9v37rqqdjsyb8l8wzlcbab80ryxhrszvnj59wy0y0vm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-any-all-workaround" ,rust-any-all-workaround-0.1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://docs.rs/encoding_rs/")
    (synopsis "Gecko-oriented implementation of the Encoding Standard")
    (description
     "This package provides a Gecko-oriented implementation of the Encoding
Standard.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-encoding-rs-io-0.1
  (package
    (name "rust-encoding-rs-io")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "encoding_rs_io" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10ra4l688cdadd8h1lsbahld1zbywnnqv68366mbhamn3xjwbhqw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-encoding-rs" ,rust-encoding-rs-0.8))))
    (home-page "https://github.com/BurntSushi/encoding_rs_io")
    (synopsis "Streaming transcoding for encoding_rs")
    (description
     "Streaming transcoding for encoding_rs.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-endi-1
  (package
    (name "rust-endi")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "endi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gxp388g2zzbncp3rdn60wxkr49xbhhx94nl9p4a6c41w4ma7n53"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/zeenix/endi")
    (synopsis "Simple endian-handling library")
    (description "This package provides a simple endian-handling library.")
    (license license:expat)))

(define-public rust-endian-type-0.1
  (package
    (name "rust-endian-type")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "endian-type" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bbh88zaig1jfqrm7w3gx0pz81kw2jakk3055vbgapw3dmk08ky3"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/Lolirofle/endian-type")
    (synopsis "Type safe wrappers for types with a defined byte order")
    (description
     "This crates provides type safe wrappers for types with a defined byte
order.")
    (license license:expat)))

(define-public rust-enquote-1
  (package
    (name "rust-enquote")
    (version "1.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "enquote" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0clrjghlfkkb7sndabs5wch0fz2nif6nj4b117s8kqxx3nqnrhq6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/reujab/enquote")
    (synopsis "Rust library that quotes, unquotes, and unescapes strings")
    (description "This package provides a Rust library quotes, unquotes, and
unescapes strings.")
    (license license:unlicense)))

(define-public rust-entities-1
  (package
    (name "rust-entities")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "entities" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jnpr0zvj97wm9pnh7fnl74rzaar39hhg65p03cm08bqqgj0lcmm"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/p-jackson/entities")
    (synopsis "Raw data needed to convert to and from HTML entities")
    (description "This package provides the raw data needed to convert to and
from HTML entities.")
    (license license:expat)))

(define-public rust-enum-as-inner-0.6
  (package
    (name "rust-enum-as-inner")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-as-inner" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g3cywc65d9w974l2xy86ij13njss3qjc7b0kfbzbws9qrjs5rm1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.5)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/bluejekyll/enum-as-inner")
    (synopsis "Proc-macro for deriving inner field accessor functions on enums")
    (description "This package provides a proc-macro for deriving inner field
accessor functions on enums.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enum-as-inner-0.5
  (package
    (inherit rust-enum-as-inner-0.6)
    (name "rust-enum-as-inner")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-as-inner" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05m1frlkgrikja714zxb97i00rhj36zlifiwiby7ymkx0jx0nwn9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-enum-as-inner-0.3
  (package
    (inherit rust-enum-as-inner-0.5)
    (name "rust-enum-as-inner")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-as-inner" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1m2l8zh0yd7i95qkyha86ca8m0bnhfimv38dr3n4p41yh6di03ap"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-enum-as-inner-0.2
  (package
    (inherit rust-enum-as-inner-0.3)
    (name "rust-enum-as-inner")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "enum-as-inner" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0zg3h7k3g1z7a9ayqy63sk302d4dg5g2h274ddv80mj4jxn2cn1x"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-enum-derive-0.1
  (package
    (name "rust-enum-derive")
    (version "0.1.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "enum_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05n8mdca3y2c8pvl1isncj52fa80wplvx28lxvwqmpzfr6lc4sj0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-custom-derive" ,rust-custom-derive-0.1))))
    (home-page "https://github.com/DanielKeep/rust-custom-derive")
    (synopsis "Macros for deriving additional functionality for enums")
    (description
     "This crate provides macros for deriving additional functionality for enums.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enum-dispatch-0.3
  (package
    (name "rust-enum-dispatch")
    (version "0.3.13")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "enum_dispatch" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1kby2jz173ggg7wk41vjsskmkdyx7749ll8lhqhv6mb5qqmww65a"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                          (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     (list
       #:tests? #f  ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs
       `(("rust-once-cell" ,rust-once-cell-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       `(("rust-custom-derive" ,rust-custom-derive-0.1)
         ("rust-enum-derive" ,rust-enum-derive-0.1)
         ("rust-rand" ,rust-rand-0.5)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-smol" ,rust-smol-1))))
    (home-page "https://gitlab.com/antonok/enum_dispatch")
    (synopsis "Faster alternative to dynamically dispatched method calls")
    (description
     "This crate transforms your trait objects into concrete compound types,
increasing their method call speed up to 10x.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enum-map-0.6
  (package
    (name "rust-enum-map")
    (version "0.6.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-map" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "166yh44izfz871f4avl10cp0l161shhsawfcl1q6slv3siamqn93"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-array-macro" ,rust-array-macro-1)
        ("rust-enum-map-derive" ,rust-enum-map-derive-0.4)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://gitlab.com/KonradBorowski/enum-map")
    (synopsis "Map with C-like enum keys represented internally as an array")
    (description
     "This package provides a map with C-like enum keys represented internally
as an array.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enum-map-derive-0.4
  (package
    (name "rust-enum-map-derive")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-map-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mg43p1x90cz604zddk9qzss077v2id04qmmbpa1i7jc637m1i75"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://gitlab.com/KonradBorowski/enum-map")
    (synopsis "Macros 1.1 implementation of #[derive(Enum)]")
    (description "This package provides a macros 1.1 implementation of
@code{#[derive(Enum)]}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enum-primitive-0.1
  (package
    (name "rust-enum-primitive")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum_primitive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "100ip2p3w1rq0clca2ai5shhvpxfipnsjncj0f9ralad5w4m2idy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.1))))
    (home-page "https://github.com/andersk/enum_primitive-rs")
    (synopsis "Macro to generate @code{num::FromPrimitive} instances for enum")
    (description
     "This package provides a macro to generate @code{num::FromPrimitive}
instances for enum.")
    (license license:expat)))

(define-public rust-enum-primitive-derive-0.2
  (package
    (name "rust-enum-primitive-derive")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-primitive-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "03ibjjx8dc4akpq8ck24qda5ix4jybz9jagfxykd0s6vxb2vjxf3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://gitlab.com/cardoe/enum-primitive-derive")
    (synopsis "Reimplementation of enum_primitive using a #[derive] macro")
    (description
     "This package provides a custom derive using procedural macros to
implement enum_primitive.")
    (license license:expat)))

(define-public rust-enumber-0.3
  (package
    (name "rust-enumber")
    (version "0.3.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "enumber" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1gxxqms1zpadyy1whq0ms1vwymz19mq197gfq53dhxnx14cig50f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/kinnison/enumber/")
    (synopsis "Provide useful impls on numerical enums")
    (description "This package provides useful impls on numerical enums.")
    (license license:bsd-3)))

(define-public rust-enumflags2-0.7
  (package
    (name "rust-enumflags2")
    (version "0.7.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "enumflags2" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0g8kmhaqxq44v76wh971biljrgaqbjc8fbyw2d1z3wsnb5zxncnj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-enumflags2-derive" ,rust-enumflags2-derive-0.7)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/meithecatte/enumflags2")
    (synopsis "Enum-based bit flags")
    (description "This package provides enum-based bit flags.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enumflags2-0.6
  (package
    (inherit rust-enumflags2-0.7)
    (name "rust-enumflags2")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enumflags2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "182xd6cxxmadx1axnz6x73d12pzgwkc712zq2lxd4z1k48lxij43"))))
    (arguments
     `(#:cargo-inputs
       (("rust-enumflags2-derive" ,rust-enumflags2-derive-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))))

(define-public rust-enumflags2-derive-0.7
  (package
    (name "rust-enumflags2-derive")
    (version "0.7.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "enumflags2_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1s29iqx3gj5l5s19a22lpn0nljhp5l9smqac99126n2qhfhlh3fy"))))
    (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/meithecatte/enumflags2")
    (synopsis "Internal crate for enumflags2")
    (description
     "This package provides internal implementations for enumflags2.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enumflags2-derive-0.6
  (package
    (inherit rust-enumflags2-derive-0.7)
    (name "rust-enumflags2-derive")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enumflags2_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kkcwi4n76bi1c16ms00dyk4d393gdf29kpr4k9zsn5z7m7fjvll"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-enum-ordinalize-4
  (package
    (name "rust-enum-ordinalize")
    (version "4.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-ordinalize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1max64z9giii61qcwl56rndd7pakaylkaij5zqbbbvjl9vxdr87y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-enum-ordinalize-derive" ,rust-enum-ordinalize-derive-4))))
    (home-page "https://magiclen.org/enum-ordinalize")
    (synopsis "Construction of enums from an ordinal value")
    (description
     "This library enables enums to not only obtain the ordinal values of their
variants but also allows for the construction of enums from an ordinal value.")
    (license license:expat)))

(define-public rust-enum-ordinalize-derive-4
  (package
    (name "rust-enum-ordinalize-derive")
    (version "4.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enum-ordinalize-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zy53fabazimwv5cl0366k834ybixzl84lxj9mfavbnlfn532a0d"))))
    (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://magiclen.org/enum-ordinalize")
    (synopsis "Macro that enables construction of enums from an ordinal value")
    (description
     "This crate provides a procedural macro that enables enums to not only
obtain the ordinal values of their variants but also allows for the
construction of enums from an ordinal value.")
    (license license:expat)))

(define-public rust-enumset-1
  (package
    (name "rust-enumset")
    (version "1.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "enumset" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "14vjn774rvvs2ac2ykdld3bq8w657wy2f6hcbzpmqxjqjl24nynh"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-enumset-derive" ,rust-enumset-derive-0.10)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/Lymia/enumset")
    (synopsis "Library for creating compact sets of enums")
    (description "This package provides a Rust library for creating
compact sets of enums.")
    (license (list license:expat license:asl2.0))))

(define-public rust-enumset-derive-0.10
  (package
    (name "rust-enumset-derive")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "enumset_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hp25sx7p60ms4xkdkz7x36byd96dhpq7hdxcr4k332x6i6b5hsr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.20)
                       ("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/Lymia/enumset")
    (synopsis "Internal helper crate for enumset")
    (description
     "This package provides an internal helper crate for @code{rust-enumset}.
It is not a public API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-env-filter-0.1
  (package
    (name "rust-env-filter")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_filter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l4p6f845cylripc3zkxa0lklk8rn2q86fqm522p6l2cknjhavhq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/rust-cli/env_logger")
    (synopsis "Filter log events using environment variables")
    (description "Filter log events using environment variables.")
    (license (list license:expat license:asl2.0))))

(define-public rust-env-home-0.1
  (package
    (name "rust-env-home")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_home" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zn08mk95rjh97831rky1n944k024qrwjhbcgb0xv9zhrh94xy67"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/notpeter/env-home")
    (synopsis "Get the user home directory in a cross-platform way")
    (description
     "This package gets the user home directory in a cross-platform way.")
    (license (list license:expat license:asl2.0))))

(define-public rust-env-logger-0.11
  (package
    (name "rust-env-logger")
    (version "0.11.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q30cqb2dfs3qrs0s30qdmqwi7n2gz4pniwd8a9gvhygwgcf7bnw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-env-filter" ,rust-env-filter-0.1)
                       ("rust-humantime" ,rust-humantime-2)
                       ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/rust-cli/env_logger")
    (synopsis "Logging implementation for @code{log}")
    (description
     "This package provides a logging implementation for @code{log} which
is configured via an environment variable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-env-logger-0.10
  (package
    (inherit rust-env-logger-0.11)
    (name "rust-env-logger")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1005v71kay9kbz1d5907l0y7vh9qn2fqsp2yfgb8bjvin6m0bm2c"))))
    (arguments
     `(#:cargo-inputs
       (("rust-humantime" ,rust-humantime-2)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-env-logger-0.9
  (package
    (inherit rust-env-logger-0.10)
    (name "rust-env-logger")
    (version "0.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rq0kqpa8my6i1qcyhfqrn1g9xr5fbkwwbd42nqvlzn9qibncbm1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-env-logger-0.8
  (package
    (inherit rust-env-logger-0.9)
    (name "rust-env-logger")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qzw8g11dbdfi7ixm44ldykwcqsxqkh8vx5cgpd88zmclgz8g4d1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-env-logger-0.7
  (package
    (inherit rust-env-logger-0.8)
    (name "rust-env-logger")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0djx8h8xfib43g5w94r1m1mkky5spcw4wblzgnhiyg5vnfxknls4"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-humantime" ,rust-humantime-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-env-logger-0.6
  (package
    (inherit rust-env-logger-0.7)
    (name "rust-env-logger")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1lx2s5nk96xx4i3m4zc4ghqgi8kb07dsnyiv8jk2clhax42dxz5a"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-humantime" ,rust-humantime-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-env-logger-0.5
  (package
    (inherit rust-env-logger-0.7)
    (name "rust-env-logger")
    (version "0.5.13")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "env_logger" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0f0c4i4c65jh8lci0afl5yg74ac0lbnpxcp81chj114zwg9a9c0m"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-humantime" ,rust-humantime-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-env-logger-0.4
  (package
    (inherit rust-env-logger-0.7)
    (name "rust-env-logger")
    (version "0.4.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "env_logger" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0nydz2lidsvx9gs0v2zcz68rzqx8in7fzmiprgsrhqh17vkj3prx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.3)
        ("rust-regex" ,rust-regex-0.2))))))

(define-public rust-env-logger-0.3
  (package
    (inherit rust-env-logger-0.7)
    (name "rust-env-logger")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm"))))
    (arguments
     `(#:skip-build? #t     ; Cannot find dependent crates.
       #:cargo-inputs
       (("rust-regex" ,rust-regex-0.1)
        ("rust-log" ,rust-log-0.3))))))

(define-public rust-env-proxy-0.4
  (package
    (name "rust-env-proxy")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "env_proxy" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1qabqhgybx1jzh6dmpx7kssciw312i8aa6al7fj0d12k32z1jl1s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4) ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/inejge/env_proxy")
    (synopsis "Proxy URL from the environment variables")
    (description
     "This package provides a way to determinate proxy parameters for a URL
from the environment.")
    (license (list license:expat license:asl2.0))))

(define-public rust-environment-0.1
  (package
    (name "rust-environment")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "environment" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vh32mcxf3z8xaibwv751zj14d08nh7iwk1vqdj90rkq17i18jqz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f)) ;; 3/6 tests fail due to missing file
    (home-page "https://github.com/Freyskeyd/environment")
    (synopsis "Helper to deal with environment variables")
    (description "This package provides helper to deal with environment
variables.")
    (license (list license:expat license:asl2.0))))

(define-public rust-envy-0.4
  (package
    (name "rust-envy")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "envy" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0rar459p7pl19v6pbx98q3hi2hxfl8q1ndxxw5d4zd9cgway0irz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/softprops/envy")
    (synopsis "Deserialize environment variables into Rust structs")
    (description
     "This package provides access to typesafe config structs
deserialized from environment variables.")
     (license license:expat)))

(define-public rust-equivalent-1
  (package
    (name "rust-equivalent")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "equivalent" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1malmx5f4lkfvqasz319lq6gb3ddg19yzf9s8cykfsgzdmyq0hsl"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/cuviper/equivalent")
    (synopsis "Traits for key comparison in maps")
    (description "Traits for key comparison in maps.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-erased-serde-0.4
  (package
    (name "rust-erased-serde")
    (version "0.4.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "erased-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13dirfj9972nvk05b20w3xyn3xp1j6qyfp9avhksnkxbcnfkiqi4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-typeid" ,rust-typeid-1))
       #:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-serde-cbor" ,rust-serde-cbor-0.11)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/erased-serde")
    (synopsis "Type-erased Serialize and Serializer traits")
    (description
     "Type-erased Serialize and Serializer traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-erased-serde-0.3
  (package
    (inherit rust-erased-serde-0.4)
    (name "rust-erased-serde")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "erased-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0v5jyid1v8irf2n2875iwhm80cw8x75gfkdh7qvzxrymz5s8j4vc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-cbor" ,rust-serde-cbor-0.11)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-errno-0.3
  (package
    (name "rust-errno")
    (version "0.3.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "errno" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0pgblicz1kjz9wa9m0sghkhh2zw1fhq1mxzj7ndjm746kg5m5n1k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://github.com/lambda-fairy/rust-errno")
    (synopsis "Cross-platform interface to the @code{errno} variable")
    (description
     "This package provides a cross-platform interface to the
@code{errno} variable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-errno-0.2
  (package
    (inherit rust-errno-0.3)
    (name "rust-errno")
    (version "0.2.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "errno" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "18cnqgk8r6lq1n5cfy3bryiyz9zkqr10dxj49sa3fkzfamih8fgn"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-errno-dragonfly" ,rust-errno-dragonfly-0.1)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-errno-dragonfly-0.1
  (package
    (name "rust-errno-dragonfly")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "errno-dragonfly" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1grrmcm6q8512hkq5yzch3yv8wafflc2apbmsaabiyk44yqz2s5a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/mneumann/errno-dragonfly-rs")
    (synopsis "Exposes errno functionality to stable Rust on DragonFlyBSD")
    (description
     "Exposes errno functionality to stable Rust on DragonFlyBSD.")
    (license license:expat)))

(define-public rust-error-chain-0.12
  (package
    (name "rust-error-chain")
    (version "0.12.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "error-chain" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1z6y5isg0il93jp287sv7pn10i4wrkik2cpyk376wl61rawhcbrd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/rust-lang-nursery/error-chain")
    (synopsis "Yet another error boilerplate library")
    (description
     "Yet another error boilerplate library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-error-chain-0.11
  (package
    (inherit rust-error-chain-0.12)
    (name "rust-error-chain")
    (version "0.11.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "error-chain" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1wykkr0naizbkwxjwia1rch8xhwvgij9khqvjzs07mrmqifislgz"))))
    (arguments
     `(#:tests? #f      ; Not all test files included.
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3))))))

(define-public rust-error-chain-0.10
  (package
    (inherit rust-error-chain-0.11)
    (name "rust-error-chain")
    (version "0.10.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "error-chain" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1y1gyj9g5c3k1nzkvxrgry8v9k86kcc585mczrm3qz019s35shyr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3))))))

(define-public rust-error-code-3
  (package
    (name "rust-error-code")
    (version "3.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "error-code" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bx9hw3pahzqym8jvb0ln4qsabnysgn98mikyh2afhk9rif31nd5"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/DoumanAsh/error-code")
    (synopsis "Alternative @code{Error} for Rust")
    (description
     "This package provides a simplified @code{Error} which works in
@code{no_std} environment.")
    (license license:boost1.0)))

(define-public rust-error-code-2
  (package
    (inherit rust-error-code-3)
    (name "rust-error-code")
    (version "2.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "error-code" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08baxlf8qz01lgjsdbfhs193r9y1nlc566s5xvzyf4dzwy8qkwb4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-str-buf" ,rust-str-buf-1))))))

(define-public rust-escape8259-0.5
  (package
    (name "rust-escape8259")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "escape8259" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1in2zrdak794x8v11lkrrgyqxjjqbijvg0yfn2paay0rb9xxv4jn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rustversion" ,rust-rustversion-1))))
    (home-page "https://github.com/ericseppanen/escape8259")
    (synopsis "RFC8259-compliant string escaping and un-escaping")
    (description "RFC8259-compliant string escaping and un-escaping.")
    (license license:expat)))

(define-public rust-escaper-0.1
  (package
    (name "rust-escaper")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "escaper" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rhn3ipb5c3zns4wakclilfqzbmax6pwx7l367dipfj9fdxvjgm5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-entities" ,rust-entities-1))
       #:cargo-development-inputs
       (("rust-num" ,rust-num-0.4)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/dignifiedquire/rust-escaper")
    (synopsis "Library for HTML entity encoding and decoding")
    (description "This package provides a library for HTML entity encoding and
decoding.")
    (license (list license:asl2.0 license:expat license:mpl2.0))))

(define-public rust-escargot-0.5
  (package
    (name "rust-escargot")
    (version "0.5.13")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "escargot" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "127drlrdvp235l528cirryvnfg0jmldzssccxwpkid8ng8car8q5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         ;; Not all files included.
         "--skip=src/build.rs - build::CargoBuild::run (line 283)"
         "--skip=src/run.rs - run::CargoRun (line 23)"
         "--skip=src/run.rs - run::CargoRun::command (line 116)"
         "--skip=src/run.rs - run::CargoRun::path (line 65)")
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-automod" ,rust-automod-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/crate-ci/escargot")
    (synopsis "Cargo API written in Paris")
    (description "Cargo API written in Paris.")
    (license (list license:expat license:asl2.0))))

(define-public rust-etcetera-0.8
  (package
    (name "rust-etcetera")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "etcetera" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hxrsn75dirbjhwgkdkh0pnpqrnq17ypyhjpjaypgax1hd91nv8k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/lunacookies/etcetera")
    (synopsis
     "Library for obtaining configuration, data, cache, & other directories")
    (description
     "This is a Rust library that allows you to determine the locations of
configuration, data, cache & other files for your application.  Existing Rust
libraries generally do not give you a choice in terms of which standards/conventions
they follow.  Etcetera, on the other hand, gives you the choice.")
    (license (list license:expat license:asl2.0))))

(define-public rust-etherparse-0.13
  (package
    (name "rust-etherparse")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "etherparse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "146rcbnhlpcbl6c6csfhvz0227wbiwhk13md6acq8211b7m94wl2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/JulianSchmid/etherparse")
    (synopsis "Library for parsing & writing a bunch of packet based protocols")
    (description
     "This package provides a library for parsing & writing a bunch of packet
based protocols (@code{EthernetII}, IPv4, IPv6, UDP, TCP ...).")
    (license (list license:expat license:asl2.0))))

(define-public rust-etherparse-0.9
  (package
    (inherit rust-etherparse-0.13)
    (name "rust-etherparse")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "etherparse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01s86nj0k663mgxpj3r7y5wr50l5c3aq0pm4rpzyb7hz50i0k8ig"))))
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-proptest" ,rust-proptest-0.9))))))

(define-public rust-ethnum-1
  (package
    (name "rust-ethnum")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ethnum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b68ngvisb0d40vc6h30zlhghbb3mc8wlxjbf8gnmavk1dca435r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ethnum-intrinsics" ,rust-ethnum-intrinsics-1)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/nlordell/ethnum-rs")
    (synopsis "256-bit integer implementation")
    (description "This package contains a 256-bit integer implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ethnum-intrinsics-1
  (package
    (name "rust-ethnum-intrinsics")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ethnum-intrinsics" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qvb1r3vmnk5nplz6x1014rn6b9nfnig2qmlj8hi3jpq75j8cgh9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; error: unterminated attribute group
       #:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (inputs (list clang))
    (home-page "https://github.com/nlordell/ethnum-rs")
    (synopsis "LLVM generated 256-bit integer intrinsics")
    (description
     "This package contains LLVM generated 256-bit integer intrinsics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ethtool-0.2
  (package
    (name "rust-ethtool")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ethtool" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nivim6pzfvrnmyb0p7qv39q54vraa0z6jy0ims7gp0panih93hx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=test_dump_link_modes")
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-async-std" ,rust-async-std-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-genetlink" ,rust-genetlink-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-packet-generic" ,rust-netlink-packet-generic-0.3)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
                       ("rust-netlink-proto" ,rust-netlink-proto-0.11)
                       ("rust-netlink-sys" ,rust-netlink-sys-0.8)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://docs.rs/ethtool/latest/ethtool/")
    (synopsis "Linux Ethtool Communication Library")
    (description "Linux Ethtool Communication Library.")
    (license license:expat)))

(define-public rust-eui48-1
  (package
    (name "rust-eui48")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "eui48" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00cpf25kc3mxhqnahm0bw9xl19gr2pzc5g84dvkc4mwdbsn1hx48"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-regex" ,rust-regex-1)
                       ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://github.com/abaumhauer/eui48")
    (synopsis "Library to generate and parse IEEE EUI-48 and EUI-64")
    (description
     "This package provides a library to generate and parse IEEE EUI-48
and EUI-64, also known as MAC-48 media access control addresses.  The
IEEE claims trademarks on the names EUI-48 and EUI-64, in which EUI is an
abbreviation for Extended Unique Identifier.")
    (license (list license:expat license:asl2.0))))

(define-public rust-evdev-0.12
  (package
    (name "rust-evdev")
    (version "0.12.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "evdev" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "19qh6r1z4v8ja6qqigjbg9vckbhlycc6wkqgzfz9fcln7almaq5b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitvec" ,rust-bitvec-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-nix" ,rust-nix-0.23)
        ("rust-paste" ,rust-paste-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.10)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/emberian/evdev")
    (synopsis "Rust interface to Linux event devices")
    (description "This package provides evdev interface for Linux.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-evdev-rs-0.6
  (package
    (name "rust-evdev-rs")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "evdev-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fkdw23kjjn8an3xjpi2g74yhdfkv89ngsrkjd2cxz5n1xwxa4lq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=context_change_file"
         "--skip=context_create_with_file"
         "--skip=context_create_with_path"
         "--skip=context_grab"
         "--skip=context_set_file"
         "--skip=device_get_absinfo"
         "--skip=device_get_value"
         "--skip=device_has_property"
         "--skip=device_has_syn")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-evdev-sys" ,rust-evdev-sys-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1))))
    (native-inputs (list pkg-config))
    (inputs (list libevdev))
    (home-page "https://github.com/ndesh26/evdev-rs")
    (synopsis "Bindings to libevdev")
    (description
     "This package provides bindings to libevdev for interacting with evdev
devices.  It moves the common tasks when dealing with evdev devices into
a library and provides a library interface to the callers, thus avoiding
erroneous ioctls, etc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-evdev-sys-0.2
  (package
    (name "rust-evdev-sys")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "evdev-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vgax74wjsm22nrx6ikh8m7bj3nggf83s961i5qd85bvahmx9shl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/ndesh26/evdev-rs")
    (synopsis "Raw bindings to libevdev")
    (description
     "This package provides Raw bindings to libevdev.  High level Rust
bindings are available in the @code{evdev} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-event-listener-5
  (package
    (name "rust-event-listener")
    (version "5.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fkm6q4hjn61wl52xyqyyxai0x9w0ngrzi0wf1qsf8vhsadvwck0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-concurrent-queue" ,rust-concurrent-queue-2)
                       ("rust-loom" ,rust-loom-0.7)
                       ("rust-parking" ,rust-parking-2)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-portable-atomic" ,rust-portable-atomic-1)
                       ("rust-portable-atomic-util" ,rust-portable-atomic-util-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("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/event-listener")
    (synopsis "Notify async tasks or threads")
    (description
     "This is a synchronization primitive similar to @code{eventcounts}.
You can use this crate to turn non-blocking data structures into async or
blocking data structures.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-event-listener-4
  (package
    (inherit rust-event-listener-5)
    (name "rust-event-listener")
    (version "4.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vk4smw1vf871vi76af1zn7w69jg3zmpjddpby2qq91bkg21bck7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-parking" ,rust-parking-2)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-portable-atomic" ,rust-portable-atomic-1)
        ("rust-portable-atomic-util" ,rust-portable-atomic-util-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-waker-fn" ,rust-waker-fn-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-event-listener-3
  (package
    (inherit rust-event-listener-4)
    (name "rust-event-listener")
    (version "3.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hihkg6ihvb6p9yi7nq11di8mhd5y0iqv81ij6h0rf0fvsy7ff6r"))))
    (arguments
     `(#:cargo-inputs
       (("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-parking" ,rust-parking-2)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-portable-atomic" ,rust-portable-atomic-1)
        ("rust-portable-atomic-util" ,rust-portable-atomic-util-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-waker-fn" ,rust-waker-fn-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-event-listener-2
  (package
    (inherit rust-event-listener-4)
    (name "rust-event-listener")
    (version "2.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q4w3pndc518crld6zsqvvpy9lkzwahp2zgza9kbzmmqh9gif1h2"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-waker-fn" ,rust-waker-fn-1))))))

(define-public rust-event-listener-strategy-0.5
  (package
    (name "rust-event-listener-strategy")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener-strategy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ch5gf6knllyq12jkb5zdfag573dh44307q4pwwi2g37sc6lwgiw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-5)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs
       (("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/smol-rs/event-listener")
    (synopsis "Block or poll on event_listener")
    (description "This package provides block and poll on event_listener.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-event-listener-strategy-0.4
  (package
    (inherit rust-event-listener-strategy-0.5)
    (name "rust-event-listener-strategy")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener-strategy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lwprdjqp2ibbxhgm9khw7s7y7k4xiqj5i5yprqiks6mnrq4v3lm"))))
    (arguments
     `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-4)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs
       (("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-event-listener-strategy-0.1
  (package
    (inherit rust-event-listener-strategy-0.4)
    (name "rust-event-listener-strategy")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "event-listener-strategy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z99km9lwya36bxhvrz4rsl3nhqhhlnnx7a2gdz4nzpa6177pj8m"))))
    (arguments
     `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-3)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-1))))))

(define-public rust-exacl-0.12
  (package
    (name "rust-exacl")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "exacl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n26751wih2pq4dwij9fnb661w33hgn53wh9bnwdmkfy37g15gi2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=acl::acl_tests::test_write_acl_posix"
         "--skip=acl::acl_tests::test_write_default_acl"
         "--skip=qualifier::qualifier_tests::test_group_named"
         "--skip=qualifier::qualifier_tests::test_user_named"
         "--skip=unix::unix_tests::test_gid_to_name"
         "--skip=unix::unix_tests::test_name_to_gid"
         "--skip=unix::unix_tests::test_name_to_uid"
         "--skip=unix::unix_tests::test_uid_to_name")
       #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.69)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-ctor" ,rust-ctor-0.2)
                                   ("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (inputs (list acl))
    (home-page "https://github.com/byllyfish/exacl")
    (synopsis "Manipulate file system (ACL) on macOS, Linux, and FreeBSD")
    (description
     "This package provides functions to manipulate file system access control
lists (ACL) on @code{macOS}, Linux, and @code{FreeBSD}.")
    (license license:expat)))

(define-public rust-exacl-0.11
  (package
    (inherit rust-exacl-0.12)
    (name "rust-exacl")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "exacl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17vd67mhppnw1kbb053c4bygilbdviz53zrzm4z1cxr73hn1b5f6"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=acl::acl_tests::test_write_acl_posix"
         "--skip=acl::acl_tests::test_write_default_acl"
         "--skip=qualifier::qualifier_tests::test_group_named"
         "--skip=qualifier::qualifier_tests::test_user_named"
         "--skip=unix::unix_tests::test_gid_to_name"
         "--skip=unix::unix_tests::test_name_to_gid"
         "--skip=unix::unix_tests::test_name_to_uid"
         "--skip=unix::unix_tests::test_uid_to_name")
       #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.68)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-ctor" ,rust-ctor-0.2)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-executable-path-1
  (package
    (name "rust-executable-path")
    (version "1.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "executable-path" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0y0lhhrx9f9q1f81am3b20f8znixjcvqfg7kx220pjg3i5nmmg1y"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/casey/rust-executable-path")
    (synopsis "Get the path of a binary target's executable")
    (description "Get the path of a binary target's executable.")
    (license license:cc0)))

(define-public rust-executors-0.9
  (package
    (name "rust-executors")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "executors" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0z8gn5vcr0x1db1bvahhmby9mpr1jgzd4qfvm25mja5js3agk51a"))))
    (build-system cargo-build-system)
    (arguments
     ;; TODO: build needs metrics_printer
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-arr-macro" ,rust-arr-macro-0.1)
        ("rust-async-task" ,rust-async-task-4)
        ("rust-core-affinity" ,rust-core-affinity-0.5)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-log" ,rust-log-0.4)
        ("rust-metrics" ,rust-metrics-0.14)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-synchronoise" ,rust-synchronoise-1)
        ("rust-threadpool" ,rust-threadpool-1))))
    (home-page "https://github.com/Bathtor/rust-executors")
    (synopsis "Collection of high-performance task executors")
    (description
     "This package provides a collection of high-performance task executors.")
    (license license:expat)))

(define-public rust-exhaustigen-0.1
  (package
    (name "rust-exhaustigen")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "exhaustigen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1djym5wjcib78fxspkkal0vdq8dd1vlllk6f6858m5haf53zg23x"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/graydon/exhaustigen-rs")
    (synopsis "Exhaustive test generator")
    (description "This package provides an exhaustive test generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-exitcode-1
  (package
    (name "rust-exitcode")
    (version "1.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "exitcode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14x1pgwx86x1gfc5zqgj04akr9pzg14w75d9cblc49vhnij3g1fy"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/benwilber/exitcode")
    (synopsis "Preferred system exit codes as defined by @file{sysexits.h}")
    (description "This package provides preferred system exit codes as defined
by @file{sysexits.h}.")
    (license license:asl2.0)))

(define-public rust-expat-sys-2
  (package
    (name "rust-expat-sys")
    (version "2.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "expat-sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1yj5pqynds776ay8wg9mhi3hvna4fv7vf244yr1864r0i5r1k3v5"))
        (modules '((guix build utils)))
        (snippet
         '(begin (delete-file-recursively "expat") #t))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cmake" ,rust-cmake-0.1)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list expat))
    (home-page "http://www.libexpat.org/")
    (synopsis "XML parser library written in C")
    (description "XML parser library written in C")
    (license license:expat)))

(define-public rust-expect-test-1
  (package
    (name "rust-expect-test")
    (version "1.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "expect-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c5c081ykm4k5rlsam9jw56w4wgs2h7r4aj78zxlis1i8kzl7bv3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-dissimilar" ,rust-dissimilar-1)
        ("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/rust-analyzer/expect-test")
    (synopsis "Minimalistic snapshot testing library")
    (description
     "This package provides a minimalistic snapshot testing library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-expectest-0.12
  (package
    (name "rust-expectest")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "expectest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y290ak3q5l8l8ajg00mqx1lx9f1pagk6ckmplzibf5ach5pr0bq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/zummenix/expectest")
    (synopsis "Matchers and matcher functions for unit testing")
    (description "This crate provides matchers and matcher functions for unit
testing.")
    (license (list license:expat license:asl2.0))))

(define-public rust-expectrl-0.7
  (package
    (name "rust-expectrl")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "expectrl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ykiqkh2r3ky1244r4j0x49hqawdrfdh1mai6fdapz2kb6989rzd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; These tests don't do well in the build environment
         "--skip=bash_control_chars"
         "--skip=python"
         "--skip=send")
         #:cargo-inputs
       (("rust-async-io" ,rust-async-io-1)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-conpty" ,rust-conpty-0.5)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-futures-lite" ,rust-futures-lite-1)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-nix" ,rust-nix-0.26)
        ("rust-polling" ,rust-polling-2)
        ("rust-ptyprocess" ,rust-ptyprocess-0.4)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/zhiburt/expectrl")
    (synopsis "Tool for automating terminal applications in Unix")
    (description
     "This package provides a tool for automating terminal applications in Unix
like Don libes expect.")
    (license license:expat)))

(define-public rust-extract-map-0.1
  (package
    (name "rust-extract-map")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "extract_map" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s695n5yzs7wwyvaphkkscr8lfv7h94xsczg49a9qa37nnd51xxb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-gat-lending-iterator" ,rust-gat-lending-iterator-0.1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/GnomedDev/extract_map")
    (synopsis "HashMap for memory efficient storage of value types")
    (description
     "This package provides a @code{HashMap} for memory efficient storage of value
types which contain their own keys.")
    (license license:expat)))

(define-public rust-extreme-666
  (package
    (name "rust-extreme")
    (version "666.666.666666")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "extreme" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yrig1ky9a6xpcl5nqnkk9wyis7k7wjzb8bbr4n810apfhq5nq0n"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/spacejam/extreme")
    (synopsis "Extremely boring async function runner")
    (description
     "This package provides an extremely boring async function runner.")
    (license license:gpl3)))

(define-public rust-eyeball-0.8
  (package
    (name "rust-eyeball")
    (version "0.8.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "eyeball" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0grqzyxfc1nygfa4r9hr9sj6hncpjxpaj29w5lrxcq9xz7mx0fyr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-criterion" ,rust-criterion-0.5)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-readlock" ,rust-readlock-0.1)
                       ("rust-readlock-tokio" ,rust-readlock-tokio-0.1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-util" ,rust-tokio-util-0.7)
                       ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-stream-assert" ,rust-stream-assert-0.1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/jplatte/eyeball")
    (synopsis "Add observability to your Rust types")
    (description "Add observability to your Rust types!")
    (license license:mpl2.0)))

(define-public rust-eyeball-im-0.4
  (package
    (name "rust-eyeball-im")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "eyeball-im" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m1vz8f8nv1za8pvn4c00r71wrnc2i2qnq0jaj9ii7fmyvcwh9lk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-imbl" ,rust-imbl-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-util" ,rust-tokio-util-0.7)
                       ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1)
        ("rust-stream-assert" ,rust-stream-assert-0.1))))
    (home-page "https://github.com/jplatte/eyeball")
    (synopsis "Observable collections based on the `im` crate")
    (description "Observable collections based on the `im` crate.")
    (license license:mpl2.0)))

(define-public rust-eyeball-im-util-0.5
  (package
    (name "rust-eyeball-im-util")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "eyeball-im-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q4r3qi46s8mnvn2y9pk322y4qdl4j81pa53q7xg4c9zncma5zn0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                       ("rust-eyeball-im" ,rust-eyeball-im-0.4)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-imbl" ,rust-imbl-2)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-eyeball" ,rust-eyeball-0.8)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-stream-assert" ,rust-stream-assert-0.1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/jplatte/eyeball")
    (synopsis "Helpful utilities for `eyeball-im`")
    (description "Helpful utilities for `eyeball-im`.")
    (license license:mpl2.0)))

(define-public rust-eyre-0.6
  (package
    (name "rust-eyre")
    (version "0.6.12")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "eyre" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1v1a3vb9gs5zkwp4jzkcfnpg0gvyp4ifydzx37f4qy14kzcibnbw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indenter" ,rust-indenter-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pyo3" ,rust-pyo3-0.20))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-backtrace" ,rust-backtrace-0.3)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-pyo3" ,rust-pyo3-0.20)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-syn" ,rust-syn-2)
                                   ("rust-thiserror" ,rust-thiserror-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (native-inputs (list python))
    (home-page "https://github.com/eyre-rs/eyre")
    (synopsis "Trait object based error handling type")
    (description
     "This library provides @code{eyre::Report}, a trait object based error
handling type for easy idiomatic error handling and reporting in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-faccess-0.2
  (package
    (name "rust-faccess")
    (version "0.2.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "faccess" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1m967rz9qknzbqh7l8hga91s32y3p041mbk8w81skmh2b116dbjr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                  ; Not all files included.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Freaky/faccess")
    (synopsis "Simple file accessibility checks")
    (description "Simple file accessibility checks in rust.")
    (license license:expat)))

(define-public rust-failure-0.1
  (package
    (name "rust-failure")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "failure" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11jg1wmbkijrs6bk9fqnbrm9zf0850whnqpgnxyswbn0dk8rnbnk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-failure-derive" ,rust-failure-derive-0.1))))
    (home-page "https://rust-lang-nursery.github.io/failure/")
    (synopsis "Experimental error handling abstraction")
    (description
     "Experimental error handling abstraction.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-failure-derive-0.1
  (package
    (name "rust-failure-derive")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "failure_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1936adqqk080439kx2bjf1bds7h89sg6wcif4jw0syndcv3s6kda"))))
    (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)
        ("rust-synstructure" ,rust-synstructure-0.12))
       #:cargo-development-inputs
       (("rust-failure" ,rust-failure-0.1))))
    (home-page "https://rust-lang-nursery.github.io/failure/")
    (synopsis "Derives for the failure crate")
    (description "Derives for the failure crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-fake-simd-0.1
  (package
    (name "rust-fake-simd")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fake-simd" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vfylvk4va2ivqx85603lyqqp0zk52cgbs4n5nfbbbqx577qm2p8"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Crate for mimicking simd crate on stable Rust")
    (description
     "Crate for mimicking simd crate on stable Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-fakeit-1
  (package
    (name "rust-fakeit")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fakeit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "057155zak9jx127jv5mlaw4kvpsj795fxmzsgg3j9mh5yxz6c9kr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libmath" ,rust-libmath-0.2)
                       ("rust-rand" ,rust-rand-0.6)
                       ("rust-simplerand" ,rust-simplerand-1)
                       ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/PumpkinSeed/fakeit")
    (synopsis "Fake data generator")
    (description "Fake data generator library with 130+ functions.")
    (license license:expat)))

(define-public rust-fallible-collections-0.5
  (package
    (name "rust-fallible-collections")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fallible_collections" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0x6zmjkmr5ps2riylrrdvnds85qd3i31jmcjvghs76s19p8qaglb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.14))))
    (home-page "https://github.com/vcombey/fallible_collections")
    (synopsis "Fallible collections implementation in Rust")
    (description "This library extends the Rust standard collections to return
a result when an allocation error occurs, ala
@url{https://github.com/rust-lang/rfcs/blob/master/text/2116-alloc-me-maybe.md,
RFC 2116}.  The API currently proposes a fallible interface for @code{Vec},
@code{Box}, @code{Arc}, @code{Btree} and @code{Rc}, as well as a
@code{TryClone} trait which is implemented for primitive Rust traits and a
fallible format macro.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fallible-collections-0.4
  (package
    (inherit rust-fallible-collections-0.5)
    (name "rust-fallible-collections")
    (version "0.4.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fallible_collections" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zf6ir26qbdwlywv9m266n19p6yzqqmi968qy8njc58aiiv6k358"))))
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.13))))))

(define-public rust-fallible-iterator-0.3
  (package
    (name "rust-fallible-iterator")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fallible-iterator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ja6l56yka5vn4y4pk6hn88z0bpny7a8k1919aqjzp0j1yhy9k1a"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/rust-fallible-iterator")
    (synopsis "Fallible iterator traits")
    (description "If the @code{std} or @code{alloc} features are enabled, this
crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
@code{BTreeSet}.  If the @code{std} feature is enabled, this crate additionally
provides implementations for @code{HashMap} and @code{HashSet}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fallible-iterator-0.2
  (package
    (inherit rust-fallible-iterator-0.3)
    (name "rust-fallible-iterator")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fallible-iterator" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))))

(define-public rust-fallible-streaming-iterator-0.1
  (package
    (name "rust-fallible-streaming-iterator")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fallible-streaming-iterator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nj6j26p71bjy8h42x6jahx1hn0ng6mc2miwpgwnp8vnwqf4jq3k"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/fallible-streaming-iterator")
    (synopsis "Fallible streaming iteration")
    (description "Fallible streaming iteration")
    (license (list license:expat license:asl2.0))))

(define-public rust-fancy-regex-0.14
  (package
    (name "rust-fancy-regex")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fancy-regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "162j2qx2ikgl79grq12mawyflwkirnjzrvxh11a1xbmwjidcn93f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.8)
                       ("rust-regex-automata" ,rust-regex-automata-0.4)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.8))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-matches" ,rust-matches-0.1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/fancy-regex/fancy-regex")
    (synopsis "Implementation of regexes with a rich set of features")
    (description
     "This package is a Rust library for compiling and matching regular
expressions.  It uses a hybrid regex implementation designed to support
a relatively rich set of features.  In particular, it uses backtracking to
implement features such as look-around and backtracking, which are not
supported in purely NFA-based implementations.")
    (license license:expat)))

(define-public rust-fancy-regex-0.13
  (package
    (inherit rust-fancy-regex-0.14)
    (name "rust-fancy-regex")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fancy-regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wjbqjsdj8fkq6z2i9llq25iaqzd9f208vxnwg8mdbr2ba1lc7jk"))))
    (arguments
     `(#:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5)
                       ("rust-regex-automata" ,rust-regex-automata-0.4)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.8))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-matches" ,rust-matches-0.1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-regex" ,rust-regex-1))))))

(define-public rust-fancy-regex-0.11
  (package
    (inherit rust-fancy-regex-0.13)
    (name "rust-fancy-regex")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fancy-regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18j0mmzfycibhxhhhfja00dxd1vf8x5c28lbry224574h037qpxr"))))
    (arguments
     `(#:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5)
                       ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-matches" ,rust-matches-0.1)
                                   ("rust-quickcheck" ,rust-quickcheck-1))))))

(define-public rust-fancy-regex-0.7
  (package
    (inherit rust-fancy-regex-0.11)
    (name "rust-fancy-regex")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fancy-regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1krwc8mbj8zv4ahvh3lqkmfxf38cg79ya02by19fn4jil1h8aswx"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-regex" ,rust-regex-1))))))

(define-public rust-fast-chemail-0.9
  (package
    (name "rust-fast-chemail")
    (version "0.9.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fast_chemail" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r79x2i7bhk8y4nv7q245dlifxryszmby4k3psm2qk321p9kjnj9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ascii-utils" ,rust-ascii-utils-0.9))))
    (home-page "https://gitlab.com/fast_chemail/fast_chemail-rs")
    (synopsis "Check email address")
    (description "Fast Chemail is a library used to validate the email as it
is defined in the HTML specification.")
    (license license:mpl2.0)))

(define-public rust-fast-float-0.2
  (package
    (name "rust-fast-float")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fast-float" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g7kfll3xyh99kc7r352lhljnwvgayxxa6saifb6725inikmyxlm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-fastrand" ,rust-fastrand-1)
                                   ("rust-hexf-parse" ,rust-hexf-parse-0.1)
                                   ("rust-lexical-core" ,rust-lexical-core-0.7)
                                   ("rust-num-bigint" ,rust-num-bigint-0.3)
                                   ("rust-ryu" ,rust-ryu-1))))
    (home-page "https://github.com/aldanor/fast-float-rust")
    (synopsis "Fast floating-point number parser")
    (description "This package provides a fast floating-point number parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-faster-hex-0.9
  (package
    (name "rust-faster-hex")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "faster-hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10wi4vqbdpkamw4qvra1ijp4as2j7j1zc66g4rdr6h0xv8gb38m2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bytes" ,rust-bytes-1)
                                   ("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-hex" ,rust-hex-0.3)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rustc-hex" ,rust-rustc-hex-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/NervosFoundation/faster-hex")
    (synopsis "Fast hex encoding")
    (description "Fast hex encoding.")
    (license license:expat)))

(define-public rust-faster-hex-0.8
  (package
    (inherit rust-faster-hex-0.9)
    (name "rust-faster-hex")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "faster-hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12ikld53h5d682rn1j85d77n90pq4vy5mncwdaqhm0hgjgxpp7r3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-hex" ,rust-hex-0.3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rustc-hex" ,rust-rustc-hex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-fasthash-0.4
  (package
    (name "rust-fasthash")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fasthash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03v9g4ajw0zk9pv2ranq65xcly1b68hg0qzc2y8y1ajfdfa168h3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1)
                       ("rust-fasthash-sys" ,rust-fasthash-sys-0.3)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-seahash" ,rust-seahash-3)
                       ("rust-xoroshiro128" ,rust-xoroshiro128-0.3))))
    (home-page "https://github.com/flier/rust-fasthash")
    (synopsis "Suite of non-cryptographic hash functions for Rust")
    (description
     "This package provides a suite of non-cryptographic hash functions for
Rust.")
    (license license:asl2.0)))

(define-public rust-fasthash-sys-0.3
  (package
    (name "rust-fasthash-sys")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fasthash-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y18v8yya5pnzgfji9lwnrz5jl7q8q2xj2a0sg6ibrz2pwd99pmn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.37)
                       ("rust-gcc" ,rust-gcc-0.3))))
    (home-page "https://github.com/flier/rust-fasthash")
    (synopsis "Suite of non-cryptographic hash functions for Rust")
    (description
     "This package provides a suite of non-cryptographic hash functions for
Rust.")
    (license license:asl2.0)))

(define-public rust-fastq-0.6
  (package
    (name "rust-fastq")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fastq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "177jsfabnk3zl5zml6qvidzjpk53dp62rqjbdhbhr8cg7ms59p60"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-build-flags '("-vv")
       #:phases
       (modify-phases %standard-phases
         ;; This is needed for the parasail-sys package.
         (add-after 'unpack 'set-shell-for-configure-script
           (lambda _
             (setenv "SHELL" (which "sh"))
             (setenv "CONFIG_SHELL" (which "sh")))))
       #:cargo-inputs
       (("rust-flate2" ,rust-flate2-1)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs
       (("rust-bio" ,rust-bio-0.33)
        ("rust-parasailors" ,rust-parasailors-0.3))))
    (inputs
     (list zlib))
    (native-inputs
     (list libtool))
    (home-page "https://github.com/aseyboldt/fastq-rs")
    (synopsis "Parser for fastq files")
    (description "This package provides a parser for fastq files.")
    (license license:expat)))

(define-public rust-fastrand-2
  (package
    (name "rust-fastrand")
    (version "2.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fastrand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ghiahsw1jd68df895cy5h3gzwk30hndidn3b682zmshpgmrx41p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2))
       #:cargo-development-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-wyhash" ,rust-wyhash-0.5))))
    (home-page "https://github.com/smol-rs/fastrand")
    (synopsis "Simple and fast random number generator")
    (description
     "This package provides a simple and fast random number generator.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-fastrand-1
  (package
    (inherit rust-fastrand-2)
    (name "rust-fastrand")
    (version "1.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fastrand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gh12m56265ihdbzh46bhh0jf74i197wm51jg1cw75q7ggi96475"))))
    (arguments
     `(#:cargo-inputs
       (("rust-instant" ,rust-instant-0.1))
       #:cargo-development-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-instant" ,rust-instant-0.1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-wyhash" ,rust-wyhash-0.5))))))

(define-public rust-fd-lock-4
  (package
    (name "rust-fd-lock")
    (version "4.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fd-lock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ixrsd19k2cpl773p9hd0yk3hac684d9aphbxy0jq9q64bd6hmvy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/yoshuawuyts/fd-lock")
    (synopsis "Advisory lock on a file")
    (description "Fd-lock provides an advisory lock on a file using a file
descriptor to it.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fd-lock-3
  (package
    (inherit rust-fd-lock-4)
    (name "rust-fd-lock")
    (version "3.0.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fd-lock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1df1jdncda67g65hrnmd2zsl7q5hdn8cm84chdalxndsx7akw0zg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-rustix" ,rust-rustix-0.38)
        ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-fdlimit-0.1
  (package
    (name "rust-fdlimit")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fdlimit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g30d6gqkrwy8ylwdy7pqm443iq0p5dmnpz4ks41pirl7dclm98d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/paritytech/fdlimit")
    (synopsis "Utility crate for raising file descriptors limit")
    (description "This package provides a Rust library to raise file
descriptors limit.")
    (license license:asl2.0)))

(define-public rust-feature-probe-0.1
  (package
    (name "rust-feature-probe")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "feature-probe" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nhif9zpr2f17gagf0qb0v914wc3jr9sfjzvnpi7b7pcs73ksnl3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/tov/feature-probe-rs")
    (arguments
     `(#:tests? #f))        ; Tests don't compile
    (synopsis "Probe for rustc features from build.rs")
    (description "To support multiple versions of Rust, it's often necessary
to conditionally compile parts of our libraries or programs.  It's possible to
allow users to specify what features to enable, but detection is better,
because users get all the features that their version of Rust supports.  And
while we could check the rustc version, it's better to probe for individual
features.  This package probes for rustc features from build.rs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-feed-rs-0.6
  (package
    (name "rust-feed-rs")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "feed-rs" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a1ain6r9k8bx7cz9pxqh3hdqbn8cqdkrbx78c8rxb7vqngyg53z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-mime" ,rust-mime-0.3)
        ("rust-quick-xml" ,rust-quick-xml-0.20)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-siphasher" ,rust-siphasher-0.3)
        ("rust-url" ,rust-url-2)
        ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/feed-rs/feed-rs")
    (synopsis "Unified feed parser")
    (description "This package provides a unified feed parser that handles
Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed")
    (license license:expat)))

(define-public rust-feedbin-api-0.1
  (package
    (name "rust-feedbin-api")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "feedbin_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "170xf3cgsqgqpnafpdmzzw9yvzc51r22lgr4f4hcrmidxlxpmlkp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests use the network
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-dotenv" ,rust-dotenv-0.15)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://gitlab.com/news-flash/feedbin_api")
    (synopsis  "Rust implementation of the Feedbin REST API")
    (description
     "This package provides a Rust implementation of the Feedbin REST API.")
    (license license:unlicense)))

(define-public rust-feedly-api-0.4
  (package
    (name "rust-feedly-api")
    (version "0.4.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "feedly_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1knad1bghc8hhfcyl35fcnhrk01vklamq07630rdk0pg6ax04swi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests open external connections
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-percent-encoding"
         ,rust-percent-encoding-2)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-dotenv" ,rust-dotenv-0.15)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://gitlab.com/news-flash/feedly_api")
    (synopsis "Rust implementation of the feedly REST API")
    (description
     "This package provides a Rust implementation of the feedly REST API.")
    ;; No copyright headers in the source code.  LICENSE indicates gpl3.
    (license license:gpl3)))

(define-public rust-femme-2
  (package
    (name "rust-femme")
    (version "2.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "femme" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vqk8sjnc4qw51a816kppwirf2dkj6rfdnjjsm92kap3b8g8f16c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-kv-log-macro" ,rust-kv-log-macro-1))))
    (home-page "https://github.com/lrlna/femme")
    (synopsis "Pretty-printer and @code{ndjson} logger for @code{log} crate")
    (description
     "This package provides a pretty-printer and @code{ndjson} logger for
@code{log} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-femme-1
  (package
    (inherit rust-femme-2)
    (name "rust-femme")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "femme" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0spf66m22dvnz6x077znybk906lh4p5z30nh8c37mad2c3dc56jd"))))
    (arguments
     `(#:tests? #false
       #:cargo-inputs
       (("rust-async-log" ,rust-async-log-1)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-console" ,rust-console-0.7)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))))))

(define-public rust-fern-0.6
  (package
    (name "rust-fern")
    (version "0.6.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fern" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1vpinainw32498p0zydmxc24yd3r6479pmhdfb429mfbji3c3w6r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-colored" ,rust-colored-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-reopen" ,rust-reopen-0.3)
        ("rust-reopen" ,rust-reopen-1)
        ("rust-syslog" ,rust-syslog-3)
        ("rust-syslog" ,rust-syslog-4)
        ("rust-syslog" ,rust-syslog-6))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/daboross/fern")
    (synopsis "Simple, efficient logging")
    (description
     "This package provides a simple, efficient logging system for Rust.")
    (license license:expat)))

(define-public rust-fetch-data-0.2
  (package
    (name "rust-fetch-data")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fetch-data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wjjb3l37kdvvq3pv93cxlxxr2pc7kx0ssk2gqispw5bhggnlyda"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-anyinput" ,rust-anyinput-0.1)
                       ("rust-base16ct" ,rust-base16ct-0.2)
                       ("rust-ctor" ,rust-ctor-0.2)
                       ("rust-directories" ,rust-directories-5)
                       ("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-temp-testdir" ,rust-temp-testdir-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-ureq" ,rust-ureq-2))))
    (home-page "https://github.com/CarlKCarlK/fetch-data")
    (synopsis "Fetch data files from a URL")
    (description
     "This package lets you fetch data files from a URL, but only if needed.
It verifies contents via SHA256 and provides some Python Pooch
compatibility.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fetch-unroll-0.3
  (package
    (name "rust-fetch-unroll")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "fetch_unroll" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1l3cf8fhcrw354hdmjf03f5v4bxgn2wkjna8n0fn8bgplh8b3666"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f  ; Tries to connect to github.com
           #:cargo-inputs `(("rust-libflate" ,rust-libflate-1)
                            ("rust-tar" ,rust-tar-0.4)
                            ("rust-ureq" ,rust-ureq-2))))
    (home-page "https://github.com/katyo/fetch_unroll")
    (synopsis "Simple utilities for fetching and unrolling .tar.gz archives")
    (description
     "Simple utilities for fetching and unrolling .tar.gz archives.")
    (license license:asl2.0)))

(define-public rust-fever-api-0.2
  (package
    (name "rust-fever-api")
    (version "0.2.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fever_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pv4g241pc0bfwy9gjwsmrdv7mplzbifxr5mxf0k82yxawg55anc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests use the network
       #:cargo-inputs
       (("rust-failure" ,rust-failure-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-md5" ,rust-md5-0.7)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-dotenv" ,rust-dotenv-0.15)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://gitlab.com/news-flash/fever_api")
    (synopsis "Rust implementation of the Fever API")
    (description
     "This package provides a Rust implementation of the Fever API.")
    ;; No copyright headers in the source code.  LICENSE indicates gpl3.
    (license license:gpl3)))

(define-public rust-ff-0.13
  (package
    (name "rust-ff")
    (version "0.13.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ff" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0jcl8yhcs5kbfxfpnrhpkkvnk7s666vly6sgawg3nri9nx215m6y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitvec" ,rust-bitvec-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-ff-derive" ,rust-ff-derive-0.13)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-subtle" ,rust-subtle-2))
       #:cargo-development-inputs
       (("rust-blake2b-simd" ,rust-blake2b-simd-1)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/zkcrypto/ff")
    (synopsis "Library for building and interfacing with finite fields")
    (description "This package provides a rust library for building and
interfacing with finite fields.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ff-0.12
  (package
    (inherit rust-ff-0.13)
    (name "rust-ff")
    (version "0.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q3imz4m3dj2cy182i20wa8kbclgj13ddfngqb2miicc6cjzq4yh"))))
    (arguments
     `(#:cargo-inputs (("rust-bitvec" ,rust-bitvec-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-ff-derive" ,rust-ff-derive-0.12)
                       ("rust-rand-core" ,rust-rand-core-0.6)
                       ("rust-subtle" ,rust-subtle-2))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))))

(define-public rust-ff-derive-0.13
  (package
    (name "rust-ff-derive")
    (version "0.13.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ff_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0jnq13qqmnvgh1xmjzdgynwgbbkf64qibqf5a5hjiva5pq24gxg9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-addchain" ,rust-addchain-0.2)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-num-bigint" ,rust-num-bigint-0.3)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/zkcrypto/ff")
    (synopsis
     "Procedural macro library used to build custom prime field implementations")
    (description
     "This package provides a procedural macro library used to build custom
prime field implementations in rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ff-derive-0.12
  (package
    (inherit rust-ff-derive-0.13)
    (name "rust-ff-derive")
    (version "0.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ff_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jvqilpzzbw3j3sh1sf0914n2l4v020iifmgvglnc7wgfjh6znqp"))))
    (arguments
     `(#:cargo-inputs (("rust-addchain" ,rust-addchain-0.2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-num-bigint" ,rust-num-bigint-0.3)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-field-offset-0.3
  (package
    (name "rust-field-offset")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "field-offset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zq5sssaa2ckmcmxxbly8qgz3sxpb8g1lwv90sdh1z74qif2gqiq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memoffset" ,rust-memoffset-0.9)
        ("rust-rustc-version" ,rust-rustc-version-0.4))))
    (home-page "https://github.com/Diggsey/rust-field-offset")
    (synopsis "Safe pointer-to-member implementation")
    (description "This package provides safe pointer-to-member implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-figment-0.10
  (package
    (name "rust-figment")
    (version "0.10.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "figment" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ww9sxdzjj2i80w7bq0kllnymjyrfb1cdx2h70ap5wqcdga1rc4c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `crate::providers::Toml`
       #:cargo-inputs (("rust-atomic" ,rust-atomic-0.6)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-pear" ,rust-pear-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-yaml" ,rust-serde-yaml-0.9)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-uncased" ,rust-uncased-0.9)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-parking-lot" ,rust-parking-lot-0.12)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/SergioBenitez/Figment")
    (synopsis "Configuration library")
    (description "This package provides an opinionated configuration library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-file-diff-1
  (package
    (name "rust-file-diff")
    (version "1.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "file_diff" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "19a34rvbqg3b2my6ykax5n1qi2ahwbjacn9y2ji3h9gkp04ak9ri"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ethanpailes/file_diff-rs")
    (synopsis "Atomic utility for diffing files in testing")
    (description "An atomic utility for diffing files in testing.")
    (license license:bsd-3)))

(define-public rust-file-id-0.2
  (package
    (name "rust-file-id")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "file-id" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dmylm34z6g8cg3b60sc6bk9v5wv9930vyx9wgcdpjpgpfwh9jbb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/notify-rs/notify")
    (synopsis
     "Utility for reading inode numbers (Linux, MacOS) and file IDs (Windows)")
    (description
     "This package provides a utility for reading inode numbers (Linux,
@code{MacOS}) and file IDs (Windows).")
    (license (list license:expat license:asl2.0))))

(define-public rust-filedescriptor-0.8
  (package
    (name "rust-filedescriptor")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "filedescriptor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vplyh0cw35kzq7smmp2ablq0zsknk5rkvvrywqsqfrchmjxk6bi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "More ergonomic wrappers around RawFd and RawHandle")
    (description
     "More ergonomic wrappers around @code{RawFd} and @code{RawHandle}.")
    (license license:expat)))

(define-public rust-filename-0.1
  (package
    (name "rust-filename")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "filename" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s7byy8c939qrm6hsjqq0vicfv6rkxb3yrhslg7zkggyxw1xzr33"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/flier/rust-filename")
    (synopsis "Get filename from a raw file descriptor")
    (description
     "This package provides a way to get the filename from a raw file descriptor.")
    (license license:expat)))

(define-public rust-filesize-0.2
  (package
    (name "rust-filesize")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "filesize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hvx4dfnara3a2dnhb9ci5bmm1m8s44h9l61s5djwkjx87i43mqj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Freaky/rust-filesize")
    (synopsis "Find the physical space used by a file")
    (description
     "@code{filesize} abstracts platform-specific methods of determining the
real space used by files, taking into account file system compression and
sparse files.")
    (license license:expat)))

(define-public rust-filetime-0.2
  (package
    (name "rust-filetime")
    (version "0.2.25")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "filetime" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "11l5zr86n5sr6g6k6sqldswk0jzklm0q95rzikxcns0yk0p55h1m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libredox" ,rust-libredox-0.1)
        ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/alexcrichton/filetime")
    (synopsis "Platform-agnostic accessors of timestamps in File metadata")
    (description
     "This library contains a helper library for inspecting and setting the
various timestamps of files in Rust.  This library takes into account
cross-platform differences in terms of where the timestamps are located, what
they are called, and how to convert them into a platform-independent
representation.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-filetime-0.1
  (package
    (inherit rust-filetime-0.2)
    (name "rust-filetime")
    (version "0.1.15")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "filetime" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "03xishfxzpr4nfz4g3r218d6b6g94rxsqw9pw96m6wa8wgrm6iki"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-redox-syscall" ,rust-redox-syscall-0.1))))))

(define-public rust-filetime-creation-0.1
  (package
    (name "rust-filetime-creation")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "filetime_creation" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10vk0zwwr91qypkkrhshvlw2zgjfyxhy29d5p15b8wrv5493n9sd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/czy-29/filetime_creation")
    (synopsis "Enhanced version of filetime")
    (description
     "This package provides an enhanced version of filetime, which can set file
creation time on Windows before Rust 1.75.")
    (license (list license:expat license:asl2.0))))

(define-public rust-filetreelist-0.5
  (package
    (name "rust-filetreelist")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "filetreelist" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j7s58lxg28kq39156n17qbf1iygkn7bxgi2xs99wz706syymyg8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://github.com/extrawurst/gitui")
    (synopsis "Filetree abstraction")
    (description
     "Filetree abstraction based on a sorted path list, supports key based
navigation events, folding, scrolling and more.")
    (license license:expat)))

(define-public rust-find-crate-0.6
  (package
    (name "rust-find-crate")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "find-crate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ljpkh11gj7940xwz47xjhsvfbl93c2q0ql7l2v0w77amjx8paar"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-toml" ,rust-toml-0.5))
       #:cargo-development-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                                   ("rust-quote" ,rust-quote-1)
                                   ("rust-semver" ,rust-semver-0.11))))
    (home-page "https://github.com/taiki-e/find-crate")
    (synopsis "Find the crate name from the current @code{Cargo.toml}")
    (description
     "This package provides finding the crate name from the current
@code{Cargo.toml}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-find-cuda-helper-0.2
  (package
    (name "rust-find-cuda-helper")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "find_cuda_helper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bdxg8bmcqvnxb43y6bn2xnhszyi9bm0kndagp3iml1xb5ffdygr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-glob" ,rust-glob-0.3))))
    (home-page "https://github.com/Rust-GPU/Rust-CUDA")
    (synopsis "Helper crate for searching for CUDA libraries")
    (description "Helper crate for searching for CUDA libraries.")
    (license (list license:expat license:asl2.0))))

(define-public rust-findshlibs-0.10
  (package
    (name "rust-findshlibs")
    (version "0.10.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "findshlibs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0r3zy2r12rxzwqgz53830bk38r6b7rl8kq2br9n81q7ps2ffbfa0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/gimli-rs/findshlibs")
    (synopsis "Find the set of shared libraries loaded in the current process")
    (description
     "Find the set of shared libraries loaded in the current process with a
cross platform API.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-finl-unicode-1
  (package
    (name "rust-finl-unicode")
    (version "1.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "finl_unicode" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0qy1rwjxkqbl6g8ngm2p33y83r4mbfk3l22075yv6vlh4nsp1jcl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bstr" ,rust-bstr-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-unicode-categories" ,rust-unicode-categories-0.1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
    (home-page "https://github.com/dahosek/finl_unicode")
    (synopsis "Unicode handling library")
    (description "This package provides a library for handling Unicode
functionality for finl.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fixed-1
  (package
    (name "rust-fixed")
    (version "1.28.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fixed" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0nn85j5x8yzx10q49jdzia4yp6pnasnxpnwh0p9aqr7qkfwf1il5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-az" ,rust-az-1)
        ("rust-borsh" ,rust-borsh-1)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-half" ,rust-half-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-typenum" ,rust-typenum-1))))
    (home-page "https://gitlab.com/tspiteri/fixed")
    (synopsis "Rust fixed-point numbers")
    (description "This package provides fixed-point numbers in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fixedbitset-0.4
  (package
    (name "rust-fixedbitset")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fixedbitset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "101v41amgv5n9h4hcghvrbfk5vrncx1jwm35rn5szv4rk55i7rqc"))))
    (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/bluss/fixedbitset")
    (synopsis "Simple bitset collection")
    (description "FixedBitSet is a simple bitset collection.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fixedbitset-0.2
  (package
    (inherit rust-fixedbitset-0.4)
    (name "rust-fixedbitset")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fixedbitset" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0kg03p777wc0dajd9pvlcnsyrwa8dhqwf0sd9r4dw0p82rs39arp"))))))

(define-public rust-fixedbitset-0.1
  (package
    (inherit rust-fixedbitset-0.2)
    (name "rust-fixedbitset")
    (version "0.1.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fixedbitset" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))))

(define-public rust-flagset-0.4
  (package
    (name "rust-flagset")
    (version "0.4.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "flagset" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1v46bj0v8zqw6nnj16vhsmssxm04zj8xv50hnyjjcy1hz32ixsmk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1))))
    (home-page "https://github.com/enarx/flagset")
    (synopsis
     "Data types and a macro for generating enumeration-based bit flags")
    (description "This package provides data types and a macro for generating
enumeration-based bit flags in rust.")
    (license license:asl2.0)))

(define-public rust-flaky-test-0.2
  (package
    (name "rust-flaky-test")
    (version "0.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "flaky_test" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nn8hddhl2vaxgfn0j87yrngr9bzlxlncgdd9vy53xyp4cgslv04"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-flaky-test-impl" ,rust-flaky-test-impl-0.2)
        ("rust-future-utils" ,rust-futures-util-0.3))))
    (home-page "https://github.com/denoland/flaky_test")
    (synopsis "Attribute macro for running a flaky test multiple times")
    (description "This package provides an attribute macro for running a flaky
test multiple times.")
    (license license:expat)))

(define-public rust-flaky-test-impl-0.2
  (package
    (name "rust-flaky-test-impl")
    (version "0.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "flaky_test_impl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1glshs6wa5n229d4abqzijssy4nslyaiw3xlwpd2ymghq84mkqw5"))))
    (build-system cargo-build-system)
    (arguments
     ;; Tests fail with
     ;; 3 | use flaky_test::flaky_test;
     ;;   |     ^^^^^^^^^^ use of undeclared crate or module `flaky_test`
     `(#:tests? #f
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-flaky-test" ,rust-flaky-test-0.2))))
    (home-page "https://github.com/denoland/flaky_test")
    (synopsis "Implementation details of the @code{flaky_test} macro")
    (description "This package provides mplementation details of the
@code{flaky_test} macro.")
    (license license:expat)))

(define-public rust-flame-0.2
  (package
    (name "rust-flame")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "flame" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0c5bmhyimzxch3pmh0w3z9n57saasgix4bmbbksr9vp1c5j71hhz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thread-id" ,rust-thread-id-3))))
    (home-page "https://github.com/llogiq/flame")
    (synopsis "Profiling and flamegraph library")
    (description "A profiling and flamegraph library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-flamer-0.4
  (package
    (name "rust-flamer")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "flamer" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1avszq3fn4ix7p6wjfdkli6fjyxccks1qhzja92a6kpxakd35drn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-flame" ,rust-flame-0.2)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/llogiq/flamer")
    (synopsis "Macro to insert @code{flame::start_guard(_)}")
    (description
     "A procedural macro to insert @code{flame::start_guard(_)} calls.")
    (license license:asl2.0)))

(define-public rust-flatbuffers-23
  (package
    (name "rust-flatbuffers")
    (version "23.5.26")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "flatbuffers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h46mg8yb9igda4ff5dajkzc6k5mf4ix472asqb8rmv24ki57b2d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://flatbuffers.dev/")
    (synopsis "FlatBuffers Rust serialization library")
    (description
     "This crates provides FlatBuffers runtime serialization library.")
    (license license:asl2.0)))

(define-public rust-flatbuffers-2
  (package
    (inherit rust-flatbuffers-23)
    (name "rust-flatbuffers")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "flatbuffers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xp5ppif0hvgh9kfvy1199gdmjc3dw1517022l1x3ynpphw5fk7g"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-float-cmp-0.10
  (package
    (name "rust-float-cmp")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float-cmp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n760i3nxd2x0zc7fkxkg3vhvdyfbvzngna006cl9s9jacaz775h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/mikedilger/float-cmp")
    (synopsis "Floating point approximate comparison traits")
    (description "This package provides floating point approximate comparison
traits.")
    (license license:expat)))

(define-public rust-float-cmp-0.9
  (package
    (inherit rust-float-cmp-0.10)
    (name "rust-float-cmp")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float-cmp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i799ksbq7fj9rm9m82g1yqgm6xi3jnrmylddmqknmksajylpplq"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-float-cmp-0.8
  (package
    (inherit rust-float-cmp-0.9)
    (name "rust-float-cmp")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "float-cmp" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1i56hnzjn5pmrcm47fwkmfxiihk7wz5vvcgpb0kpfhzkqi57y9p1"))))
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-float-cmp-0.6
  (package
    (inherit rust-float-cmp-0.8)
    (name "rust-float-cmp")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "float-cmp" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0zb1lv3ga18vsnpjjdg87yazbzvmfwwllj3aiid8660rp3qw8qns"))))))

(define-public rust-float-cmp-0.5
  (package
    (inherit rust-float-cmp-0.6)
    (name "rust-float-cmp")
    (version "0.5.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "float-cmp" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "03hmx3n48hjm0x1ig84n1j87kzp75lzr6cj1sgi6a6pykgn4n8km"))))))

(define-public rust-float-cmp-0.4
  (package
    (inherit rust-float-cmp-0.5)
    (name "rust-float-cmp")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float-cmp" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0036jb8ry4h83n319jb20b5yvyfyq8mx8dkxnyjm22nq8fl8yjhk"))))))

(define-public rust-float-eq-1
  (package
    (name "rust-float-eq")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float_eq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lxqxkvdy5zh3qsksavpcazg57cbyjy9p54m16x13bfq8lqhxa18"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-float-eq-derive" ,rust-float-eq-derive-1)
        ("rust-num-complex" ,rust-num-complex-0.4))
       #:cargo-development-inputs
       (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://jtempest.github.io/float_eq-rs/")
    (synopsis "Compare IEEE floating point primitives, structs and collections")
    (description "Compare IEEE floating point primitives, structs and
collections for equality.")
    (license (list license:expat license:asl2.0))))

(define-public rust-float-eq-derive-1
  (package
    (name "rust-float-eq-derive")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float_eq_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mkg635lmr0nwjlxz6f5k8g60hrd800i061hrlmpvhdkl96d74j2"))))
    (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://jtempest.github.io/float_eq-rs/")
    (synopsis "Derive macro support for float_eq")
    (description "This package provides the derive macro support for float_eq.")
    (license (list license:expat license:asl2.0))))

(define-public rust-float-ord-0.3
  (package
    (name "rust-float-ord")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float-ord" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gbvx6dzz8xvj38bj02cajpqd9p5syxjx9jyqpj8414amr4izs4c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/notriddle/rust-float-ord")
    (synopsis "Total ordering for floating-point numbers")
    (description
     "This package provides a total ordering for floating-point numbers")
    (license (list license:expat license:asl2.0))))

(define-public rust-float-ord-0.2
  (package
    (name "rust-float-ord")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "float-ord" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0kin50365sr3spnbscq43lksymybi99ai9rkqdw90m6vixhlibbv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/notriddle/rust-float-ord")
    (synopsis "Total ordering for floating-point numbers")
    (description
     "This package provides a total ordering for floating-point numbers.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-fluid-0.4
  (package
    (name "rust-fluid")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fluid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04qgdc4lx934158icx9rvs0v6lyvirmb0brllvz38hj9fsaqfbsp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-colored" ,rust-colored-1)
        ("rust-fluid-attributes" ,rust-fluid-attributes-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://crates.io/crates/fluid")
    (synopsis "Human readable test library")
    (description "This package provides a human readable test library.")
    (license license:asl2.0)))

(define-public rust-fluid-attributes-0.4
  (package
    (name "rust-fluid-attributes")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fluid_attributes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1i67vcas0gr64bc8spprlfp7m7msv1jyspghgq1q8f0qrnvy8px8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15)
        ("rust-uuid" ,rust-uuid-0.7))))
    (home-page "https://gitlab.com/Boiethios/fluid-rs/wikis")
    (synopsis "Proc macro attributes for the fluid crate")
    (description "This package provides proc macro attributes for the fluid
crate.")
    (license license:asl2.0)))

(define-public rust-flume-0.11
  (package
    (name "rust-flume")
    (version "0.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "flume" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15ch0slxa8sqsi6c73a0ky6vdnh48q8cxjf7rksa3243m394s3ns"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-sink" ,rust-futures-sink-0.3)
                       ("rust-nanorand" ,rust-nanorand-0.7)
                       ("rust-spin" ,rust-spin-0.9))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-waker-fn" ,rust-waker-fn-1))))
    (home-page "https://github.com/zesterer/flume")
    (synopsis "Fast multi-producer channel")
    (description
     "This package provides a fast multi-producer channel.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-flume-0.10
  (package
    (inherit rust-flume-0.11)
    (name "rust-flume")
    (version "0.10.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "flume" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xvm1wpzkjvf99jxy9jp3dxw5nipa9blg7j0ngvxj0rl3i2b8mqn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-nanorand" ,rust-nanorand-0.7)
        ("rust-pin-project" ,rust-pin-project-1)
        ("rust-spin" ,rust-spin-0.9))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-waker-fn" ,rust-waker-fn-1))))))

(define-public rust-flume-0.9
  (package
    (inherit rust-flume-0.10)
    (name "rust-flume")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "flume" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ck1w9881848xjjk93nxqsvnxfp4xsaysxxn23a210bg2amsvsqv"))))
    (arguments
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-nanorand" ,rust-nanorand-0.4)
        ("rust-spinning-top" ,rust-spinning-top-0.2))))))

(define-public rust-fnv-1
  (package
    (name "rust-fnv")
    (version "1.0.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fnv" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/servo/rust-fnv")
    (synopsis "Implementation of the Fowler-Noll-Vo hash function")
    (description "The @code{fnv} hash function is a custom @code{Hasher}
implementation that is more efficient for smaller hash keys.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-foldhash-0.1
  (package
    (name "rust-foldhash")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foldhash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vsxw2iwpgs7yy6l7pndm7b8nllaq5vdxwnmjn1qpm5kyzhzvlm0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-ahash" ,rust-ahash-0.8)
                                   ("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-fxhash" ,rust-fxhash-0.2)
                                   ("rust-hashbrown" ,rust-hashbrown-0.14)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-uuid" ,rust-uuid-1))))
    (home-page "https://github.com/orlp/foldhash")
    (synopsis "Non-cryptographic, minimally DoS-resistant hashing algorithm")
    (description
     "This package provides a fast, non-cryptographic, minimally
@code{DoS-resistant} hashing algorithm.")
    (license license:zlib)))

(define-public rust-font-kit-0.11
  (package
    (name "rust-font-kit")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "font-kit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rbcgpjvjs7vlfx5g3kww1qsp2djy1838ymcx7x8a41p9m82izi1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=loaders::freetype::test::get_pcf_postscript_name"
         "--skip=analyze_bytes"
         "--skip=analyze_file"
         "--skip=get_empty_glyph_outline"
         "--skip=get_fully_hinted_glyph_outline"
         "--skip=get_glyph_count"
         "--skip=get_glyph_outline_eb_garamond_exclam"
         "--skip=get_glyph_outline_inconsolata_J"
         "--skip=get_glyph_raster_bounds"
         "--skip=load_font_from_file"
         "--skip=load_font_from_memory"
         "--skip=load_fonts_from_opentype_collection"
         "--skip=rasterize_empty_glyph"
         "--skip=rasterize_empty_glyph_on_empty_canvas")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-core-foundation" ,rust-core-foundation-0.9)
        ("rust-core-graphics" ,rust-core-graphics-0.22)
        ("rust-core-text" ,rust-core-text-19)
        ("rust-dirs-next" ,rust-dirs-next-2)
        ("rust-dwrote" ,rust-dwrote-0.11)
        ("rust-float-ord" ,rust-float-ord-0.2)
        ("rust-freetype" ,rust-freetype-0.7)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-pathfinder-geometry" ,rust-pathfinder-geometry-0.5)
        ("rust-pathfinder-simd" ,rust-pathfinder-simd-0.5)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-3))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-2)
                                   ("rust-colored" ,rust-colored-1)
                                   ("rust-pbr" ,rust-pbr-1)
                                   ("rust-prettytable-rs" ,rust-prettytable-rs-0.8))))
    (native-inputs (list pkg-config))
    (inputs (list fontconfig))
    (home-page "https://github.com/servo/font-kit")
    (synopsis "Font loading library")
    (description "This package provides a font loading library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-font8x8-0.3
  (package
    (name "rust-font8x8")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "font8x8" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0znh67wfv3pyx12619rm8v59fc3ig2ai6pfgqxl855hsf6w8hm47"))))
    (build-system cargo-build-system)
    (home-page "https://gitlab.com/saibatizoku/font8x8-rs")
    (synopsis "8x8 monochrome bitmap font")
    (description "8x8 monochrome bitmap font for rendering.")
    (license license:expat)))

(define-public rust-force-send-sync-1
  (package
    (name "rust-force-send-sync")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "force-send-sync" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dpy69psypanm8mx3k0mjmvb0mccyyd8yffcdr1899la8k68ss1j"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/pacman82/force-send-sync")
    (synopsis "Unsafe wrappers to force Send and Sync")
    (description "Unsafe wrappers to force Send and Sync.")
    (license license:expat)))

(define-public rust-foreign-types-0.5
  (package
    (name "rust-foreign-types")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign-types" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0rfr2zfxnx9rz3292z5nyk8qs2iirznn5ff3rd4vgdwza6mdjdyp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.2)
        ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.3))))
    (home-page "https://github.com/sfackler/foreign-types")
    (synopsis "Framework for Rust wrappers over C APIs")
    (description
     "This package provides a framework for Rust wrappers over C APIs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-foreign-types-0.3
  (package
    (inherit rust-foreign-types-0.5)
    (name "rust-foreign-types")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign-types" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.1)
        ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.1))))))

(define-public rust-foreign-types-macros-0.2
  (package
    (name "rust-foreign-types-macros")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign-types-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hjpii8ny6l7h7jpns2cp9589016l8mlrpaigcnayjn9bdc6qp0s"))))
    (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/sfackler/foreign-types")
    (synopsis "Internal crate used by foreign-types")
    (description
     "This package is an internal crate used by foreign-types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-foreign-types-macros-0.1
  (package
    (inherit rust-foreign-types-macros-0.2)
    (name "rust-foreign-types-macros")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign-types-macros" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0bh6z5rwdhfm987idal8r0ha5svz1li7md5l1g2a5966gya1jns0"))))))

(define-public rust-foreign-types-shared-0.3
  (package
    (name "rust-foreign-types-shared")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign-types-shared" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nykdvv41a3d4py61bylmlwjhhvdm0b3bcj9vxhqgxaxnp5ik6ma"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/foreign-types")
    (synopsis "Internal crate used by foreign-types")
    (description
     "An internal crate used by foreign-types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-foreign-types-shared-0.2
  (package
    (inherit rust-foreign-types-shared-0.3)
    (name "rust-foreign-types-shared")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "foreign-types-shared" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))))

(define-public rust-foreign-types-shared-0.1
  (package
    (inherit rust-foreign-types-shared-0.2)
    (name "rust-foreign-types-shared")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign-types-shared" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00"))))))

(define-public rust-foreign-vec-0.1
  (package
    (name "rust-foreign-vec")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "foreign_vec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wv6p8yfahcqbdg2wg7wxgj4dm32g2b6spa5sg5sxg34v35ha6zf"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/DataEngineeringLabs/foreign_vec")
    (synopsis "Unofficial implementation of Apache Arrow spec in safe Rust")
    (description "Unofficial implementation of Apache Arrow spec in safe Rust.")
    (license license:expat)))

(define-public rust-fork-0.2
  (package
    (name "rust-fork")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fork" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vb5557b03ghb1xmn86w9v57k5zjy2g475769xzw58845qq8pp05"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://docs.rs/fork/latest/fork/")
    (synopsis
     "Library for creating a new process detached from the controlling terminal")
    (description
     "This package provides library for creating a new process detached from
the controlling terminal (daemon) using the fork and setsid syscalls.")
    (license license:bsd-3)))

(define-public rust-form-urlencoded-1
  (package
    (name "rust-form-urlencoded")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "form_urlencoded" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0milh8x7nl4f450s3ddhg57a3flcv6yq8hlkyk6fyr3mcb128dp1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-percent-encoding" ,rust-percent-encoding-2))))
    (home-page "https://github.com/servo/rust-url")
    (synopsis "Parser and serializer for the urlencoded syntax")
    (description
     "Parser and serializer for the application/x-www-form-urlencoded
syntax, as used by HTML forms.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fragile-2
  (package
    (name "rust-fragile")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fragile" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ajfdnwdn921bhjlzyvsqvdgci8ab40ln6w9ly422lf8svb428bc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-slab" ,rust-slab-0.4))))
    (home-page "https://github.com/mitsuhiko/fragile")
    (synopsis "Wrapper types for sending non-send values to other threads")
    (description "This package provides wrapper types for sending non-send
values to other threads.")
    (license license:asl2.0)))

(define-public rust-freetype-0.7
  (package
    (name "rust-freetype")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vl0lyrz3wswch06i34sxadyzb443qapgf6fjd48wyb3w140fi2s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-freetype-sys" ,rust-freetype-sys-0.20)
        ("rust-libc" ,rust-libc-0.2))))
    (inputs (list freetype))
    (home-page "https://github.com/servo/rust-freetype")
    (synopsis "Bindings for Freetype used by Servo")
    (description "This package provides bindings for Freetype used by Servo.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-freetype-rs-0.37
  (package
    (name "rust-freetype-rs")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05albg00302i1w4fxijb5wil7bdnn4gcknw20q2df2azj8dzilfi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-freetype-sys" ,rust-freetype-sys-0.21)
                       ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))
    (inputs
     (list freetype))
    (home-page "https://github.com/PistonDevelopers/freetype-rs")
    (synopsis "Bindings for FreeType font library")
    (description "This package provides bindings for FreeType font library.")
    (license license:expat)))

(define-public rust-freetype-rs-0.36
  (package
    (inherit rust-freetype-rs-0.37)
    (name "rust-freetype-rs")
    (version "0.36.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05rbdl18ks2rb0kz7giwpcv7k1hfg19hbp406l9h95m0dkixwhjl"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-freetype-sys" ,rust-freetype-sys-0.20)
                       ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))

(define-public rust-freetype-rs-0.35
  (package
    (inherit rust-freetype-rs-0.37)
    (name "rust-freetype-rs")
    (version "0.35.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gzfb9fax3d3s691ys99nfihpzwl7hacvxnwvlxg4sph1fzd5ymi"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-freetype-sys" ,rust-freetype-sys-0.20)
                       ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))

(define-public rust-freetype-rs-0.32
  (package
    (inherit rust-freetype-rs-0.35)
    (name "rust-freetype-rs")
    (version "0.32.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q54jimjgzwdb3xsp7rsvdmp6w54cak7bvc379mdabc2ciz3776m"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-freetype-sys" ,rust-freetype-sys-0.17)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))

(define-public rust-freetype-rs-0.26
  (package
    (inherit rust-freetype-rs-0.32)
    (name "rust-freetype-rs")
    (version "0.26.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yzmbd73hlblbns0dqkcwfj54l97hx3yb0lqpda8rhm5s34xxskl"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-freetype-sys" ,rust-freetype-sys-0.13)
        ("rust-libc" ,rust-libc-0.2))))))

(define-public rust-freetype-sys-0.21
  (package
    (name "rust-freetype-sys")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bsmjhjb26hzpzhj82c9196m0ls5m43zkgmqp67ambwjk6ylmf6x"))
       (snippet
        #~(begin
            (use-modules (guix build utils))
            (delete-file-recursively "freetype2")
            ;; Inspired by Debian's patch for bzip2-sys.
            (delete-file "build.rs")
            (with-output-to-file "build.rs"
              (lambda _
                (format #t "fn main() {~@
                        println!(\"cargo:rustc-link-lib=freetype\");~@
                        }~%")))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (inputs
     (list freetype))
    (home-page "https://github.com/PistonDevelopers/freetype-sys")
    (synopsis "Low level binding for FreeType font library")
    (description
     "This package provides low level binding for FreeType font library.")
    (license license:expat)))

(define-public rust-freetype-sys-0.20
  (package
    (inherit rust-freetype-sys-0.21)
    (name "rust-freetype-sys")
    (version "0.20.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d5iiv95ap3lwy7b0hxbc8caa9ng1fg3wlwrvb7rld39jrdxqzhf"))
       (snippet
        #~(begin
            (use-modules (guix build utils))
            (delete-file-recursively "freetype2")
            ;; Inspired by Debian's patch for bzip2-sys.
            (delete-file "build.rs")
            (with-output-to-file "build.rs"
              (lambda _
                (format #t "fn main() {~@
                        println!(\"cargo:rustc-link-lib=freetype\");~@
                        }~%")))))))
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))))

(define-public rust-freetype-sys-0.17
  (package
    (inherit rust-freetype-sys-0.20)
    (name "rust-freetype-sys")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "127z6hbsfhsw0fg110zy9s65fzald0cvwbxmhk1vxmmsdk54hcb4"))
       (snippet
        #~(begin
            (use-modules (guix build utils))
            (delete-file-recursively "freetype2")
            ;; Inspired by Debian's patch for bzip2-sys.
            (substitute* "Cargo.toml.orig"
              (("cc = .*") "pkg-config = \"0.3\"\n"))
            (copy-file "Cargo.toml.orig" "Cargo.toml")
            (delete-file "build.rs")
            (with-output-to-file "build.rs"
              (lambda _
                (format #t "fn main() {~@
                        println!(\"cargo:rustc-link-lib=freetype\");~@
                        }~%")))))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))))

(define-public rust-freetype-sys-0.13
  (package
    (inherit rust-freetype-sys-0.17)
    (name "rust-freetype-sys")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "freetype-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3"))
       (snippet
        #~(begin
            (use-modules (guix build utils))
            (delete-file-recursively "freetype2")))))
    (arguments
     `(#:cargo-inputs
       (("rust-cmake" ,rust-cmake-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs
     (list pkg-config))))

(define-public rust-from-variants-0.6
  (package
    (name "rust-from-variants")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "from_variants" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qx4jmwljwmcdfc998ndf7iz8wyg7lmlc3vl3fy812f9lfqiw6i2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-from-variants-impl" ,rust-from-variants-impl-0.6))))
    (home-page "https://github.com/TedDriggs/from_variants")
    (synopsis "Macro to generate conversions for newtype enums")
    (description
     "This package provides a Rust macro to automatically generate
conversions for newtype enums.")
    (license (list license:expat license:asl2.0))))

(define-public rust-from-variants-impl-0.6
  (package
    (name "rust-from-variants-impl")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "from_variants_impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06i4bjjxbq6c4hlx2ly04s64d1972zkskshc2v4xx7n8lfghf23y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.10)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
    (home-page "https://github.com/TedDriggs/from_variants")
    (synopsis "Internal helper crate for from_variants crate")
    (description "This package is an internal helper crate for
from_variants crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fs-err-3
  (package
    (name "rust-fs-err")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fs-err" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zw01xqj302la1c7gnbfwi7b4pcgxv2xkjavk1czjkpk15s0xdlb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/andrewhickman/fs-err")
    (synopsis "@code{std::fs} with more helpful errors")
    (description
     "This package provides an alternative to @code{std::fs} with
more helpful error messages.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fs-err-2
  (package
    (inherit rust-fs-err-3)
    (name "rust-fs-err")
    (version "2.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "fs-err" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0hdajzh5sjvvdjg0n15j91mv8ydvb7ff6m909frvdmg1bw81z948"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-autocfg" ,rust-autocfg-1)
             ("rust-tokio" ,rust-tokio-1))
           #:cargo-development-inputs
           `(("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-fs-extra-1
  (package
    (name "rust-fs-extra")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fs_extra" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "075i25z70j2mz9r7i9p9r521y8xdj81q7skslyb7zhqnnw33fw22"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f))        ; panicked at 'assertion failed: `(left == right)`
    (home-page "https://github.com/webdesus/fs_extra")
    (synopsis "Extra file system methods")
    (description "Expanding opportunities standard library @code{std::fs} and
@code{std::io}.  Recursively copy folders with recept information about
process and much more.")
    (license license:expat)))

(define-public rust-fs-utils-1
  (package
    (name "rust-fs-utils")
    (version "1.1.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "fs-utils" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14r5wl14mz227v0lpy89lvjzfnxgdxigvrrmm6c4r52w03fakivg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-quick-error" ,rust-quick-error-1))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/Byron/fs-utils-rs")
    (synopsis "Utilities to help working with the filesystem")
    (description "This package provides a bunch of utilities to help working
with the filesystem.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fs2-0.4
  (package
    (name "rust-fs2")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fs2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04v2hwk7035c088f19mfl5b1lz84gnvv2hv6m935n0hmirszqr4m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;; "#![feature] may not be used on stable release channel"
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/danburkert/fs2-rs")
    (synopsis "Cross-platform file locks and file duplication")
    (description "This package provides cross-platform file locks and file
duplication.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fs2-0.2
  (package
    (name "rust-fs2")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fs2" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vsih93cvds3x6f3w9bc5rnkyv8haix1px4jpcqvjyd9l7ji9m5w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.2))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/danburkert/fs2-rs")
    (synopsis "File locks and file duplication")
    (description
     "This package provides cross-platform file locks and file duplication.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fs4-0.12
  (package
    (name "rust-fs4")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fs4" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08gm0p6x133cav6yrcc3qhcr2qr1917yhj0bdx3psm0q8il31762"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-fs-err" ,rust-fs-err-3)
                       ("rust-fs-err" ,rust-fs-err-2)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-smol" ,rust-smol-2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-fs-err" ,rust-fs-err-3)
                                   ("rust-fs-err" ,rust-fs-err-2)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-smol-potat" ,rust-smol-potat-1)
                                   ("rust-tempdir" ,rust-tempdir-0.3)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/al8n/fs4-rs")
    (synopsis "Pure Rust cross-platform file locks")
    (description
     "This package provides a no libc, pure Rust cross-platform file locks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fs4-0.8
  (package
    (inherit rust-fs4-0.12)
    (name "rust-fs4")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fs4" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y0m3pk9iq16b61p3g643234bfy0kdbyjymxczklafy2fsn81qgp"))))
    (arguments
     `(#:tests? #f  ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-smol" ,rust-smol-2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-smol-potat" ,rust-smol-potat-1)
                                   ("rust-tempdir" ,rust-tempdir-0.3)
                                   ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-fsio-0.4
  (package
    (name "rust-fsio")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fsio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l1nkb06s8xx84yrba5nj86wm80knv40bmy54nrl3i0cpqqcxl6s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-dunce" ,rust-dunce-1)
        ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "http://github.com/sagiegurari/fsio")
    (synopsis "File System and Path utility functions in Rust")
    (description
     "This crate contains utility functions for path, file and directory handling.
There are multiple main modules for fsio:

@enumerate
@item @code{fsio::path}: Holds path related functions and traits.
@item @code{fsio::file}:  File utility functions such as read_file, write_file, etc.
@item @code{fsio::directory}: Directory specific utility functions.
@end enumerate")
    (license license:asl2.0)))

(define-public rust-fslock-0.2
  (package
    (name "rust-fslock")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "fslock" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1yrv9j44k3njzpnh8m2jc0gr3hklzyzwfj3gmsdklbi76n4jnh84"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/brunoczim/fslock")
    (synopsis "Lock file library")
    (description "This package provides a library to use files as locks.")
    (license license:expat)))

(define-public rust-fst-0.4
  (package
    (name "rust-fst")
    (version "0.4.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fst" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "06mnksicgv9rp8b7w0ykkshf355l05zym3ygm74qr5z30ndmpf3s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-utf8-ranges" ,rust-utf8-ranges-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-memmap" ,rust-memmap-0.7)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7))))
    (home-page "https://github.com/BurntSushi/fst")
    (synopsis "Represent sets or maps of large numbers of strings")
    (description
     "Use finite state transducers to compactly represent sets or maps of many
strings (> 1 billion is possible).")
    (license (list license:unlicense license:expat))))

(define-public rust-fuchsia-cprng-0.1
  (package
    (name "rust-fuchsia-cprng")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fuchsia-cprng" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page
     "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
    (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
    (description "Rust crate for the Fuchsia cryptographically secure
pseudorandom number generator")
    (license license:bsd-3)))

(define-public rust-fuchsia-zircon-0.3
  (package
    (name "rust-fuchsia-zircon")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fuchsia-zircon" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys-0.3))))
    (home-page "https://fuchsia.googlesource.com/garnet/")
    (synopsis "Rust bindings for the Zircon kernel")
    (description "Rust bindings for the Zircon kernel.")
    (license license:bsd-3)))

(define-public rust-fuchsia-zircon-sys-0.3
  (package
    (name "rust-fuchsia-zircon-sys")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fuchsia-zircon-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://fuchsia.googlesource.com/garnet/")
    (synopsis "Low-level Rust bindings for the Zircon kernel")
    (description "Low-level Rust bindings for the Zircon kernel.")
    (license license:bsd-3)))

(define-public rust-funty-2
  (package
    (name "rust-funty")
    (version "2.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "funty" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "177w048bm0046qlzvp33ag3ghqkqw4ncpzcm5lq36gxf2lla7mg6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://ferrilab.github.io/ferrilab")
    (synopsis "Trait generalization over the primitive types")
    (description "The funty crate (fundamental types) provides traits that
unify the Rust non-pointer primitives.  It also unifies pointers and
references by lifting access permissions into the trait system.")
    (license license:expat)))

(define-public rust-funty-1
  (package
    (inherit rust-funty-2)
    (name "rust-funty")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "funty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19wx3p3jmv863y0mjb56sr4qf1kvqhl3fsyslkd92zli0p8lrlzy"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-funty-1.2.0-yanked
  (package
    (inherit rust-funty-1)
    (name "rust-funty")
    (version "1.2.0") ; This version was yanked!
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "funty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07lb1f8yih3g694id3n90anlgxf8m6p98bllsnn6dmb5rfwsniqq"))))
    (properties '((crate-version-yanked? . #t)))))

(define-public rust-futf-0.1
  (package
    (name "rust-futf")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futf" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hvqk2r7v4fnc34hvc3vkri89gn52d5m9ihygmwn75l1hhp0whnz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-mac" ,rust-mac-0.1)
        ("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1))))
    (home-page "https://github.com/servo/futf")
    (synopsis "Handling fragments of UTF-8")
    (description "Handling fragments of UTF-8.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-futures-0.3
  (package
    (name "rust-futures")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0xh8ddbkm9jy8kc5gbvjp9a4b6rqqxvc8471yb2qaz5wm2qhgg35"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures_test`
       #:cargo-inputs
       (("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-task" ,rust-futures-task-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-pin-project" ,rust-pin-project-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Rust implementation of futures and streams")
    (description
     "This package is a Rust implementation of futures and streams featuring
zero allocations, composability, and iterator-like interfaces.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-0.1
  (package
    (inherit rust-futures-0.3)
    (name "rust-futures")
    (version "0.1.31")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0y46qbmhi37dqkch8dlfq5aninqpzqgrr98awkb3rn4fxww1lirs"))))
    (arguments
     (list #:cargo-test-flags '(list "--" "--skip=stream::Stream::filter_map")))))

(define-public rust-futures-channel-0.3
  (package
    (name "rust-futures-channel")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-channel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "040vpqpqlbk099razq8lyn74m0f161zd0rp36hciqrwcg2zibzrd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures`
       #:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3))))
    (home-page  "https://rust-lang.github.io/futures-rs")
    (synopsis "Channels for asynchronous communication using @code{futures-rs}")
    (description
     "This package provides channels for asynchronous communication using
@code{futures-rs}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-channel-preview-0.3
  (package
    (name "rust-futures-channel-preview")
    (version "0.3.0-alpha.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-channel-preview" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0fi6bi4lpyxjigy11y5sjg6wlc8nc71vbpmxz31c3aagjvgz9rfm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-futures-core-preview" ,rust-futures-core-preview-0.3))))
    (home-page "https://rust-lang.github.io/futures-rs/")
    (synopsis
     "Channels for asynchronous communication using futures-rs")
    (description
     "Channels for asynchronous communication using futures-rs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-core-0.3
  (package
    (name "rust-futures-core")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0gk6yrxgi5ihfanm2y431jadrll00n5ifhnpx090c2f2q1cr1wh5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures`
       #:cargo-inputs
       (("rust-portable-atomic" ,rust-portable-atomic-1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Core traits and types in for the @code{futures} library")
    (description "This package provides the core traits and types in for the
@code{futures} library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-core-preview-0.3
  (package
    (name "rust-futures-core-preview")
    (version "0.3.0-alpha.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-core-preview" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "02n66jkjhpy210dv24pz0j30lvyin5kzlrb50p1j7x8yzdin4nxk"))))
    (build-system cargo-build-system)
    (arguments '(#:tests? #f))
    (home-page "https://rust-lang-nursery.github.io/futures-rs/")
    (synopsis "Core traits and types in for the @code{futures} library")
    (description "This crate provides the core traits and types in for the
@code{futures} library.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-futures-cpupool-0.1
  (package
    (name "rust-futures-cpupool")
    (version "0.1.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-cpupool" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-num-cpus" ,rust-num-cpus-1))))
    (home-page "https://github.com/rust-lang-nursery/futures-rs")
    (synopsis "Implementation of thread pools which hand out futures")
    (description
     "An implementation of thread pools which hand out futures to the results of
the computation on the threads themselves.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-futures-enum-0.1
  (package
    (name "rust-futures-enum")
    (version "0.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-enum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07kvpnr21qalhw4hw44h3335wi0lgrdf02n1vglm4flhwx6x28il"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-derive-utils" ,rust-derive-utils-0.11)
        ("rust-find-crate" ,rust-find-crate-0.6)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3))))
    (home-page "https://github.com/taiki-e/futures-enum")
    (synopsis
     "Future, Stream, Sink, AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead for enums")
    (description
     "This crate provides @code{#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite,
AsyncSeek, AsyncBufRead)]} for enums.")
    (license (list license:asl2.0 license:expat))))


(define-public rust-futures-executor-0.3
  (package
    (name "rust-futures-executor")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-executor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "17vcci6mdfzx4gbk0wx64chr2f13wwwpvyf3xd5fb1gmjzcx2a0y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures`
       #:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-task" ,rust-futures-task-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-num-cpus" ,rust-num-cpus-1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis
     "Executors for asynchronous tasks based on the @code{futures-rs} library")
    (description
     "This package provides executors for asynchronous tasks based on the
@code{futures-rs} library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-executor-preview-0.3
  (package
    (name "rust-futures-executor-preview")
    (version "0.3.0-alpha.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-executor-preview" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "161yv7wwha60mdzj1id47kh8ylnhcnv7blgwidg8xs4zpn46w8vm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-pin-utils" ,rust-pin-utils-0.1))))
    (home-page "https://github.com/rust-lang/futures-rs")
    (synopsis
     "Executors for asynchronous tasks based on futures-rs")
    (description
     "Executors for asynchronous tasks based on the futures-rs
library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-intrusive-0.5
  (package
    (name "rust-futures-intrusive")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-intrusive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vwm08d1pli6bdaj0i7xhk3476qlx4pll6i0w03gzdnh7lh0r4qx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-lock-api" ,rust-lock-api-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-crossbeam" ,rust-crossbeam-0.7)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-futures-test" ,rust-futures-test-0.3)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-pin-utils" ,rust-pin-utils-0.1)
                                   ("rust-rand" ,rust-rand-0.7)
                                   ("rust-signal-hook" ,rust-signal-hook-0.1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/Matthias247/futures-intrusive")
    (synopsis "Futures based on intrusive data structures")
    (description
     "This package provides Futures based on intrusive data structures - for
std and no-std environments.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-io-0.3
  (package
    (name "rust-futures-io")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ikmw1yfbgvsychmsihdkwa8a1knank2d9a8dk01mbjar9w1np4y"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis
     "@code{AsyncRead} and @code{AsyncWrite} traits for the @code{futures-rs}
library")
    (description
     "This package provides the @code{AsyncRead} and @code{AsyncWrite} traits
for the @code{futures-rs} library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-io-preview-0.3
  (package
    (name "rust-futures-io-preview")
    (version "0.3.0-alpha.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-io-preview" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1npb04xbn2gw5rjllz88cb88fql44xxfkgcidjjj26fva3j4m4gl"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang-nursery.github.io/futures-rs/")
    (synopsis "Async read and write traits for the futures library")
    (description "This crate provides the @code{AsyncRead} and
@code{AsyncWrite} traits for the @code{futures-rs} library.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-futures-join-macro-preview-0.3
  (package
    (name "rust-futures-join-macro-preview")
    (version "0.3.0-alpha.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-join-macro-preview" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1smwaja466yjh5adlhgggfk9k942sy4702n46scxkrwcnkk61qjr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://rust-lang-nursery.github.io/futures-rs")
    (synopsis "Definition of the `join!` macro and the `try_join!` macro")
    (description
     "This package provides the definition of the @code{join!} macro and the
@code{try_join!} macro.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-lite-2
  (package
    (name "rust-futures-lite")
    (version "2.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18cii1zgxbm04almisj0ycnmf7nj7qqyvy8x0i8mnl9cmqhhvx6f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-fastrand" ,rust-fastrand-2)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-io" ,rust-futures-io-0.3)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-parking" ,rust-parking-2)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs (("rust-spin-on" ,rust-spin-on-0.1)
                                   ("rust-waker-fn" ,rust-waker-fn-1))))
    (home-page "https://github.com/smol-rs/futures-lite")
    (synopsis "Futures, streams, and async I/O combinators")
    (description
     "This crate is a subset of @code{futures} that compiles an order of
magnitude faster, fixes minor warts in its API, fills in some obvious gaps,
and removes almost all unsafe code from it.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-futures-lite-1
  (package
    (inherit rust-futures-lite-2)
    (name "rust-futures-lite")
    (version "1.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kkbqhaib68nzmys2dc8j9fl2bwzf2s91jfk13lb2q3nwhfdbaa9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fastrand" ,rust-fastrand-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-parking" ,rust-parking-2)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-waker-fn" ,rust-waker-fn-1))
       #:cargo-development-inputs
       (("rust-spin-on" ,rust-spin-on-0.1))))))

(define-public rust-futures-lite-0.1
  (package
    (inherit rust-futures-lite-1)
    (name "rust-futures-lite")
    (version "0.1.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lnflz8ysp0vlq1sxzz1sw9cq7s33lh12cm9rc68z04v29q9k6cp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fastrand" ,rust-fastrand-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-parking" ,rust-parking-2)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
        ("rust-waker-fn" ,rust-waker-fn-1))))))

(define-public rust-futures-macro-0.3
  (package
    (name "rust-futures-macro")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l1n7kqzwwmgiznn0ywdc5i24z72zvh9q1dwps54mimppi7f6bhn"))))
    (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://rust-lang.github.io/futures-rs")
    (synopsis "@code{futures-rs} procedural macro implementations")
    (description
     "This package provides the @code{futures-rs} procedural macro
implementations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-preview-0.3
  (package
    (name "rust-futures-preview")
    (version "0.3.0-alpha.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-preview" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0vnp63aicm9vgapn4hm45ag9lrsf9f3bma3mzz3abbb708mcw79v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3)
        ("rust-futures-io-preview" ,rust-futures-io-preview-0.3)
        ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3)
        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3))
       #:cargo-development-inputs
       (("rust-futures-join-macro-preview"
         ,rust-futures-join-macro-preview-0.3))))
    (home-page "https://rust-lang-nursery.github.io/futures-rs")
    (synopsis "Implementation of futures and streams")
    (description
     "This package provides an implementation of futures and streams featuring
zero allocations, composability, and iterator-like interfaces.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-select-macro-preview-0.3
  (package
    (name "rust-futures-select-macro-preview")
    (version "0.3.0-alpha.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-select-macro-preview" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1xsq55cf2rnf7k6r04q8wynmxiy9svm3pi840vjva47bc0sy8anz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rust-lang/futures-rs")
    (synopsis
     "Handle the first Future to complete")
    (description
     "This package provides the @code{select!} macro for waiting on multiple
different @code{Future}s at once and handling the first one to complete.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-sink-0.3
  (package
    (name "rust-futures-sink")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-sink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1xyly6naq6aqm52d5rh236snm08kw8zadydwqz8bip70s6vzlxg5"))))
    (build-system cargo-build-system)
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Asynchronous @code{Sink} trait for the @code{futures-rs} library")
    (description "This package provides the asynchronous @code{Sink} trait for
the @code{futures-rs} library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-sink-preview-0.3
  (package
    (name "rust-futures-sink-preview")
    (version "0.3.0-alpha.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-sink-preview" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1v7y5qvgvl0d6hd9s4k7bd5qrj2gdlrs5yfl22v5pxv9dgpliwc6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-core-preview" ,rust-futures-core-preview-0.3))))
    (home-page "https://rust-lang-nursery.github.io/futures-rs/")
    (synopsis  "Asynchronous `Sink` trait for the futures-rs library")
    (description
     "This package provides the asynchronous @code{Sink} trait for the
futures-rs library.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-futures-task-0.3
  (package
    (name "rust-futures-task")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-task" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "124rv4n90f5xwfsm9qw6y99755y021cmi5dhzh253s920z77s3zr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f))    ; use of undeclared crate or module `futures`
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Tools for working with tasks")
    (description "This package provides tools for working with tasks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-test-0.3
  (package
    (name "rust-futures-test")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04vi8sr3xbki38cfrshm4gbkyx76za5lm5n2rpi4cpv425iznqar"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures`
       #:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-macro" ,rust-futures-macro-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-task" ,rust-futures-task-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-pin-project" ,rust-pin-project-1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis "Test components built off futures-rs")
    (description "This package provides common utilities for testing
components built off futures-rs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-timer-3
  (package
    (name "rust-futures-timer")
    (version "3.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-timer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "094vw8k37djpbwv74bwf2qb7n6v6ghif4myss6smd6hgyajb127j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-gloo-timers" ,rust-gloo-timers-0.2)
        ("rust-send-wrapper" ,rust-send-wrapper-0.4))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-futures" ,rust-futures-0.3))))
    (home-page "https://github.com/async-rs/futures-timer")
    (synopsis "Timeouts for futures")
    (description "This package is a general purpose crate for working with
timeouts and delays with futures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-timer-1
  (package
    (inherit rust-futures-timer-3)
    (name "rust-futures-timer")
    (version "1.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-timer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0idyz2k72jbl9z0wj48n15wjv6qgxgsgvs6k8lrhkzr9jj728ikr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-pin-utils" ,rust-pin-utils-0.1))))))

(define-public rust-futures-timer-0.3
  (package
    (inherit rust-futures-timer-3)
    (name "rust-futures-timer")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-timer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l35r7nm8p43j0adkhybnwxzbjiqy0b00kgccjy3l513m9abb7lg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-futures-preview" ,rust-futures-preview-0.3)
        ("rust-pin-utils" ,rust-pin-utils-0.1))))))

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

(define-public rust-futures-util-0.3
  (package
    (name "rust-futures-util")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10aa1ar8bgkgbr4wzxlidkqkcxf77gffyj8j7768h831pcaq784z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures`
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("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-macro" ,rust-futures-macro-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-task" ,rust-futures-task-0.3)
        ("rust-memchr" ,rust-memchr-2)
        ("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-tokio-io" ,rust-tokio-io-0.1))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://rust-lang.github.io/futures-rs")
    (synopsis
     "Common utilities and extension traits for the @code{futures-rs} library")
    (description "This package provides common utilities and extension traits
for the @code{futures-rs} library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-futures-util-preview-0.3
  (package
    (name "rust-futures-util-preview")
    (version "0.3.0-alpha.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "futures-util-preview" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "138f8wy0vqy2gsgk28kldbqnrdcgwfv9f9xx6rwzkr8p7iinisaw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-futures-join-macro-preview" ,rust-futures-join-macro-preview-0.3)
        ("rust-futures-io-preview" ,rust-futures-io-preview-0.3)
        ("rust-futures-select-macro-preview"
         ,rust-futures-select-macro-preview-0.3)
        ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-pin-utils" ,rust-pin-utils-0.1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-io" ,rust-tokio-io-0.1))))
    (home-page "https://github.com/rust-lang/futures-rs")
    (synopsis "Utilities and extension traits for futures-rs library")
    (description
     "This package provides common utilities and extension traits for the
futures-rs library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-fuzzy-matcher-0.3
  (package
    (name "rust-fuzzy-matcher")
    (version "0.3.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fuzzy-matcher" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "153csv8rsk2vxagb68kpmiknvdd3bzqj03x805khckck28rllqal"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-thread-local" ,rust-thread-local-1))
       #:cargo-development-inputs
       (("rust-termion" ,rust-termion-1))))
    (home-page "https://github.com/lotabout/fuzzy-matcher")
    (synopsis "Fuzzy Matching Library")
    (description "This package provides a fuzzy matching library in Rust.")
    (license license:expat)))

(define-public rust-fxhash-0.2
  (package
    (name "rust-fxhash")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "fxhash" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "037mb9ichariqi45xm6mz0b11pa92gj38ba0409z3iz239sns6y3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1))
       #:cargo-development-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-seahash" ,rust-seahash-3))))
    (home-page "https://github.com/cbreeden/fxhash")
    (synopsis "Hashing algorithm from hasher used in FireFox and Rustc")
    (description
     "This package provides a fast, non-secure, hashing algorithm
derived from an internal hasher used in FireFox and Rustc.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-galil-seiferas-0.1
  (package
    (name "rust-galil-seiferas")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "galil-seiferas" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nhxks4qv1q6wrclxxbdch8k9h66i5ccdy3zn3913ym3zmfc4jkr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-defmac" ,rust-defmac-0.1)
        ("rust-unchecked-index" ,rust-unchecked-index-0.2))))
    (home-page "https://github.com/bluss/galil-seiferas")
    (synopsis "General string search in constant space, linear time")
    (description
     "This package provides general string search in constant space, linear
time, for nonorderable alphabets.")
    (license (list license:expat license:asl2.0))))

(define-public rust-gat-lending-iterator-0.1
  (package
    (name "rust-gat-lending-iterator")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gat-lending-iterator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1is3jhr615ip1jiiwwh727xswilxssp8b58cgahgq5k20ms13by9"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Crazytieguy/gat-lending-iterator")
    (synopsis "Library for iterators who's items can reference the iterator")
    (description
     "This package provides a library for iterators who's items can mutably
reference the iterator.")
    (license license:expat)))

(define-public rust-gat-std-0.1
  (package
    (name "rust-gat-std")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gat-std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14v4ldnzi8y8zkcj2qq7rj4af5ygk0s9iklflssxpcdgqzsfp3p0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-gat-std-proc" ,rust-gat-std-proc-0.1))))
    (home-page "https://github.com/CraftSpider/gat-std")
    (synopsis "Variants of Rust std traits that use GATs")
    (description "This package provides variants of Rust std traits that
use GATs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-gat-std-proc-0.1
  (package
    (name "rust-gat-std-proc")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gat-std-proc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0br6d92fg4g7s81lsms6q3ayss1bl19fanqxc7v1csnic2vaw84c"))))
    (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/CraftSpider/gat-std")
    (synopsis "Proc macros for gat-std")
    (description "This package provides proc macros for @code{gat-std}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-gcc-0.3
  (package
    (name "rust-gcc")
    (version "0.3.55")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gcc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; gcc-test folder missing from release tarball.
       #:cargo-inputs
       (("rust-rayon" ,rust-rayon-0.8))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/alexcrichton/cc-rs")
    (synopsis "Library to compile C/C++ code into a Rust library/application")
    (description
     "This package provides a build-time dependency for Cargo build scripts to
assist in invoking the native C compiler to compile native C code into a static
archive to be linked into Rustcode.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-generational-arena-0.2
  (package
    (name "rust-generational-arena")
    (version "0.2.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "generational-arena" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rwnfyprjwqafkwdz2irkds5a41jcjb3bsma3djknx4fy2pr8zl7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=cargo_readme_up_to_date")
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8))))
    (home-page "https://github.com/fitzgen/generational-arena")
    (synopsis "Arena allocator that supports deletion")
    (description
     "This package provides a safe arena allocator that supports deletion without
suffering from the ABA problem by using generational indices.")
    (license license:mpl2.0)))

(define-public rust-generator-0.8
  (package
    (name "rust-generator")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "generator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p9qqk9nzarjdcl5fr4iylvsv446g0svlpk63lxis4ysrqad2syc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-windows" ,rust-windows-0.58))))
    (home-page "https://github.com/Xudong-Huang/generator-rs.git")
    (synopsis "Stackful Generator Library in Rust")
    (description "This package provides a sackful generator library in
Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-generator-0.7
  (package
    (inherit rust-generator-0.8)
    (name "rust-generator")
    (version "0.7.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "generator" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0knp7cllkf90l4wmfbhmb3c0ha9xn9afrzmphain1d12zy26bhaw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-windows" ,rust-windows-0.48))))))

(define-public rust-generator-0.6
  (package
    (inherit rust-generator-0.7)
    (name "rust-generator")
    (version "0.6.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "generator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ik62cj1gm0lmj3xpksz2zn9jybcjszq5l9vz9b9sizcmzhkn786"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=test_scope_yield_from_send")
       #:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-generic-array-0.14
  (package
    (name "rust-generic-array")
    (version "0.14.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "generic-array" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Doc tests fail
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-typenum" ,rust-typenum-1)
        ("rust-version-check" ,rust-version-check-0.9)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/fizyk20/generic-array.git")
    (synopsis
     "Generic types implementing functionality of arrays")
    (description
     "Generic types implementing functionality of arrays.")
    (license license:expat)))

(define-public rust-generic-array-0.13
  (package
    (inherit rust-generic-array-0.14)
    (name "rust-generic-array")
    (version "0.13.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "generic-array" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "02g3zhqc086zmsb6kcmjs2fiprz8gq12g0xbm9g23215ydxfd5zp"))))
    (arguments
     `(#:tests? #f      ; Doc tests fail
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-generic-array-0.12
  (package
    (inherit rust-generic-array-0.13)
    (name "rust-generic-array")
    (version "0.12.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "generic-array" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1gfpay78vijl9vrwl1k9v7fbvbhkhcmnrk4kfg9l6x24y4s9zpzz"))))))

(define-public rust-generic-array-0.8
  (package
    (inherit rust-generic-array-0.12)
    (name "rust-generic-array")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "generic-array" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gkyr94q67gq31xa3qzmkpsjhh4jlgf54jx21lw2wlgawfq7yadj"))))
    (arguments
     `(#:cargo-test-flags '("--" "--skip=arr::doctests_only::DocTests")
       #:cargo-inputs (("rust-nodrop" ,rust-nodrop-0.1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-genetlink-0.2
  (package
    (name "rust-genetlink")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "genetlink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17q7zlmp95fx28zjkzh69g6d5q6rm2a3dkj7yy5jk8gsq5v0128z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
        ("rust-netlink-packet-generic" ,rust-netlink-packet-generic-0.3)
        ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
        ("rust-netlink-proto" ,rust-netlink-proto-0.11)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-netlink/genetlink")
    (synopsis "Communicate with generic netlink")
    (description "Communicate with generic netlink.")
    (license license:expat)))

(define-public rust-genmesh-0.6
  (package
    (name "rust-genmesh")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "genmesh" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "17qybydyblf3hjiw7mq181jpi4vrbb8dmsj0wi347r8k0m354g89"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cgmath" ,rust-cgmath-0.16)
        ("rust-mint" ,rust-mint-0.5))))
    (home-page "https://github.com/gfx-rs/genmesh")
    (synopsis "Package for generating 3D meshes")
    (description
     "This package provides a package for generating 3D meshes/")
    (license license:asl2.0)))

(define-public rust-geo-types-0.7
  (package
    (name "rust-geo-types")
    (version "0.7.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "geo-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "148rmd9rky1k6nyzykw81zvv0176q7w1dp0q554sav637av7js72"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-approx" ,rust-approx-0.4)
                       ("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-rstar" ,rust-rstar-0.9)
                       ("rust-rstar" ,rust-rstar-0.8)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.4))))
    (home-page "https://github.com/georust/geo")
    (synopsis "Geospatial primitive data types")
    (description "This package provides geospatial primitive data types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-geo-types-0.6
  (package
    (inherit rust-geo-types-0.7)
    (name "rust-geo-types")
    (version "0.6.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "geo-types" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1wivy6r2bzc32gxp5g5j689qz6p9ls5qgq0z8q64aayv3xd950vm"))))
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rstar" ,rust-rstar-0.8)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.3))))))

(define-public rust-getch-0.3
  (package
    (name "rust-getch")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "getch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a0v3ck9w65zcgg055laiyyvkb6lxaph1h3zvw6pgq99bcnhx68k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-termios" ,rust-termios-0.3))))
    (home-page "https://nest.pijul.com/pmeunier/getch")
    (synopsis "Portable implementation of getch")
    (description
     "This package provides a portable implementation of getch, using
@code{_getch} on Windows, and @code{termios} on Unix.")
    (license license:asl2.0)))

(define-public rust-gethostname-0.4
  (package
    (name "rust-gethostname")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gethostname" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "063qqhznyckwx9n4z4xrmdv10s0fi6kbr17r6bi1yjifki2y0xh1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags (list "--release" "--"
                                "--skip=gethostname_matches_system_hostname")
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-windows-targets" ,rust-windows-targets-0.48))))
    (home-page "https://github.com/swsnr/gethostname.rs")
    (synopsis "Rust implementation of gethostname for all platforms")
    (description "A Rust library that provides @code{gethostname()} for all
platforms.")
    (license license:asl2.0)))

(define-public rust-gethostname-0.3
  (package
    (inherit rust-gethostname-0.4)
    (name "rust-gethostname")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gethostname" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xy1wbx5k2bzi4cbaqj9wqgqsbn4f8pm6nsm1d86mibk66xd8rdv"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included
         "--skip=gethostname_matches_system_hostname")
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-gethostname-0.2
  (package
    (inherit rust-gethostname-0.3)
    (name "rust-gethostname")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gethostname" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bl6wf7zclzmjriipzh98rr84xv2ilj664z8ffxh0vn46m7d7sy1"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included
         "--skip=gethostname_matches_system_hostname")
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-getopts-0.2
  (package
    (name "rust-getopts")
    (version "0.2.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "getopts" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1mgb3qvivi26gs6ihqqhh8iyhp3vgxri6vwyrwg28w0xqzavznql"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1))
       #:cargo-development-inputs
       (("rust-log" ,rust-log-0.3))))
    (home-page "https://github.com/rust-lang/getopts")
    (synopsis "Rust library for option parsing for CLI utilities")
    (description "This library provides getopts-like option parsing.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-getrandom-0.2
  (package
    (name "rust-getrandom")
    (version "0.2.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "getrandom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mzlnrb3dgyd1fb84gvw10pyr8wdqdl4ry4sr64i1s8an66pqmn4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-wasi" ,rust-wasi-0.11)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/rust-random/getrandom")
    (synopsis "Retrieve random data from system source")
    (description
     "This package provides a small cross-platform library for
retrieving random data from system source.")
    (license (list license:expat license:asl2.0))))

(define-public rust-getrandom-0.1
  (package
    (inherit rust-getrandom-0.2)
    (name "rust-getrandom")
    (version "0.1.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "getrandom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kjzmz60qx9mn615ks1akjbf36n3lkv27zfwbcam0fzmj56wphwg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-stdweb" ,rust-stdweb-0.4)
        ("rust-wasi" ,rust-wasi-0.9)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))))

(define-public rust-getset-0.1
  (package
    (name "rust-getset")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "getset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f8yc83hm5b7vzscxq20ivdv7wlfvabn79j653zh9k3m1qjjfmz4"))))
    (build-system cargo-build-system)
    (arguments
     `(#: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))))
    (home-page "https://github.com/Hoverbear/getset")
    (synopsis "Getters and setters for Rust")
    (description
     "This package provides a procedural macro for generating the most basic
getters and setters on fields.")
    (license license:expat)))

(define-public rust-getset-0.0.9
  (package
    (name "rust-getset")
    (version "0.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "getset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0aaldwfs2690rjqg2ygan27l2qa614w2p6zj7k99n36pv2vzbcsv"))))
    (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/Hoverbear/getset")
    (synopsis "Getters and setters for Rust")
    (description
     "This package provides a procedural macro for generating the most basic
getters and setters on fields.")
    (license license:expat)))

(define-public rust-gettext-rs-0.7
  (package
    (name "rust-gettext-rs")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gettext-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12ikrzvx35aybip55ib9zmnjf8is4mhy2pfmgv50lhq8vkvr4km4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-gettext-sys" ,rust-gettext-sys-0.21)
                       ("rust-locale-config" ,rust-locale-config-0.3))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1))
       #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'use-system-gettext
                    (lambda _
                      (setenv "GETTEXT_SYSTEM" "true"))))))
    (inputs (list gettext-minimal))
    (home-page "https://github.com/Koka/gettext-rs")
    (synopsis "GNU Gettext FFI binding for Rust")
    (description "This package provides GNU Gettext FFI bindings for Rust.")
    (license license:expat)))

(define-public rust-gettext-sys-0.21
  (package
    (name "rust-gettext-sys")
    (version "0.21.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gettext-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rygxmqn0l4ylhmhmpjy3cjrwwzxyys6vnxa5jzbznpj51zpkf7p"))
       (modules '((guix build utils)))
       (snippet '(begin
                   (delete-file "gettext-0.21.tar.xz")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-temp-dir" ,rust-temp-dir-0.1))
       #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'use-system-gettext
                    (lambda _
                      (setenv "GETTEXT_SYSTEM" "true"))))))
    (inputs (list gettext-minimal))
    (home-page "https://github.com/Koka/gettext-rs")
    (synopsis "Gettext raw FFI bindings")
    (description "This package provides raw FFI bindings for GNU Gettext.")
    (license license:expat)))

(define-public rust-gfa-0.10
  (package
    (name "rust-gfa")
    (version "0.10.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gfa" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1x996rpfnflgi2j4dgaj5sdxdbf24zfm9d2ha0zy8aid0cd60cln"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bstr" ,rust-bstr-0.2)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-memmap" ,rust-memmap-0.7)
        ("rust-nom" ,rust-nom-5)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/chfi/rs-gfa")
    (synopsis "Library for graphs in the GFA (Graphical Fragment Assembly) format")
    (description
     "This package provides a library for working with graphs in the
@acronym{GFA, Graphical Fragment Assembly} format.")
    (license license:expat)))

(define-public rust-gg-alloc-1
  (package
    (name "rust-gg-alloc")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gg-alloc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fi2z9p5klgqbhgqxqxwz03j4axz4vf0s58mlndrxddy397i7r8y"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Badel2/gg-alloc")
    (synopsis "Custom allocator that only returns pointers above 2G")
    (description "This package provides a custom allocator that only returns
pointers above 2G.")
    (license license:gpl3)))

(define-public rust-gh-emoji-1
  (package
    (name "rust-gh-emoji")
    (version "1.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gh-emoji" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dwc7kr1dsb4bn8n87x7363c2c6vc4pi9fy6s74nk0r8vxhxz2pb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-phf" ,rust-phf-0.11)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://lib.rs/crates/gh-emoji")
    (synopsis "Convert @code{:emoji:} to Unicode")
    (description
     "Convert @code{:emoji:} to Unicode using @code{GitHub's} emoji names.")
    (license license:expat)))

(define-public rust-ghost-0.1
  (package
    (name "rust-ghost")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ghost" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ifsxmvb55y0khkpv0x8icv9dw4s6ym8lscixv83bk5zv3drgdir"))))
    (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-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/ghost")
    (synopsis "Define your own PhantomData")
    (description
     "This package makes it possible to define your own PhantomData and
similarly behaved unit types with generic parameters, which is not
permitted in ordinary Rust.")
    ;; Either license can be chosen at the users option.
    (license (list license:expat license:asl2.0))))

(define-public rust-gimli-0.31
  (package
    (name "rust-gimli")
    (version "0.31.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gimli" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gvqc0ramx8szv76jhfd4dms0zyamvlg4whhiz11j34hh3dqxqh7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-fallible-iterator" ,rust-fallible-iterator-0.3)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
       #:cargo-development-inputs
       (("rust-test-assembler" ,rust-test-assembler-0.1))))
    (home-page "https://github.com/gimli-rs/gimli")
    (synopsis "Library for reading and writing the DWARF debugging format")
    (description
     "This package provides a library for reading and writing the DWARF
debugging format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-glam-0.24
  (package
    (name "rust-glam")
    (version "0.24.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ibrq68ldg1gyynb5ss5hx0gr6p3397cfclh1xrl5prba4bqqhdm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-bytecheck" ,rust-bytecheck-0.6)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "3D math library for games and graphics")
    (description
     "This package provides a simple and fast 3D math library for games and
graphics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-glam-0.23
  (package
    (inherit rust-glam-0.24)
    (name "rust-glam")
    (version "0.23.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "076mdgmy38lhlvgng74iy2sr3iih58gx5qcz20g0hmamv6dgsjlf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-bytecheck" ,rust-bytecheck-0.6)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-glam-0.22
  (package
    (inherit rust-glam-0.24)
    (name "rust-glam")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0x57gyrxyfs409b3f5i64yy2pbcgkr2qkq8v3a0mmm8vdkargx8j"))))
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-bytecheck" ,rust-bytecheck-0.6)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))

(define-public rust-glam-0.21
  (package
    (inherit rust-glam-0.22)
    (name "rust-glam")
    (version "0.21.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05c8r639hz3ydlhbhv6d9z6193iivi8276zz2fq3hqw6ci8am3si"))))))

(define-public rust-glam-0.20
  (package
    (inherit rust-glam-0.22)
    (name "rust-glam")
    (version "0.20.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pv7n634vw2hn9fmi915pzgangyljgsp4m5505c3zq2bfiz9agpl"))))))

(define-public rust-glam-0.19
  (package
    (inherit rust-glam-0.22)
    (name "rust-glam")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jjia0nva5p7ca3dma8jhzxd4dmczgbhn3b338ffh5hmg7k0k19b"))))))

(define-public rust-glam-0.18
  (package
    (inherit rust-glam-0.22)
    (name "rust-glam")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d7f7f7cdbahxk677k6l8h7r4bxxni24nzdndwr8wyx71d4kwnjj"))))))

(define-public rust-glam-0.17
  (package
    (inherit rust-glam-0.24)
    (name "rust-glam")
    (version "0.17.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xm7jdygbxchdvk6k1l1pdag843nkwdm8fikwgp0i1gxgawk45z0"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-glam-0.16
  (package
    (name "rust-glam")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05izbgx93hnjk200144h9yxhy51cbygp2bbaqdj8czngki3w09j1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t  ; TODO: we need a more recent criterion
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "3D math library for games and graphics")
    (description
     "This package provides a simple and fast 3D math library for games and
graphics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-glam-0.15
  (package
    (name "rust-glam")
    (version "0.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jx587lxz9v9m0ph4dlshfgy0abax1zhlbjj5nvkchz4ir7mbfrs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t  ; TODO: we need a more recent criterion
       #:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-spirv-std" ,rust-spirv-std-0.4))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "3D math library for games and graphics")
    (description
     "This package provides a simple and fast 3D math library for games and
graphics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-glam-0.14
  (package
    (name "rust-glam")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1njk0cskaspc62ywxlzpiszbcb9hhh1yqg2ka105sg0hxgajhf9k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-spirv-std" ,rust-spirv-std-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "3D math library for games and graphics")
    (description
     "This package provides a simple and fast 3D math library for games and
graphics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-glam-0.13
  (package
    (name "rust-glam")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glam" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ps7f44844ydj7cjr7wk1hn2d83ds1ilq7p9b2vvhr0711b5n5bh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-spirv-std" ,rust-spirv-std-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/bitshifter/glam-rs")
    (synopsis "3D math library for games and graphics")
    (description
     "This package provides a simple and fast 3D math library for games and
graphics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-glium-0.32
  (package
    (name "rust-glium")
    (version "0.32.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glium" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gwknlxblg5hlwjg91y8pp5slr9dnca7cs1x3nwi8q5qxhl6fxnj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Creating EventLoop multiple times is not supported.
       #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-gl-generator" ,rust-gl-generator-0.14)
                       ("rust-glutin" ,rust-glutin-0.29)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-memoffset" ,rust-memoffset-0.6)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-takeable-option" ,rust-takeable-option-0.5))
       #:cargo-development-inputs (("rust-cgmath" ,rust-cgmath-0.18)
                                   ("rust-genmesh" ,rust-genmesh-0.6)
                                   ("rust-image" ,rust-image-0.24)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-obj" ,rust-obj-0.10)
                                   ("rust-ouroboros" ,rust-ouroboros-0.15)
                                   ("rust-rand" ,rust-rand-0.8))))
    (native-inputs (list pkg-config))
    (inputs (list expat fontconfig freetype))
    (home-page "https://github.com/glium/glium")
    (synopsis "OpenGL wrapper")
    (description
     "Glium is an intermediate layer between OpenGL and your application.  You
still need to manually handle the graphics pipeline, but without having to use
OpenGL's old and error-prone API.")
    (license license:asl2.0)))

(define-public rust-glium-0.31
  (package
    (inherit rust-glium-0.32)
    (name "rust-glium")
    (version "0.31.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glium" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06cfsq3mgjlq3bnxv7jh5bb5is7040xyvf8cf1x45vnq8fdz1d0a"))))
    (arguments
     `(#:skip-build? #true              ;XXX circular dependencies
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-glutin" ,rust-glutin-0.28)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-memoffset" ,rust-memoffset-0.6)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-takeable-option" ,rust-takeable-option-0.5))
       #:cargo-development-inputs
       (("rust-cgmath" ,rust-cgmath-0.18)
        ("rust-genmesh" ,rust-genmesh-0.6)
        ("rust-gl-generator" ,rust-gl-generator-0.14)
        ("rust-obj" ,rust-obj-0.10)
        ("rust-ouroboros" ,rust-ouroboros-0.14))))))

(define-public rust-glium-0.25
  (package
    (inherit rust-glium-0.31)
    (name "rust-glium")
    (version "0.25.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glium" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0mhjly07x10lxg802ppg16wbxddhh4fdnlg10i99qwpfamvqhzbd"))))
    (arguments
     `(#:tests? #f      ; Tests require XDG_RUNTIME_DIR
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-gl-generator" ,rust-gl-generator-0.11)
        ("rust-glutin" ,rust-glutin-0.21)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-smallvec" ,rust-smallvec-0.6)
        ("rust-takeable-option" ,rust-takeable-option-0.4))
       #:cargo-development-inputs
       (("rust-cgmath" ,rust-cgmath-0.17)
        ("rust-genmesh" ,rust-genmesh-0.6)
        ("rust-image" ,rust-image-0.21)
        ("rust-obj" ,rust-obj-0.9)
        ("rust-rand" ,rust-rand-0.6))))))

(define-public rust-glob-0.3
  (package
    (name "rust-glob")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glob" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "16zca52nglanv23q5qrwd5jinw3d3as5ylya6y1pbx47vkxvrynj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test::test_iteration_errors")
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/rust-lang/glob")
    (synopsis "Match file paths against Unix shell style patterns")
    (description
     "This package provides support for matching file paths against Unix
shell style patterns.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-glob-0.2
  (package
    (inherit rust-glob-0.3)
    (name "rust-glob")
    (version "0.2.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "glob" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))))

(define-public rust-glob-match-0.2
  (package
    (name "rust-glob-match")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "glob-match" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "178bjn684dd50px9n8lwa72fn94566d9wmcp86m9h8a17d8ck1cr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-globset" ,rust-globset-0.4))))
    (home-page "https://docs.rs/glob-match/0.2.1")
    (synopsis "An extremely fast glob matcher")
    (description "This package provides an extremely fast glob matcher.")
    (license license:expat)))

(define-public rust-globset-0.4
  (package
    (name "rust-globset")
    (version "0.4.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "globset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06gv8a5mg5q724lhdq4hp6zmv923whzm7mgpkghz3rs6crlcxw8m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-1)
        ("rust-bstr" ,rust-bstr-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex-automata" ,rust-regex-automata-0.4)
        ("rust-regex-syntax" ,rust-regex-syntax-0.8)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-glob" ,rust-glob-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/BurntSushi/ripgrep/tree/master/globset")
    (synopsis "Single glob and glob set matching")
    (description
     "This crate provides glob and glob set matching.  Glob set matching is
the process of matching one or more glob patterns against a single candidate
path simultaneously, and returning all of the globs that matched.")
    (license (list license:expat license:unlicense))))

(define-public rust-globwalk-0.9
  (package
    (name "rust-globwalk")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "globwalk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mz7bsa66p2rrgnz3l94ac4kbklh7mq8j30iizyxjy4qyvmn1xqb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-ignore" ,rust-ignore-0.4)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-docmatic" ,rust-docmatic-0.1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/gilnaa/globwalk")
    (synopsis "Glob-matched recursive file system walking")
    (description "This package provides glob-matched recursive file system
walking.  Based on both @code{rust-walkdir} and @code{rust-ignore}, this crate
inherits many goodies from both, such as limiting search depth and amount of
open file descriptors.")
    (license license:expat)))

(define-public rust-globwalk-0.8
  (package
    (inherit rust-globwalk-0.9)
    (name "rust-globwalk")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "globwalk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k6xwkydr7igvwjn3xkwjywk4213lcs53f576ilqz1h84jaazqwk"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-ignore" ,rust-ignore-0.4)
        ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-docmatic" ,rust-docmatic-0.1)
        ("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-gloo-timers-0.3
  (package
    (name "rust-gloo-timers")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gloo-timers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1519157n7xppkk6pdw5w52vy1llzn5iljkqd7q1h5609jv7l7cdv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/rustwasm/gloo")
    (synopsis "Convenience crate for working with JavaScript timers")
    (description
     "This package is a convenience crate for working with JavaScript
timers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-gloo-timers-0.2
  (package
    (inherit rust-gloo-timers-0.3)
    (name "rust-gloo-timers")
    (version "0.2.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "gloo-timers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p2yqcxw0q9kclhwpgshq1r4ijns07nmmagll3lvrgl7pdk5m6cv"))))))

(define-public rust-gmp-mpfr-sys-1
  (package
    (name "rust-gmp-mpfr-sys")
    (version "1.4.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gmp-mpfr-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1ysvdf352vcnb5ygmbwf5pkndqb0p6clmz0nqkf3nmz9ghssfim1"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            (delete-file-recursively "gmp-6.2.1-c")
            (delete-file-recursively "mpc-1.2.1-c")
            (delete-file-recursively "mpfr-4.1.0-p13-c")
            (substitute* "Cargo.toml"
              ;; Default to using system libraries.
              (("^default.*") "default = [\"use-system-libs\"]\n")
              ;; Also use the system library for each of the libraries.
              (("^mpc.*") "mpc = [\"use-system-libs\"]\n")
              (("^mpfr.*") "mpfr = [\"use-system-libs\"]\n"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (inputs
     (list gmp mpc mpfr))
    (home-page "https://gitlab.com/tspiteri/gmp-mpfr-sys")
    (synopsis "Rust FFI bindings for GMP, MPFR, and MPC")
    (description "This package provides Rust FFI bindings for the numeric
libraries GMP, MPFR, and MPC.")
    (license license:lgpl3+)))

(define-public rust-goblin-0.9
  (package
    (name "rust-goblin")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "goblin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08yrnjj5j4nddh6y1r8kf35ys7p3iwg6npga3nc4cwfps4r3zask"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;there are missing data files
       #:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-plain" ,rust-plain-0.2)
                       ("rust-scroll" ,rust-scroll-0.12))
       #:cargo-development-inputs (("rust-stderrlog" ,rust-stderrlog-0.5))))
    (home-page "https://github.com/m4b/goblin")
    (synopsis "ELF, Mach-o, and PE binary parsing and loading crate")
    (description "This package provides an ELF, Mach-o, and PE binary parsing
and loading crate.")
    (license license:expat)))

(define-public rust-goblin-0.8
  (package
    (inherit rust-goblin-0.9)
    (name "rust-goblin")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "goblin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0isg7yzqv7y9s4xs594niy4vqzpc7d6h58z65x06dxk5q4q3ldhv"))))
    (arguments
     `(#:tests? #f          ; Not all files included.
       #:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-plain" ,rust-plain-0.2)
                       ("rust-scroll" ,rust-scroll-0.12))
       #:cargo-development-inputs (("rust-stderrlog" ,rust-stderrlog-0.5))))))

(define-public rust-goblin-0.7
  (package
    (inherit rust-goblin-0.8)
    (name "rust-goblin")
    (version "0.7.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "goblin" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0d11fk9bdxzf228xpr8v6d6a01dib00khjg5bldk9kf2d51inz7j"))))
    (arguments
     `(#:tests? #f          ; Not all files included.
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-plain" ,rust-plain-0.2)
        ("rust-scroll" ,rust-scroll-0.11))))))

(define-public rust-graphql-client-0.14
  (package
    (name "rust-graphql-client")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "graphql_client" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jqlq5adcq6pidn5sq51nk5wn4sc3nvxrhjmkn802zsbyg3zs355"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=GraphQLQuery (line 43)")
       #:cargo-inputs (("rust-graphql-query-derive" ,rust-graphql-query-derive-0.14)
                       ("rust-reqwest" ,rust-reqwest-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/graphql-rust/graphql-client")
    (synopsis "Typed GraphQL requests and responses")
    (description
     "This package provides typed @code{GraphQL} requests and responses.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-graphql-client-codegen-0.14
  (package
    (name "rust-graphql-client-codegen")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "graphql_client_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02pv88c2b1jk00a9v1w0wlak0hvzj1fb9wxwqr9crh7h5h6fs9sy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-graphql-introspection-query" ,rust-graphql-introspection-query-0.2)
        ("rust-graphql-parser" ,rust-graphql-parser-0.4)
        ("rust-heck" ,rust-heck-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/graphql-rust/graphql-client")
    (synopsis "Utility crate for graphql_client")
    (description "This package provides a utility crate for graphql_client.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-graphql-introspection-query-0.2
  (package
    (name "rust-graphql-introspection-query")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "graphql-introspection-query" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vgd5y0zaw9n5hwd21xbcsswy6asg17ljd1411nbsh2irwr4fakz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/graphql-rust/graphql-client")
    (synopsis "GraphQL introspection query and response types")
    (description
     "This package provides @code{GraphQL} introspection query and response types.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-graphql-parser-0.4
  (package
    (name "rust-graphql-parser")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "graphql-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02gl4na7df21qlnwhyww4yz342bm2w4r3gi7vw0hhz1xi06qr0bs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-combine" ,rust-combine-4)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.5))))
    (home-page "https://github.com/graphql-rust/graphql-parser")
    (synopsis "Parser, AST and serializer for graphql query language")
    (description
     "This package provides a parser, AST and serializer for graphql query
language and scheme definition language (sometimes called IDL).")
    (license (list license:expat license:asl2.0))))

(define-public rust-graphql-parser-0.3
  (package
    (inherit rust-graphql-parser-0.4)
    (name "rust-graphql-parser")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "graphql-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wp6vnrhgi6q3b942zkc6p4mi104gbw71pnc0d5c1ps7ab7d9ayi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-combine" ,rust-combine-3)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.5))))))

(define-public rust-graphql-query-derive-0.14
  (package
    (name "rust-graphql-query-derive")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "graphql_query_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15qsxdp2yqixzd6fjvn03810jd7zd7msi9zs7nkwz67q72lbzzl3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-graphql-client-codegen" ,rust-graphql-client-codegen-0.14)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/graphql-rust/graphql-client")
    (synopsis "Utility crate for graphql_client")
    (description "This package provides a utility crate for graphql_client.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-greetd-ipc-0.10
  (package
    (name "rust-greetd-ipc")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "greetd_ipc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y1095qwmiwpm94z3vgbklbnlp088pi6vd1isp8l584izidjw3bh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://kl.wtf/projects/greetd")
    (synopsis "@command{greetd} IPC protocol library for Rust")
    (description
     "This package provides library that helps you use the
@command{greetd} JSON-based IPC protocol from Rust.")
    (license license:gpl3)))

(define-public rust-grep-0.3
  (package
    (name "rust-grep")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rij3x9xi70xmiqgjcp3iib4hrvmgcn22cvgm14xfa2ffd4yg2ih"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-grep-cli" ,rust-grep-cli-0.1)
                       ("rust-grep-matcher" ,rust-grep-matcher-0.1)
                       ("rust-grep-pcre2" ,rust-grep-pcre2-0.1)
                       ("rust-grep-printer" ,rust-grep-printer-0.2)
                       ("rust-grep-regex" ,rust-grep-regex-0.1)
                       ("rust-grep-searcher" ,rust-grep-searcher-0.1))
       #:cargo-development-inputs (("rust-termcolor" ,rust-termcolor-1)
                                   ("rust-walkdir" ,rust-walkdir-2))))
    (home-page
     "https://github.com/BurntSushi/ripgrep/tree/master/crates/grep")
    (synopsis "Line oriented regex searching as a library")
    (description
     "Fast line oriented regex searching as a library.")
    (license (list license:unlicense license:expat))))

(define-public rust-grep-0.2
  (package
    (inherit rust-grep-0.3)
    (name "rust-grep")
    (version "0.2.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i864d726laskszdpm3fdjdcmfipf9d5y4rjhaby6bzg348g0ydx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-grep-cli" ,rust-grep-cli-0.1)
        ("rust-grep-matcher" ,rust-grep-matcher-0.1)
        ("rust-grep-pcre2" ,rust-grep-pcre2-0.1)
        ("rust-grep-printer" ,rust-grep-printer-0.1)
        ("rust-grep-regex" ,rust-grep-regex-0.1)
        ("rust-grep-searcher" ,rust-grep-searcher-0.1))
       #:cargo-development-inputs
       (("rust-termcolor" ,rust-termcolor-1)
        ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-grep-cli-0.1
  (package
    (name "rust-grep-cli")
    (version "0.1.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-cli" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h6fwhkbxxvp4wpsh9vr6lms5lpwwcblryi697w7kwh61s7jiwa7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-globset" ,rust-globset-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-termcolor" ,rust-termcolor-1)
                       ("rust-winapi-util" ,rust-winapi-util-0.1))))
    (home-page
     "https://github.com/BurntSushi/ripgrep/tree/master/crates/cli")
    (synopsis "Utilities for search oriented command line applications")
    (description
     "This crate provides utilities for search oriented command line
applications.")
    (license (list license:unlicense license:expat))))

(define-public rust-grep-matcher-0.1
  (package
    (name "rust-grep-matcher")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-matcher" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00mcjar5b6y1pwf0gjdywzgh1fnp6jl612n9qznwyfm420d198s7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/BurntSushi/ripgrep")
    (synopsis "Trait for regular expressions")
    (description
     "This crate provides a low level interface for describing regular
expression matchers.  The @code{grep} crate uses this interface in order to make
the regex engine it uses pluggable.")
    (license (list license:expat license:unlicense))))

(define-public rust-grep-pcre2-0.1
  (package
    (name "rust-grep-pcre2")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-pcre2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0imybpfr9vpwna4qw30gxp9bs9j52f5152p06ak6x1sz0dp8cvyq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-grep-matcher" ,rust-grep-matcher-0.1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-pcre2" ,rust-pcre2-0.2))))
    (native-inputs (list pkg-config))
    (inputs (list pcre2))
    (home-page
     "https://github.com/BurntSushi/ripgrep/tree/master/crates/pcre2")
    (synopsis "Use PCRE2 with the grep crate")
    (description "Use PCRE2 with the grep crate.")
    (license (list license:expat license:unlicense))))

(define-public rust-grep-printer-0.2
  (package
    (name "rust-grep-printer")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-printer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zhkw3agp0sy2y37chvg0rylj1xk6kvyr0mbhd6sm4d8wh5124n1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-grep-matcher" ,rust-grep-matcher-0.1)
                       ("rust-grep-searcher" ,rust-grep-searcher-0.1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-termcolor" ,rust-termcolor-1))
       #:cargo-development-inputs
       (("rust-grep-regex" ,rust-grep-regex-0.1))))
    (home-page "https://github.com/BurntSushi/ripgrep/tree/master/crates/printer")
    (synopsis "Standard printing of search results")
    (description
     "This package is an implementation of the grep crate's Sink trait that
provides standard printing of search results, similar to grep itself.")
    (license (list license:unlicense license:expat))))

(define-public rust-grep-printer-0.1
  (package
    (inherit rust-grep-printer-0.2)
    (name "rust-grep-printer")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-printer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0sjsv4v7a88arckc880ns3mbn2y2p38mpnkh9dviznj9ixbm2ig1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.20)
        ("rust-bstr" ,rust-bstr-1)
        ("rust-grep-matcher" ,rust-grep-matcher-0.1)
        ("rust-grep-searcher" ,rust-grep-searcher-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-termcolor" ,rust-termcolor-1))
       #:cargo-development-inputs
       (("rust-grep-regex" ,rust-grep-regex-0.1))))))

(define-public rust-grep-regex-0.1
  (package
    (name "rust-grep-regex")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zhzz5hffx30ff7xi3p4m3amg5c4rr2i7a6kdfifg5ijgry19pcy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-grep-matcher" ,rust-grep-matcher-0.1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-regex-automata" ,rust-regex-automata-0.4)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.8))))
    (home-page "https://github.com/BurntSushi/ripgrep")
    (synopsis "Use Rust's regex library with the grep crate")
    (description
     "Use Rust's regex library with the grep crate.")
    (license (list license:unlicense license:expat))))

(define-public rust-grep-searcher-0.1
  (package
    (name "rust-grep-searcher")
    (version "0.1.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "grep-searcher" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nici6klcniqph272i323rlrwl60vqqk4kb0sq3s3q627x5w3dmr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1)
                       ("rust-grep-matcher" ,rust-grep-matcher-0.1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-memmap2" ,rust-memmap2-0.9))
       #:cargo-development-inputs (("rust-grep-regex" ,rust-grep-regex-0.1)
                                   ("rust-regex" ,rust-regex-1))))
    (home-page
     "https://github.com/BurntSushi/ripgrep/tree/master/crates/searcher")
    (synopsis "Line oriented regex searching as a library")
    (description
     "Fast line oriented regex searching as a library.")
    (license (list license:unlicense license:expat))))

(define-public rust-griddle-0.5
  (package
    (name "rust-griddle")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "griddle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qv3ynh0dzfjqz3wxz8yfkda1jxz8jam9mhjrlbv328v34i1vf3b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.7)
                       ("rust-hashbrown" ,rust-hashbrown-0.11)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/jonhoo/griddle.git")
    (synopsis "HashMap variant that spreads resize load across inserts")
    (description
     "This package provides a @code{HashMap} variant that spreads resize load
across inserts.")
    (license (list license:expat license:asl2.0))))

(define-public rust-group-0.13
  (package
    (name "rust-group")
    (version "0.13.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "group" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qqs2p5vqnv3zvq9mfjkmw3qlvgqb0c3cm6p33srkh7pc9sfzygh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ff" ,rust-ff-0.13)
        ("rust-memuse" ,rust-memuse-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-subtle" ,rust-subtle-2))))
    (home-page "https://github.com/zkcrypto/group")
    (synopsis "Elliptic curve group traits and utilities")
    (description "Elliptic curve group traits and utilities.")
    (license (list license:expat license:asl2.0))))

(define-public rust-groupable-0.2
  (package
    (name "rust-groupable")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "groupable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0msfvg8xw4bqi7y7xdkm8nvjjllznc10dnzkx8wnjr5yp119jq9j"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/ryman/groupable-rs")
    (synopsis "Easily aggregate groups of values from key-value iterators")
    (description
     "This package aggregates groups of values from key-value iterators.")
    (license license:expat)))

(define-public rust-guess-host-triple-0.1
  (package
    (name "rust-guess-host-triple")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "guess_host_triple" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "062fs1jkg157240cdn6dw11zm1c02llm9kp95knq6b4s6iijgmjx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-errno" ,rust-errno-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.5)
                                   ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://gitlab.com/Screwtapello/guess_host_triple/")
    (synopsis
     "Guess which Rust-supported platform is running the current code")
    (description
     "This package provides Guess which Rust-supported platform is running the
current code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-gumdrop-0.8
  (package
    (name "rust-gumdrop")
    (version "0.8.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "gumdrop" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1qr94qa0h758hn11yhqs2wmb1xaq8adjs8j6hljg1xnji7wh1isv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-gumdrop-derive" ,rust-gumdrop-derive-0.8))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1))))
    (home-page "https://github.com/murarth/gumdrop")
    (synopsis "Option parser with custom derive support")
    (description "This package provides option parser with custom derive
support.")
    (license (list license:expat license:asl2.0))))

(define-public rust-gumdrop-derive-0.8
  (package
    (name "rust-gumdrop-derive")
    (version "0.8.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "gumdrop_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "17d91ai4p9f9cwhqqnyivw9yi7prl9xzpaqq3a1yfxwx8k9rp7vj"))))
    (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/murarth/gumdrop")
    (synopsis "Custom derive support for gumdrop")
    (description "This package provides custom derive support for gumdrop.")
    (license (list license:expat license:asl2.0))))

(define-public rust-half-2
  (package
    (name "rust-half")
    (version "2.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "half" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "123q4zzw1x4309961i69igzd1wb7pj04aaii3kwasrz3599qrl3d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-crunchy" ,rust-crunchy-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-distr" ,rust-rand-distr-0.4)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-zerocopy" ,rust-zerocopy-0.6))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-crunchy" ,rust-crunchy-0.2)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/starkat99/half-rs")
    (synopsis "Half-precision floating point f16 type")
    (description
     "Half-precision floating point f16 type for Rust implementing the
IEEE 754-2008 binary16 type.")
    (license (list license:expat license:asl2.0))))

(define-public rust-half-1
  (package
    (inherit rust-half-2)
    (name "rust-half")
    (version "1.8.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "half" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00q4ki8ycdswapw6xn1q89vr7rzi1c8m99igps0lx1i1gzhyshqv"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-zerocopy" ,rust-zerocopy-0.6))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
        ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-halfbrown-0.2
  (package
    (name "rust-halfbrown")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "halfbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vzg46039pd730vc2hdhl09h86j4cd007awwlrf8l407hqd6d245"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/Licenser/halfbrown")
    (synopsis "Multi backend HashMap for different key space sizes")
    (description "This package provides a multi backend @code{HashMap} for
higher performance on different key space sizes.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-hamming-0.1
  (package
    (name "rust-hamming")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hamming" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q9hri1l1x1y7vv153kvdw9lkqslmbwgia5r3qj6i39pfji3s135"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.2)
        ("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/huonw/hamming")
    (synopsis "Count ones fast")
    (description
     "This package provides a tool to count ones, using rapid popcount
(hamming weight) techniques.  This provides a performant popcount and bitwise
hamming distance for a slice of bytes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-handlebars-5
  (package
    (name "rust-handlebars")
    (version "5.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "handlebars" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16skfw1kzkn188zv6plhrmiw1mjayy6d9f6iwklr6qqfdawqb16h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.5)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-rhai" ,rust-rhai-1)
                       ("rust-rust-embed" ,rust-rust-embed-8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-pprof" ,rust-pprof-0.13)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-time" ,rust-time-0.3)
                                   ("rust-tiny-http" ,rust-tiny-http-0.12))))
    (home-page "https://github.com/sunng87/handlebars-rust")
    (synopsis "Handlebars templating implemented in Rust")
    (description "Handlebars templating implemented in Rust.")
    (license license:expat)))

(define-public rust-handlebars-4
  (package
    (inherit rust-handlebars-5)
    (name "rust-handlebars")
    (version "4.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "handlebars" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09dj4rk6r9ngy1ki34mppcqq4pcnlhjd02yhnf724qpkkympp9ps"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-rhai" ,rust-rhai-1)
                       ("rust-rust-embed" ,rust-rust-embed-8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-pprof" ,rust-pprof-0.10)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-time" ,rust-time-0.3)
                                   ("rust-tiny-http" ,rust-tiny-http-0.11))))
    (native-inputs (list protobuf))))

(define-public rust-hash-hasher-2
  (package
    (name "rust-hash-hasher")
    (version "2.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hash_hasher" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "034cd4m3znwff3cd1i54c40944y999jz086d70rwpl0jfl01swkl"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/Fraser999/Hash-Hasher.git")
    (synopsis "Hasher designed to work with already-hashed or hash-like data")
    (description
     "This package provides a hasher which is designed to work with
already-hashed or hash-like data.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-hash32-0.3
  (package
    (name "rust-hash32")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hash32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01h68z8qi5gl9lnr17nz10lay8wjiidyjdyd60kqx8ibj090pmj7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1))))
    (home-page "https://github.com/japaric/hash32")
    (synopsis "32-bit hashing machinery")
    (description "This package provides 32-bit hashing machinery.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hash32-0.2
  (package
    (inherit rust-hash32-0.3)
    (name "rust-hash32")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hash32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rrbv5pc5b1vax6j6hk7zvlrpw0h6aybshxy9vbpgsrgfrc5zhxh"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1))))))

(define-public rust-hash32-0.1
  (package
    (inherit rust-hash32-0.2)
    (name "rust-hash32")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hash32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k7lv7hsbzv14pz90cxay6v7avh6d6kcrra0rsc45b33dvw1l16l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1))
       #:cargo-development-inputs
       (("rust-hash32-derive" ,rust-hash32-derive-0.1))))))

(define-public rust-hash32-derive-0.1
  (package
    (name "rust-hash32-derive")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hash32-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zy60cdqrccd9kc8w4hvk1q584b4gjr4d48n3dff42xn6alapljr"))))
    (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/japaric/hash32")
    (synopsis "Macros 1.1 implementation of @code{#[derive(Hash32)]}")
    (description "This package provides a macros 1.1 implementation of
@code{#[derive(Hash32)]}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hashbag-0.1
  (package
    (name "rust-hashbag")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbag" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14wx5rx11h0nb1rmlwmiw7719q2qf941x7ipcdg8yahb0sr99x4q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-griddle" ,rust-griddle-0.5)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/jonhoo/hashbag.git")
    (synopsis "Unordered multiset implementation using a hash bag")
    (description
     "This crate implements an unordered multiset implementation using a hash bag.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hashbrown-0.15
  (package
    (name "rust-hashbrown")
    (version "0.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12dj0yfn59p3kh3679ac0w1fagvzf4z2zp87a13gbbqbzw0185dz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-allocator-api2" ,rust-allocator-api2-0.2)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-equivalent" ,rust-equivalent-1)
        ("rust-foldhash" ,rust-foldhash-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bumpalo" ,rust-bumpalo-3)
                                   ("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-fnv" ,rust-fnv-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/rust-lang/hashbrown")
    (synopsis "Rust port of Google's SwissTable hash map")
    (description
     "This package provides a Rust port of Google's @code{SwissTable} hash map.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hashbrown-0.14
  (package
    (inherit rust-hashbrown-0.15)
    (name "rust-hashbrown")
    (version "0.14.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hashbrown" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wa1vy1xs3mp11bn3z9dv0jricgr6a2j0zkf1g19yz3vw4il89z5"))
              (modules '((guix build utils)))
              (snippet
               '(begin
                  (substitute* "Cargo.toml"
                    (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version)
                     (string-append "^" version)))))))
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-allocator-api2" ,rust-allocator-api2-0.2)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-equivalent" ,rust-equivalent-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bumpalo" ,rust-bumpalo-3)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hashbrown-0.13
  (package
    (inherit rust-hashbrown-0.14)
    (name "rust-hashbrown")
    (version "0.13.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hashbrown" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "03ji3n19j4b6mf2wlla81vsixcmlivglp6hgk79d1pcxfcrw38s3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-bumpalo" ,rust-bumpalo-3)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hashbrown-0.12
  (package
    (inherit rust-hashbrown-0.13)
    (name "rust-hashbrown")
    (version "0.12.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hashbrown" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la"))
              (modules '((guix build utils)))
              (snippet
               ;; Without this line users of hashbrown would be unable to
               ;; parse the contents of the Cargo.toml.
               '(substitute* "Cargo.toml"
                  (("\\[package\\]" m)
                   (string-append "cargo-features = [\"edition2021\"]\n" m))))))
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-bumpalo" ,rust-bumpalo-3)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hashbrown-0.11
  (package
    (name "rust-hashbrown")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vkjsf5nzs7qcia5ya79j9sq2p1caz4crrncr1675wwyj3ag0pmb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-bumpalo" ,rust-bumpalo-3)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-lang/hashbrown")
    (synopsis "Rust port of Google's SwissTable hash map")
    (description "This package provides a Rust port of Google's SwissTable
hash map.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-hashbrown-0.9
  (package
    (inherit rust-hashbrown-0.11)
    (name "rust-hashbrown")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "016dsm9s4xmxlkw2jfikm54qlz6vyk0qr280gab7kzp342jf9byp"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.4)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hashbrown-0.8
  (package
    (inherit rust-hashbrown-0.9)
    (name "rust-hashbrown")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09cckr5l71ypvfdbvv1qsag4222blixwn9300hpbr831j3vn46z9"))
    (modules '((guix build utils)))
    (snippet
     '(begin (substitute* "Cargo.toml"
               (("=1\\.0") "^1.0"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.3)
        ("rust-autocfg" ,rust-autocfg-1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hashbrown-0.6
  (package
    (inherit rust-hashbrown-0.9)
    (name "rust-hashbrown")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bbf9k46v57zi41m6hjwn83rjldyipv5zwxmdsa7a9c1rb876q4f"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.2)
        ("rust-autocfg" ,rust-autocfg-0.1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.5)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hashbrown-0.3
  (package
    (inherit rust-hashbrown-0.8)
    (name "rust-hashbrown")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashbrown" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "063fy36q5796kd836sc5dgcc58bkgr7sw1hczmnmhbblwjmskyr9"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-hashlink-0.9
  (package
    (name "rust-hashlink")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hashlink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1byq4nyrflm5s6wdx5qwp96l1qbp2d0nljvrr5yqrsfy51qzz93b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-rustc-hash" ,rust-rustc-hash-1)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/kyren/hashlink")
    (synopsis "HashMap-like containers with user controllable order")
    (description "This package provides HashMap-like containers that hold
their key-value pairs in a user controllable order.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hashlink-0.8
  (package
    (inherit rust-hashlink-0.9)
    (name "rust-hashlink")
    (version "0.8.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hashlink" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1xy8agkyp0llbqk9fcffc1xblayrrywlyrm2a7v93x8zygm4y2g8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-hdrhistogram-7
  (package
    (name "rust-hdrhistogram")
    (version "7.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hdrhistogram" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07ai0r66l1n53f2757gv07za1l5g1bprb7zz4v75kpbky6c92p3n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=sync::mt_record_static")
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.21)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-nom" ,rust-nom-7)
        ("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-ieee754" ,rust-ieee754-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rug" ,rust-rug-1))))
    (inputs
     (list gmp mpc mpfr))
    (home-page "https://github.com/HdrHistogram/HdrHistogram_rust")
    (synopsis "Port of HdrHistogram to Rust")
    (description "This package provides a port of @code{HdrHistogram} to Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-heapless-0.8
  (package
    (name "rust-heapless")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heapless" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b9zpdjv4qkl2511s2c80fz16fx9in4m9qkhbaa8j73032v9xyqb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-defmt" ,rust-defmt-0.3)
                       ("rust-hash32" ,rust-hash32-0.3)
                       ("rust-portable-atomic" ,rust-portable-atomic-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-ufmt-write" ,rust-ufmt-write-0.1))
       #:cargo-development-inputs (("rust-ufmt" ,rust-ufmt-0.2))))
    (home-page "https://github.com/japaric/heapless")
    (synopsis "Static friendly data structures")
    (description "This package provides @code{static} friendly data structures
that don't require dynamic memory allocation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-heapless-0.7
  (package
    (inherit rust-heapless-0.8)
    (name "rust-heapless")
    (version "0.7.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heapless" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kwn2wzk9fnsqnwp6rqjqhvh6hfq4rh225xwqjm72b5n1ry4bind"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atomic-polyfill" ,rust-atomic-polyfill-1)
        ("rust-defmt" ,rust-defmt-0.3)
        ("rust-hash32" ,rust-hash32-0.2)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-spin" ,rust-spin-0.9)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
        ("rust-ufmt-write" ,rust-ufmt-write-0.1))
       #:cargo-development-inputs (("rust-ufmt" ,rust-ufmt-0.1))))))

(define-public rust-heapless-0.6
  (package
    (inherit rust-heapless-0.7)
    (name "rust-heapless")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heapless" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08il083hcffis6km4is24kf2j0cnqs0bzz2b196l495zkk9d8jv3"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-as-slice" ,rust-as-slice-0.1)
        ("rust-generic-array" ,rust-generic-array-0.14)
        ("rust-hash32" ,rust-hash32-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
        ("rust-ufmt-write" ,rust-ufmt-write-0.1))))))

(define-public rust-heapless-0.5
  (package
    (inherit rust-heapless-0.6)
    (name "rust-heapless")
    (version "0.5.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heapless" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1wc444z7w5ahxs1phbwcdy86wfvfafywy35wc7xzr335l5l1m4bl"))))
    (arguments
     `(#:tests? #f      ; could not find `pool` in `heapless`
       #:cargo-inputs
       (("rust-as-slice" ,rust-as-slice-0.1)
        ("rust-generic-array" ,rust-generic-array-0.13)
        ("rust-hash32" ,rust-hash32-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
        ("rust-ufmt-write" ,rust-ufmt-write-0.1))
       #:cargo-development-inputs
       (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
        ("rust-ufmt" ,rust-ufmt-0.1))))))

(define-public rust-heapsize-0.4
  (package
    (name "rust-heapsize")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heapsize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/servo/heapsize")
    (synopsis "Measure the total runtime size of an object on the heap")
    (description
     "Infrastructure for measuring the total runtime size of an object on the
heap.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-heapsize-0.3
  (package
    (inherit rust-heapsize-0.4)
    (name "rust-heapsize")
    (version "0.3.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "heapsize" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys-0.2))))))

;; This package makes use of removed features
(define-public rust-heapsize-plugin-0.1
  (package
    (name "rust-heapsize-plugin")
    (version "0.1.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "heapsize_plugin" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1i72isf699q9jl167g2kg4xd6h3cd05rc79zaph58aqjy0g0m9y9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-heapsize" ,rust-heapsize-0.3))))
    (home-page "https://github.com/servo/heapsize")
    (synopsis "Measure runtime size of an object on the heap")
    (description
     "This package automatically generates infrastructure for measuring the
total runtime size of an object on the heap")
    (license license:mpl2.0)))

(define-public rust-heck-0.5
  (package
    (name "rust-heck")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heck" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/withoutboats/heck")
    (synopsis "Case conversion library")
    (description
     "This library exists to provide case conversion between common cases like
CamelCase and snake_case.  It is intended to be unicode aware, internally
consistent, and reasonably well performing.")
    (license (list license:expat license:asl2.0))))

(define-public rust-heck-0.4
  (package
    (inherit rust-heck-0.5)
    (name "rust-heck")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "heck" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a7mqsnycv5z4z5vnv1k34548jzmc0ajic7c1j8jsaspnhw5ql4m"))))
    (arguments
     `(#:cargo-inputs
       (("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))))

(define-public rust-heck-0.3
  (package
    (inherit rust-heck-0.4)
    (name "rust-heck")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "heck" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0b0kkr790p66lvzn9nsmfjvydrbmh9z5gb664jchwgw64vxiwqkd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))))

(define-public rust-hermit-abi-0.4
  (package
    (name "rust-hermit-abi")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hermit-abi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k1zwllx6nfq417hy38x4akw1ivlv68ymvnzyxs76ffgsqcskxpv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Only doc tests, which all fail.
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
    (home-page "https://github.com/hermit-os/hermit-rs")
    (synopsis "Hermit system calls definitions")
    (description "This package provides Hermit system calls definitions.")
    ;; The user can choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-hermit-abi-0.3
  (package
    (inherit rust-hermit-abi-0.4)
    (name "rust-hermit-abi")
    (version "0.3.9")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hermit-abi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "092hxjbjnq5fmz66grd9plxd0sh6ssg5fhgwwwqbrzgzkjwdycfj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-hermit-abi-0.2
  (package
    (inherit rust-hermit-abi-0.3)
    (name "rust-hermit-abi")
    (version "0.2.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hermit-abi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1iz439yz9qzk3rh9pqx2rz5c4107v3qbd7bppfsbzb1mzr02clgf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-hermit-abi-0.1
  (package
    (inherit rust-hermit-abi-0.2)
    (name "rust-hermit-abi")
    (version "0.1.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hermit-abi" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0cxcm8093nf5fyn114w8vxbrbcyvv91d4015rdnlgfll7cs6gd32"))))
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-hex-0.4
  (package
    (name "rust-hex")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w1a4davm1lgzpamwnba907aysmlrnygbqmfis2mqjx5m552a93z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/KokaKiwi/rust-hex")
    (synopsis "Encode and decode data to/from hexadecimals")
    (description "This crate allows for encoding and decoding data into/from
hexadecimal representation.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-hex-0.3
  (package
    (inherit rust-hex-0.4)
    (name "rust-hex")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hex" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))))

(define-public rust-hex-0.2
  (package
    (inherit rust-hex-0.4)
    (name "rust-hex")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ajkw40qzn2ygnqjj9w584f6l31wi318258n84pn2hax8la2i8nn"))))))

(define-public rust-hex-literal-0.4
  (package
    (name "rust-hex-literal")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hex-literal" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0iny5inkixsdr41pm2vkqh3fl66752z5j5c0cdxw16yl9ryjdqkg"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis
     "Convert hexadecimal string to byte array at compile time")
    (description
     "Procedural macro for converting hexadecimal string to byte array at
compile time.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hex-literal-0.3
  (package
    (inherit rust-hex-literal-0.4)
    (name "rust-hex-literal")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex-literal" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1q54yvyy0zls9bdrx15hk6yj304npndy9v4crn1h1vd95sfv5gby"))))))

(define-public rust-hex-literal-0.2
  (package
    (inherit rust-hex-literal-0.3)
    (name "rust-hex-literal")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex-literal" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04ba6fmk6q2mmzpl1wmfsaz3wyljcd0va8577wpmbx1wkccr61np"))))
    (arguments
     `(#:cargo-inputs
       (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))))

(define-public rust-hex-literal-0.1
  (package
    (inherit rust-hex-literal-0.2)
    (name "rust-hex-literal")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex-literal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ffnn5g9q5xhdmzj2ic5hk9y18kyqflbmqcssqcya9gixs5r5hnx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))

(define-public rust-hex-literal-impl-0.2
  (package
    (name "rust-hex-literal-impl")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex-literal-impl" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1a25nz3v1323qhy328qr0mdzz0iyhjfxdhvqgy8bcpraz318yi2r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Internal implementation of the hex-literal crate")
    (description
     "Internal implementation of the hex-literal crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-hex-literal-impl-0.1
  (package
    (inherit rust-hex-literal-impl-0.2)
    (name "rust-hex-literal-impl")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex-literal-impl" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1nnxqhyn9l998ma04ip79bmpqv1as6003s03g26ynhrr471p022j"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))

(define-public rust-hex-slice-0.1
  (package
    (name "rust-hex-slice")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hex-slice" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k3ck81m9lz5wz3c7qqj3j3m5xa5pr599n41gbq58i91w04a74al"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-suppositions" ,rust-suppositions-0.1))))
    (home-page "https://github.com/cstorey/hex-slice/")
    (synopsis "Extends the std::fmt::*Hex traits to slices")
    (description
     "This package provides extends the std::fmt::*Hex traits to slices.")
    (license license:expat)))

(define-public rust-hexf-parse-0.2
  (package
    (name "rust-hexf-parse")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hexf-parse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pr3a3sk66ddxdyxdxac7q6qaqjcn28v0njy22ghdpfn78l8d9nz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/lifthrasiir/hexf")
    (synopsis "Hexadecimal float support for Rust")
    (description "This library provides parsing functionality for hexadecimal
float literals.  Two functions @code{parse_hexf32} and @code{parse_hexf64} are
provided for each type.")
    (license license:cc0)))

(define-public rust-hexf-parse-0.1
  (package
    (inherit rust-hexf-parse-0.2)
    (name "rust-hexf-parse")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hexf-parse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b2h0lvksn8748764x46729ygpz8grack24spin0k29ssmr6yabr"))))))

(define-public rust-hidapi-2
  (package
    (name "rust-hidapi")
    (version "2.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hidapi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12ra7lh6fgxs8bya114qd0msbsy3dcvch5iwaxcv71kyygn7df03"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-nix" ,rust-nix-0.27)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-udev" ,rust-udev-0.8)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (native-inputs (list pkg-config))
    (inputs (list eudev hidapi))
    (home-page "https://github.com/ruabmbua/hidapi-rs")
    (synopsis "Rust-y wrapper around @code{hidapi}")
    (description "This crate provides a Rust abstraction over the features of
the C library @code{hidapi}.  Based off of @code{hidapi-rs} by Osspial.")
    (license license:expat)))

(define-public rust-hifitime-3
  (package
    (name "rust-hifitime")
    (version "3.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hifitime" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wy256hc7a33sag0hzz64ql1lpg5kvzyyknqpwalzf402bppln3w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--offline" "--"
                            "--skip=leap_seconds_file::leap_second_fetch"
                            "--skip=test_leap_seconds_file")
       #:cargo-inputs
       (("rust-der" ,rust-der-0.7)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-pyo3" ,rust-pyo3-0.20)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tabled" ,rust-tabled-0.15)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-iai" ,rust-iai-0.1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://nyxspace.com/")
    (synopsis "Ultra-precise date and time handling in Rust")
    (description
     "This package provides Ultra-precise date and time handling in Rust for
scientific applications with leap second support.")
    (license license:asl2.0)))

(define-public rust-histo-1
  (package
    (name "rust-histo")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "histo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v6znd33clam2b37rhn2pldd39l61605s1ivxzpjwdygi8f6mad6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quickcheck" ,rust-quickcheck-0.4)
                       ("rust-streaming-stats" ,rust-streaming-stats-0.1))))
    (home-page "https://github.com/fitzgen/histo")
    (synopsis "Simple histograms with configurable buckets")
    (description
     "This package provides simple histograms with configurable buckets.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-home-0.5
  (package
    (name "rust-home")
    (version "0.5.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "home" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kxb4k87a9sayr8jipr7nq9wpgmjk4hk4047hmf9kc24692k75aq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Shared definitions of home directories")
    (description "This package provides the definition of @code{home_dir}
used by @command{cargo} and @command{rustup}, as well as functions to find the
correct value of @samp{CARGO_HOME} and @samp{RUSTUP_HOME}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hostname-0.4
  (package
    (name "rust-hostname")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hostname" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fpjr3vgi64ly1ci8phdqjbha4k22c65c94a9drriiqnmk4cgizr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-windows" ,rust-windows-0.52))
       #:cargo-development-inputs (("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/svartalf/hostname")
    (synopsis "Cross-platform system's host name functions")
    (description
     "This package provides Cross-platform system's host name functions.")
    (license license:expat)))

(define-public rust-hostname-0.3
  (package
    (inherit rust-hostname-0.4)
    (name "rust-hostname")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hostname" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0rz8yf70cvzl3nry71m4bz9w6x4j9kdz3qng6pnwhk2h20z1qwrw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-match-cfg" ,rust-match-cfg-0.1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-version-sync" ,rust-version-sync-0.8))))))

(define-public rust-hostname-0.1
  (package
    (inherit rust-hostname-0.3)
    (name "rust-hostname")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "hostname" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winutil" ,rust-winutil-0.1))))))

(define-public rust-hostname-validator-1
  (package
    (name "rust-hostname-validator")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hostname-validator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qh5sxkckalibc28029ndnfd7w0s8mwvb68d82xbb25gr55acn7m"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/pop-os/hostname-validator")
    (synopsis "Validate hostnames according to IETF RFC 1123")
    (description
     "This package provides a way to validate hostnames according to IETF RFC 1123.")
    (license license:expat)))

(define-public rust-hound-3
  (package
    (name "rust-hound")
    (version "3.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hound" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0kw5yybfc7hdwxwm6d3m3h4ms52fkw0n0zch35drb52ci2xsmbb2"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t)) ; Cut the dependency graph.
    (home-page "https://github.com/ruuda/hound")
    (synopsis "Wav encoding and decoding library")
    (description "This package provides a wav encoding and decoding library.")
    (license license:asl2.0)))

(define-public rust-html-escape-0.2
  (package
    (name "rust-html-escape")
    (version "0.2.13")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "html-escape" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0xml3hswv0205fbm5iq7dqiwjkr6d245xkfppwi7wqjdfr4x86kd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-utf8-width" ,rust-utf8-width-0.1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://magiclen.org/html-escape")
    (synopsis "Library for encoding and escaping special characters in HTML")
    (description
     "This package provides a library for encoding and escaping special
characters in HTML, decoding and unescaping HTML entities as well.")
    (license license:expat)))

(define-public rust-html5ever-0.27
  (package
    (name "rust-html5ever")
    (version "0.27.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "html5ever" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1m24sbpk572f5qhhkj4kkxvsd64rn968s0vxwvqlds76w2pp2dy1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.12)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-typed-arena" ,rust-typed-arena-2))))
    (home-page "https://github.com/servo/html5ever")
    (synopsis "High-performance browser-grade HTML5 parser")
    (description
     "This package provides a high-performance browser-grade HTML5 parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-html5ever-0.26
  (package
    (inherit rust-html5ever-0.27)
    (name "rust-html5ever")
    (version "0.26.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "html5ever" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dx3lhfwngi21wa79cpjv5rd4wn5vmklr50wrwbryidq92mqr9my"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.11)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-typed-arena" ,rust-typed-arena-1))))))

(define-public rust-html5ever-0.25
  (package
    (inherit rust-html5ever-0.26)
    (name "rust-html5ever")
    (version "0.25.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "html5ever" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j1iw2yy3fglr5rxqfrghmhksxzpcfp8ps753qazqkaxisq3zhg5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.10)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-typed-arena" ,rust-typed-arena-1))))))

(define-public rust-html5ever-0.24
  (package
    (inherit rust-html5ever-0.25)
    (name "rust-html5ever")
    (version "0.24.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "html5ever" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1js4cr04941ld4r4fqpblvfigy75ds48qcbqhnr7nmz4l6q86m02"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.9)
        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-rustc-test" ,rust-rustc-test-0.3)
        ("rust-typed-arena" ,rust-typed-arena-1))))))

(define-public rust-html5ever-0.23
  (package
    (inherit rust-html5ever-0.24)
    (name "rust-html5ever")
    (version "0.23.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "html5ever" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dx8k7synrmf3fl6gcfm5q1cybfglvhc9xnvly3s5xcc0b45mrjw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.8)
        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-rustc-test" ,rust-rustc-test-0.3)
        ("rust-typed-arena" ,rust-typed-arena-1))))))

(define-public rust-htmlescape-0.3
  (package
    (name "rust-htmlescape")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "htmlescape" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qria8paf19qy5sgzzk3iiii9fp2j7spbhqf0zjxwrg7v9c500p9"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/veddan/rust-htmlescape")
    (synopsis "Library for HTML entity encoding and decoding")
    (description
     "This package provides a library for HTML entity encoding and decoding.")
    (license (list license:asl2.0 license:expat license:mpl2.0))))

(define-public rust-hts-sys-2
  (package
    (name "rust-hts-sys")
    (version "2.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "hts-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1cmvdwssd6xjk6w1iigaj5rl9ibx4zaaskfb2ji2mlhw28f7z3g3"))
              (modules '((guix build utils)))
              (snippet
               '(substitute* "Cargo.toml"
                  ;; Do not use zlib-ng; just use zlib.
                  (("\"zlib-ng\",") "")
                  (("\"static\",") "")
                  ;; No static libraries please in curl-sys.
                  (("\"static-curl\",") "")
                  (("\"static-ssl\",") "\"ssl\",")
                  ;; No static lzma.
                  (("\\[\"static\"\\]") "[]")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.69)
        ("rust-bzip2-sys" ,rust-bzip2-sys-0.1)
        ("rust-cc" ,rust-cc-1)
        ("rust-curl-sys" ,rust-curl-sys-0.4)
        ("rust-fs-utils" ,rust-fs-utils-1)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-libdeflate-sys" ,rust-libdeflate-sys-1)
        ("rust-libz-sys" ,rust-libz-sys-1)
        ("rust-lzma-sys" ,rust-lzma-sys-0.1)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9))))
    (inputs
     (list curl openssl xz zlib))
    (native-inputs
     (list cmake-minimal pkg-config))
    (home-page "https://github.com/samtools/htslib.git")
    (synopsis "Rust bindings to HTSlib")
    (description "This library provides Rust bindings to HTSlib.")
    (license license:expat)))

(define-public rust-human-date-parser-0.2
  (package
    (name "rust-human-date-parser")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "human-date-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qqwf20wz13ww06i1xqr9hfbg4c598f34n442q90qxzyxd6wy5hi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `concat_idents`
       #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/technologicalMayhem/human-date-parser")
    (synopsis "Parse human-readable strings that express dates")
    (description
     "This package parses strings that express dates in a human way into ones
usable by code.")
    (license license:expat)))

(define-public rust-human-date-parser-0.1
  (package
    (inherit rust-human-date-parser-0.2)
    (name "rust-human-date-parser")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "human-date-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06jflxqah06cnbc5d9mmffmzrhw3ybj9aigyxag39k2pf5mgkjy5"))))
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `concat_idents`
       #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-human-format-1
  (package
    (name "rust-human-format")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "human_format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f45y1vib7z96ij5xv623rxpdm3ap4bj11j84jqjg7a5iir1yfsw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t))   ; Wants the galvanic framework for the tests.
    (home-page "https://github.com/BobGneu/human-format-rs")
    (synopsis "Rust Port of human-format from node")
    (description
     "Rust Port of human-format from node, formatting numbers for us, while the
machines are still at bay.")
    (license license:expat)))

(define-public rust-human-panic-1
  (package
    (name "rust-human-panic")
    (version "1.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "human-panic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w7kbj2y3rrnax2bj4s3aashsm5lrg55wh58a44v7fr0k741dw64"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-os-info" ,rust-os-info-3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-toml" ,rust-toml-0.8)
                       ("rust-uuid" ,rust-uuid-1))))
    (home-page "https://github.com/rust-cli/human-panic")
    (synopsis "Panic messages for humans")
    (description "This package provides panic messages for humans.")
    (license (list license:expat license:asl2.0))))

(define-public rust-human-sort-0.2
  (package
    (name "rust-human-sort")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "human-sort" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06b2rj4hd4h4rf3mp5qk89ymlxh5iv3cpmrfgramwvay634hj2hl"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/paradakh/human-sort")
    (synopsis "Human sort (natural sort) implementation")
    (description
     "This package provides Human sort (natural sort) implementation.")
    (license license:expat)))

(define-public rust-humansize-2
  (package
    (name "rust-humansize")
    (version "2.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "humansize" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1msxd1akb3dydsa8qs461sds9krwnn31szvqgaq93p4x0ad1rdbc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libm" ,rust-libm-0.2))))
    (home-page "https://github.com/LeopoldArkham/humansize")
    (synopsis "Represent file sizes in a human-readable format")
    (description "This package provides a configurable crate to easily
represent file sizes in a human-readable format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-humansize-1
  (package
    (inherit rust-humansize-2)
    (name "rust-humansize")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "humansize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09nh6xyssghjajvip9crd79i4a40nw8r4bdwwg3dg5l7rfb6ja82"))))))

(define-public rust-humantime-2
  (package
    (name "rust-humantime")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "humantime" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1r55pfkkf5v0ji1x6izrjwdq9v6sc7bv99xj6srywcar37xmnfls"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-time" ,rust-time-0.1))))
    (home-page "https://github.com/tailhook/humantime")
    (synopsis
     "Parser and formatter for Duration and SystemTime")
    (description
     "A parser and formatter for @code{std::time::{Duration,
SystemTime}}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-humantime-1
  (package
    (inherit rust-humantime-2)
    (name "rust-humantime")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "humantime" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0krwgbf35pd46xvkqg14j070vircsndabahahlv3rwhflpy4q06z"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-quick-error" ,rust-quick-error-1))
       #:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-time" ,rust-time-0.1))))))

(define-public rust-humantime-serde-1
  (package
    (name "rust-humantime-serde")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "humantime-serde" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0310ri4zb33qbwqv0n51xysfjpnwc6rgxscl5i09jgcjlmgdp8sp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=test::test_html_root_url")
       #:cargo-inputs (("rust-humantime" ,rust-humantime-2)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-version-sync" ,rust-version-sync-0.8))))
    (home-page "https://github.com/jean-airoldie/humantime-serde")
    (synopsis "Humantime serialization timestamp format")
    (description
     "This package provides a Humantime serialization timestamp format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-hyphenation-0.8
  (package
    (name "rust-hyphenation")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hyphenation" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w2hib167vpz7jbg3zs92ifihj4akirlhb5509aib1df8i6dvx5w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-fst" ,rust-fst-0.4)
        ("rust-hyphenation-commons" ,rust-hyphenation-commons-0.8)
        ("rust-pocket-resources" ,rust-pocket-resources-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
    (home-page "https://github.com/tapeinosyne/hyphenation")
    (synopsis "Knuth-Liang hyphenation for a variety of languages")
    (description
     "This package provides a Knuth-Liang hyphenation for a variety of languages.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-hyphenation-commons-0.8
  (package
    (name "rust-hyphenation-commons")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hyphenation_commons" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gq59h9h8597k04yl53an0j56cvb0in98pxpp27dkiz5mnifgssz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fst" ,rust-fst-0.4)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/tapeinosyne/hyphenation")
    (synopsis "Proemial code for the @code{hyphenation} library")
    (description
     "This package provides a proemial code for the @code{hyphenation} library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-hyprland-0.3
  (package
    (name "rust-hyprland")
    (version "0.3.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hyprland" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1s6xi0k93nxi4xgw09k14xxvdygwqc5nr4fk9n4m3m35q0f8yypq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Some tests expect hyprland to be running.
         "--skip=dispatch::Dispatch::call"
         "--skip=event_listener::mutable::EventListener::new"
         "--skip=data"
         "--skip=dispatch")
         #:cargo-inputs
       (("rust-async-net" ,rust-async-net-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-derive-more" ,rust-derive-more-0.99)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-hyprland-macros" ,rust-hyprland-macros-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-paste" ,rust-paste-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1)
        ("rust-strum" ,rust-strum-0.26)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/hyprland-community/hyprland-rs")
    (synopsis "Unofficial rust wrapper for Hyprland's IPC")
    (description
     "This package provides an unofficial rust wrapper for hyprland's IPC.")
    (license license:gpl3+)))

(define-public rust-hyprland-macros-0.3
  (package
    (name "rust-hyprland-macros")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "hyprland-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1sz4yhwi7d1s2wfpk9ql43dgmiq0j3j8skmrijpi55lp5vax6hf9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page
     "https://github.com/hyprland-community/hyprland-rs/tree/master/hyprland-macros")
    (synopsis "Macros used in hyprland-rs")
    (description "This package provides async closure macro for hyprland-rs.")
    (license license:gpl3+)))

(define-public rust-iai-0.1
  (package
    (name "rust-iai")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iai" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y6nhl8kany25njkkka4i5crlk4bf45mj1sdhfjql9a2gk4ida3i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-iai-macro" ,rust-iai-macro-0.1))))
    (home-page "https://github.com/bheisler/iai")
    (synopsis "One-shot benchmarking library")
    (description "One-shot benchmarking library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-iai-macro-0.1
  (package
    (name "rust-iai-macro")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iai_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12xx8qn2740dhxldivc2zhhvqmfb488ry1dr2qyxw1n4ps2pyli5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))
       #:cargo-development-inputs (("rust-iai" ,rust-iai-0.1))))
    (home-page "https://github.com/bheisler/iai")
    (synopsis "Custom Test Framework macro for Iai")
    (description "Custom Test Framework macro for Iai.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-iana-time-zone-0.1
  (package
    (name "rust-iana-time-zone")
    (version "0.1.60")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "iana-time-zone" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0hdid5xz3jznm04lysjm3vi93h3c523w0hcc3xba47jl3ddbpzz7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ; Not all files included.
       #:cargo-inputs
       (("rust-android-system-properties" ,rust-android-system-properties-0.1)
        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
        ("rust-iana-time-zone-haiku" ,rust-iana-time-zone-haiku-0.1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-windows-core" ,rust-windows-core-0.52))
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/strawlab/iana-time-zone")
    (synopsis "IANA time zone")
    (description
     "This package provides the IANA time zone for the current system.")
    (license (list license:expat license:asl2.0))))

(define-public rust-iana-time-zone-haiku-0.1
  (package
    (name "rust-iana-time-zone-haiku")
    (version "0.1.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "iana-time-zone-haiku" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "17r6jmj31chn7xs9698r122mapq85mfnv98bb4pg6spm0si2f67k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/strawlab/iana-time-zone")
    (synopsis "IANA-time-zone support crate for Haiku OS")
    (description
     "This package provides iana-time-zone support crate for Haiku OS.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ical-0.11
  (package
    (name "rust-ical")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ical" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xkrs9a48qzbzf6mbrnsvj9i51h2z44l7h7236d75dx88dssnz4v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/Peltoche/ical-rs")
    (synopsis "Ical/Vcard parser for Rust")
    (description "This package provides an Ical/Vcard parser for Rust.")
    (license license:asl2.0)))

(define-public rust-ical-0.10
  (package
    (inherit rust-ical-0.11)
    (name "rust-ical")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ical" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w3nj8xjmhdgl5qljn61ldgfmd35xpni88b43s5fad7fk7mx9fnl"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-icu-collections-1
  (package
    (name "rust-icu-collections")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_collections" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09j5kskirl59mvqc8kabhy7005yyy7dp88jw9f6f3gkf419a8byv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `icu_benchmark_macros`
       #:cargo-inputs (("rust-databake" ,rust-databake-0.1)
                       ("rust-displaydoc" ,rust-displaydoc-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-yoke" ,rust-yoke-0.7)
                       ("rust-zerofrom" ,rust-zerofrom-0.1)
                       ("rust-zerovec" ,rust-zerovec-0.10))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-iai" ,rust-iai-0.1)
                                   ("rust-postcard" ,rust-postcard-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-toml" ,rust-toml-0.5))))
    (home-page "https://icu4x.unicode.org")
    (synopsis "Collection of API for use in ICU libraries")
    (description
     "This package provides a collection of APIs for use in ICU libraries.")
    (license license:unicode)))

(define-public rust-icu-locid-1
  (package
    (name "rust-icu-locid")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_locid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dznvd1c5b02iilqm044q4hvar0sqibq1z46prqwjzwif61vpb0k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `icu_benchmark_macros`
       #:cargo-inputs (("rust-databake" ,rust-databake-0.1)
                       ("rust-displaydoc" ,rust-displaydoc-0.2)
                       ("rust-litemap" ,rust-litemap-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tinystr" ,rust-tinystr-0.7)
                       ("rust-writeable" ,rust-writeable-0.5)
                       ("rust-zerovec" ,rust-zerovec-0.10))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-iai" ,rust-iai-0.1)
                                   ("rust-postcard" ,rust-postcard-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://icu4x.unicode.org")
    (synopsis "API for managing Unicode Language and Locale Identifiers")
    (description
     "This package provides an API for managing Unicode Language and
Locale Identifiers.")
    (license license:unicode)))

(define-public rust-icu-locid-transform-1
  (package
    (name "rust-icu-locid-transform")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_locid_transform" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kmmi1kmj9yph6mdgkc7v3wz6995v7ly3n80vbg0zr78bp1iml81"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f      ; use of undeclared crate or module `writeable`
           #:cargo-inputs
           (list rust-databake-0.1
                 rust-displaydoc-0.2
                 rust-icu-locid-1
                 rust-icu-locid-transform-data-1
                 rust-icu-provider-1
                 rust-serde-1
                 rust-tinystr-0.7
                 rust-zerovec-0.10)
           #:cargo-development-inputs
           (list rust-criterion-0.5
                 rust-serde-1
                 rust-serde-json-1)))
    (home-page "https://icu4x.unicode.org")
    (synopsis "API for Unicode Language and Locale Identifiers canonicalization")
    (description
     "This package provides an API for Unicode Language and Locale
Identifiers canonicalization.")
    (license license:unicode)))

(define-public rust-icu-locid-transform-data-1
  (package
    (name "rust-icu-locid-transform-data")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_locid_transform_data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vkgjixm0wzp2n3v5mw4j89ly05bg3lx96jpdggbwlpqi0rzzj7x"))))
    (build-system cargo-build-system)
    (home-page "https://icu4x.unicode.org")
    (synopsis "Data for the icu_locid_transform crate")
    (description
     "This package provides data for the icu_locid_transform crate.")
    (license license:unicode)))

(define-public rust-icu-normalizer-1
  (package
    (name "rust-icu-normalizer")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_normalizer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kx8qryp8ma8fw1vijbgbnf7zz9f2j4d14rw36fmjs7cl86kxkhr"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-test-flags
           '(list "--"
                  "--skip=properties::CanonicalCombiningClassMap"
                  "--skip=properties::CanonicalComposition::compose"
                  "--skip=properties::CanonicalDecomposition::decompose")
           #:cargo-inputs
           (list rust-databake-0.1
                 rust-displaydoc-0.2
                 rust-icu-collections-1
                 rust-icu-normalizer-data-1
                 rust-icu-properties-1
                 rust-icu-provider-1
                 rust-serde-1
                 rust-smallvec-1
                 rust-utf16-iter-1
                 rust-utf8-iter-1
                 rust-write16-1
                 rust-zerovec-0.10)
           #:cargo-development-inputs
           (list rust-arraystring-0.3
                 rust-arrayvec-0.7
                 rust-atoi-1
                 rust-criterion-0.5
                 rust-detone-1
                 rust-write16-1)))
    (home-page "https://icu4x.unicode.org")
    (synopsis "API for normalizing text into Unicode Normalization Forms")
    (description
     "This package provides an API for normalizing text into Unicode
Normalization Forms.")
    (license license:unicode)))

(define-public rust-icu-normalizer-data-1
  (package
    (name "rust-icu-normalizer-data")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_normalizer_data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05lmk0zf0q7nzjnj5kbmsigj3qgr0rwicnn5pqi9n7krmbvzpjpq"))))
    (build-system cargo-build-system)
    (home-page "https://icu4x.unicode.org")
    (synopsis "Data for the icu_normalizer crate")
    (description "This package provides data for the icu_normalizer crate.")
    (license license:unicode)))

(define-public rust-icu-properties-1
  (package
    (name "rust-icu-properties")
    (version "1.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_properties" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xgf584rx10xc1p7zjr78k0n4zn3g23rrg6v2ln31ingcq3h5mlk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `icu`
       #:cargo-inputs (("rust-databake" ,rust-databake-0.1)
                       ("rust-displaydoc" ,rust-displaydoc-0.2)
                       ("rust-icu-collections" ,rust-icu-collections-1)
                       ("rust-icu-locid-transform" ,rust-icu-locid-transform-1)
                       ("rust-icu-properties-data" ,rust-icu-properties-data-1)
                       ("rust-icu-provider" ,rust-icu-provider-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tinystr" ,rust-tinystr-0.7)
                       ("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
                       ("rust-zerovec" ,rust-zerovec-0.10))))
    (home-page "https://icu4x.unicode.org")
    (synopsis "Definitions for Unicode properties")
    (description "This package provides Definitions for Unicode properties.")
    (license license:unicode)))

(define-public rust-icu-properties-data-1
  (package
    (name "rust-icu-properties-data")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_properties_data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0scms7pd5a7yxx9hfl167f5qdf44as6r3bd8myhlngnxqgxyza37"))))
    (build-system cargo-build-system)
    (home-page "https://icu4x.unicode.org")
    (synopsis "Data for the icu_properties crate")
    (description "This package provides data for the icu_properties crate.")
    (license license:unicode)))

(define-public rust-icu-provider-1
  (package
    (name "rust-icu-provider")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_provider" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nb8vvgw8dv2inqklvk05fs0qxzkw8xrg2n9vgid6y7gm3423m3f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `serde`
       #:cargo-inputs (("rust-bincode" ,rust-bincode-1)
                       ("rust-databake" ,rust-databake-0.1)
                       ("rust-displaydoc" ,rust-displaydoc-0.2)
                       ("rust-erased-serde" ,rust-erased-serde-0.3)
                       ("rust-icu-locid" ,rust-icu-locid-1)
                       ("rust-icu-provider-macros" ,rust-icu-provider-macros-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-postcard" ,rust-postcard-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-tinystr" ,rust-tinystr-0.7)
                       ("rust-writeable" ,rust-writeable-0.5)
                       ("rust-yoke" ,rust-yoke-0.7)
                       ("rust-zerofrom" ,rust-zerofrom-0.1)
                       ("rust-zerovec" ,rust-zerovec-0.10))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://icu4x.unicode.org")
    (synopsis "Trait and struct definitions for the ICU data provider")
    (description
     "This package provides trait and struct definitions for the ICU data provider.")
    (license license:unicode)))

(define-public rust-icu-provider-macros-1
  (package
    (name "rust-icu-provider-macros")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "icu_provider_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mjs0w7fcm2lcqmbakhninzrjwqs485lkps4hz0cv3k36y9rxj0y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=src/lib.rs - data_struct (line 53)")
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://icu4x.unicode.org")
    (synopsis "Proc macros for ICU data providers")
    (description "This package provides proc macros for ICU data providers.")
    (license license:unicode)))

(define-public rust-idea-0.5
  (package
    (name "rust-idea")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "idea" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0xv4hd9mgrwgzfl7cc5nlwyahm9yni5z9dwb3c1z5mqr8h05fm87"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cipher" ,rust-cipher-0.4))
       #:cargo-development-inputs (("rust-cipher" ,rust-cipher-0.4))))
    (home-page "https://github.com/RustCrypto/block-ciphers")
    (synopsis "IDEA block cipher")
    (description "IDEA block cipher")
    (license (list license:expat license:asl2.0))))

(define-public rust-ident-case-1
  (package
    (name "rust-ident-case")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ident_case" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/TedDriggs/ident_case")
    (synopsis "Utility for applying case rules to Rust identifiers")
    (description
     "Utility for applying case rules to Rust identifiers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-idna-1
  (package
    (name "rust-idna")
    (version "1.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "idna" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zlajvm2k3wy0ay8plr07w22hxkkmrxkffa6ah57ac6nci984vv8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-idna-adapter" ,rust-idna-adapter-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-utf8-iter" ,rust-utf8-iter-1))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-bencher" ,rust-bencher-0.1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tester" ,rust-tester-0.9))))
    (home-page "https://github.com/servo/rust-url/")
    (synopsis "Internationalizing Domain Names in Applications and Punycode")
    (description
     "IDNA (Internationalizing Domain Names in Applications) and Punycode.")
    (license (list license:expat license:asl2.0))))

(define-public rust-idna-0.5
  (package
    (inherit rust-idna-1)
    (name "rust-idna")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "idna" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xhjrcjqq0l5bpzvdgylvpkgk94panxgsirzhjnnqfdgc4a9nkb3"))))
    (arguments
     `(#:cargo-inputs (("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
                       ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-bencher" ,rust-bencher-0.1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tester" ,rust-tester-0.9))))))

(define-public rust-idna-0.4
  (package
    (inherit rust-idna-0.5)
    (name "rust-idna")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "idna" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0z4i1dhqk83bbv230pp1c31dqdlnscvqxvc85n40ihgvgfqdc83x"))))
    (arguments
     `(#:cargo-inputs
       (("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-bencher" ,rust-bencher-0.1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tester" ,rust-tester-0.9))))))

(define-public rust-idna-0.3
  (package
    (inherit rust-idna-0.4)
    (name "rust-idna")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "idna" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rh9f9jls0jy3g8rh2bfpjhvvhh4q80348jc4jr2s844133xykg1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-bencher" ,rust-bencher-0.1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tester" ,rust-tester-0.9))))))

(define-public rust-idna-0.2
  (package
    (inherit rust-idna-0.3)
    (name "rust-idna")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "idna" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y7ca2w5qp9msgl57n03zqp78gq1bk2crqzg6kv7a542mdphm2j1"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-matches" ,rust-matches-0.1)
        ("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))

(define-public rust-idna-0.1
  (package
    (inherit rust-idna-0.2)
    (name "rust-idna")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "idna" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0kl4gs5kaydn4v07c6ka33spm9qdh2np0x7iw7g5zd8z1c7rxw1q"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-matches" ,rust-matches-0.1)
        ("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
       #:cargo-development-inputs
       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-rustc-test" ,rust-rustc-test-0.3))))))

(define-public rust-idna-adapter-1
  (package
    (name "rust-idna-adapter")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "idna_adapter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wggnkiivaj5lw0g0384ql2d7zk4ppkn3b1ry4n0ncjpr7qivjns"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-icu-normalizer" ,rust-icu-normalizer-1)
                       ("rust-icu-properties" ,rust-icu-properties-1))))
    (home-page "https://docs.rs/crate/idna_adapter/latest")
    (synopsis "Back end adapter for idna")
    (description "This package provides the back end adapter for idna.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ieee754-0.2
  (package
    (name "rust-ieee754")
    (version "0.2.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ieee754" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1771d2kvw1wga65yrg9m7maky0fzsaq9hvhkv91n6gmxmjfdl1wh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2))))
    (home-page "https://github.com/huonw/ieee754")
    (synopsis "Low-level manipulations of IEEE754 floating-point numbers")
    (description "This is a package for low-level manipulations of IEEE754
floating-point numbers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-if-addrs-0.10
  (package
    (name "rust-if-addrs")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "if-addrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02lgvpz14a7qx3s704i18xf3dp6ywniwij8mzy0kfr0sslch1fya"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (native-inputs (list iproute))
    (home-page "https://github.com/messense/if-addrs")
    (synopsis "Return interface IP addresses on POSIX and Windows systems")
    (description "Returns the IP addresses for all network interfaces,
on both POSIX and Microsoft Windows hosts.")
    (license (list license:expat license:bsd-3))))

(define-public rust-if-addrs-0.7
  (package
    (inherit rust-if-addrs-0.10)
    (name "rust-if-addrs")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "if-addrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a81w57p0hx6ql2ds2ayps38n0ndfaqcs618qzdyjln7zw0zmh6b"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-libc" ,rust-libc-0.2)
             ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-if-addrs-0.6
  (package
    (inherit rust-if-addrs-0.7)
    (name "rust-if-addrs")
    (version "0.6.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "if-addrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pkkkwm9znn07xq9s6glf8lxzn2rdxvy8kwkw6czrw64ywhy8wr2"))))
    (arguments
     (list #:cargo-inputs `(("rust-if-addrs-sys" ,rust-if-addrs-sys-0.3)
                            ("rust-libc" ,rust-libc-0.2)
                            ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-if-addrs-sys-0.3
  (package
    (name "rust-if-addrs-sys")
    (version "0.3.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "if-addrs-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1skrzs79rafv185064p44r0k1va9ig4bfnpbwlvyhxh4g3fvjx6y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/messense/if-addrs")
    (synopsis "Retrieve the IP addresses for all network interfaces")
    (description "Retrieve the IP addresses for all network interfaces.
Works on POSIX and Windows hosts.")
    (license (list license:expat license:bsd-3))))

(define-public rust-if-chain-1
  (package
    (name "rust-if-chain")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "if_chain" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vdrylnqw8vd99j20jgalh1vp1vh7dwnkdzsmlx4yjsvfsmf2mnb"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/lfairy/if_chain")
    (synopsis "Macro for writing nested @code{if let} expressions")
    (description "This package provides a macro for writing nested @code{if
let} expressions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ignore-0.4
  (package
    (name "rust-ignore")
    (version "0.4.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ignore" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jysggjfmlxbg60vhhiz4pb8jfb7cnq5swdsvxknbs7x18wgv2bd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
                       ("rust-globset" ,rust-globset-0.4)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-regex-automata" ,rust-regex-automata-0.4)
                       ("rust-same-file" ,rust-same-file-1)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-winapi-util" ,rust-winapi-util-0.1))
       #:cargo-development-inputs
       (("rust-bstr" ,rust-bstr-1)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5))))
    (home-page
     "https://github.com/BurntSushi/ripgrep/tree/master/crates/ignore")
    (synopsis "Efficiently match ignore files such as @file{.gitignore}")
    (description
     "This package provides a fast library for efficiently matching
ignore files such as @file{.gitignore} against file paths.")
    (license (list license:unlicense license:expat))))

(define-public rust-ignore-files-1
  (package
    (name "rust-ignore-files")
    (version "1.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ignore-files" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ifzz6i2ypv1ffvnx75yflzzbv04jzgzil5lci25aik3bkcfsa17"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dunce" ,rust-dunce-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-gix-config" ,rust-gix-config-0.31)
                       ("rust-ignore" ,rust-ignore-0.4)
                       ("rust-miette" ,rust-miette-5)
                       ("rust-project-origins" ,rust-project-origins-1)
                       ("rust-radix-trie" ,rust-radix-trie-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/watchexec/watchexec")
    (synopsis "Find, parse, and interpret ignore files")
    (description "This package provides functions to find, parse, and interpret
ignore files.")
    (license license:asl2.0)))

(define-public rust-im-rc-15
  (package
    (name "rust-im-rc")
    (version "15.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "im-rc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zp5vdjj4b4lg8jnrz0wmdln2cdd9gn24a4psdvwd050bykma6dg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-bitmaps" ,rust-bitmaps-2)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-refpool" ,rust-refpool-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-sized-chunks" ,rust-sized-chunks-0.6)
        ("rust-typenum" ,rust-typenum-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-metrohash" ,rust-metrohash-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-proptest-derive" ,rust-proptest-derive-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://docs.rs/crate/im")
    (synopsis "Fast immutable collection datatypes for Rust")
    (description "@code{im-rc} provides immutable collection datatypes for
Rust that are very fast but not thread-safe.  A thread-safe (and slower)
variant of this library is available separately as @code{im}.")
    (license license:mpl2.0)))

(define-public rust-imara-diff-0.1
  (package
    (name "rust-imara-diff")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "imara-diff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
          "008abq9x276wsak6xl27r309pz1f6li3f82p2qscsi5xaaia37gw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Do not pull in old copies of rust-gix.
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-hashbrown" ,rust-hashbrown-0.12))))
    (home-page "https://github.com/pascalkuthe/imara-diff")
    (synopsis "Minimal terminfo library")
    (description "This package provides a minimal terminfo library.")
    (license license:asl2.0)))

(define-public rust-imbl-2
  (package
    (name "rust-imbl")
    (version "2.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "imbl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11bhchs0d1bbbmr8ari4y4d62vqxs7xg4fkhjlhgbv98h0n193cp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-bitmaps" ,rust-bitmaps-3)
                       ("rust-imbl-sized-chunks" ,rust-imbl-sized-chunks-0.1)
                       ("rust-proptest" ,rust-proptest-1)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rand-core" ,rust-rand-core-0.6)
                       ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.6)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-refpool" ,rust-refpool-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-metrohash" ,rust-metrohash-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-proptest-derive" ,rust-proptest-derive-0.4)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/jneem/imbl")
    (synopsis "Immutable collection datatypes")
    (description "This crate provides immutable collection datatypes.")
    (license license:mpl2.0)))

(define-public rust-imbl-sized-chunks-0.1
  (package
    (name "rust-imbl-sized-chunks")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "imbl-sized-chunks" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qzdw55na2w6fd44p7y9rh05nxa98gzpaigmwg57sy7db3xhch0l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-array-ops" ,rust-array-ops-0.1)
                       ("rust-bitmaps" ,rust-bitmaps-3)
                       ("rust-refpool" ,rust-refpool-0.4))))
    (home-page "https://github.com/jneem/imbl-sized-chunks")
    (synopsis "Sized chunk datatypes")
    (description "This package provides sized chunk datatypes.")
    (license license:mpl2.0)))

(define-public rust-impl-more-0.1
  (package
    (name "rust-impl-more")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "impl-more" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bdv06br4p766rcgihhjwqyz8fcz31xyaq14rr53vfh3kifafv10"))))
    (build-system cargo-build-system)
    (arguments (list #:tests? #f))  ; use of undeclared crate or module `eyre`
    (home-page "https://github.com/robjtede/impl-more")
    (synopsis "Concise, declarative trait implementation macros")
    (description "Concise, declarative trait implementation macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-impl-serde-0.3
  (package
    (name "rust-impl-serde")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "impl-serde" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0p2zy8ikdxd28s3vb22nwqgnwjn8gx920sr2svdn93j3yd1g0la5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-uint" ,rust-uint-0.9))))
    (home-page "https://github.com/paritytech/parity-common")
    (synopsis "Serde serialization support for uint and fixed hash")
    (description "This package provides @code{serde} serialization support
for @code{uint} and @code{fixed_hash}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-impl-trait-for-tuples-0.2
  (package
    (name "rust-impl-trait-for-tuples")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "impl-trait-for-tuples" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1vii634v1zvb680h28md42xpdrj1j1d50ix3dga95fxkql8cpnnm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false ; Some tests fail. Unstable compiler messages?
       #:cargo-inputs
        (("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/bkchr/impl-trait-for-tuples")
    (synopsis "Attribute macro to implement a trait for tuples")
    (description "This package provides attribute macro to implement
a trait for tuples.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-impls-1
  (package
    (name "rust-impls")
    (version "1.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "impls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g2i16vn99kmzfaag6df9bjg3k9p2p1jc3qdm5hqhlvhpmdn8iks"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/nvzqz/impls")
    (synopsis "Determine if a type implements a logical trait expression")
    (description "Determine if a type implements a logical trait expression.")
    (license (list license:expat license:asl2.0))))

(define-public rust-include-dir-0.7
  (package
    (name "rust-include-dir")
    (version "0.7.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "include_dir" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "17pinxhivh3chkbjmbg9sl0x3h7wwry2zc2p12gfh8kizyp2yxhq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all files included
       #:cargo-inputs
       (("rust-glob" ,rust-glob-0.3)
        ("rust-include-dir-macros" ,rust-include-dir-macros-0.7))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/Michael-F-Bryan/include_dir")
    (synopsis "Embed the contents of a directory in your binary")
    (description "Embed the contents of a directory in your binary.")
    (license license:expat)))

(define-public rust-include-dir-macros-0.7
  (package
    (name "rust-include-dir-macros")
    (version "0.7.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "include_dir_macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0gsa6z58wxgw9j58w60wyjpk2nv3pd86kimw2akwyzpmbi5jhfdi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/Michael-F-Bryan/include_dir")
    (synopsis "Procedural macro used by include_dir")
    (description "The procedural macro used by include_dir.")
    (license license:expat)))

(define-public rust-include-flate-0.3
  (package
    (name "rust-include-flate")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "include-flate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ghiy1f2ipzw71nggrv6chard023nyjmvq2dyg0qcm39a1kw2jfz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-include-flate-codegen" ,rust-include-flate-codegen-0.2)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libflate" ,rust-libflate-2))))
    (home-page "https://github.com/SOF3/include-flate")
    (synopsis "Variant of @code{include_bytes!/include_str!} with compression")
    (description
     "This package provides a variant of @code{include_bytes!/include_str!}
with compile-time deflation and runtime lazy inflation.")
    (license license:asl2.0)))

(define-public rust-include-flate-0.2
  (package
    (inherit rust-include-flate-0.3)
    (name "rust-include-flate")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "include-flate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c5dsx6j9jwrd6calhxdgip85qjy45hc8v1740fr61k46ilibqf2"))))
    (arguments
     `(#:skip-build? #t ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-include-flate-codegen-exports"
                        ,rust-include-flate-codegen-exports-0.1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libflate" ,rust-libflate-1))))))

(define-public rust-include-flate-0.1
  (package
    (inherit rust-include-flate-0.2)
    (name "rust-include-flate")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "include-flate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j71284rcjl2pnnrnvp2i4r9dyikpw939gcvz0f7qm91qx4v9p6z"))))
    (arguments
     `(#:skip-build? #t ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs
       (("rust-include-flate-codegen-exports" ,rust-include-flate-codegen-exports-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libflate" ,rust-libflate-1))))))

(define-public rust-include-flate-codegen-0.2
  (package
    (name "rust-include-flate-codegen")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "include-flate-codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mz7zyalpn1f53zy12xnbjis93jfh23wy7n6hlxp5gk1c9n28nwc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libflate" ,rust-libflate-2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/SOF3/include-flate")
    (synopsis "Macro codegen for the @code{include-flate} crate")
    (description
     "This package provides macro codegen for the @code{include-flate} crate.")
    (license license:asl2.0)))

(define-public rust-include-flate-codegen-0.1
  (package
    (inherit rust-include-flate-codegen-0.2)
    (name "rust-include-flate-codegen")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "include-flate-codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s34ssq0l3d2sn8n3mxmkz3jbm600fbckd0213mjjcgs34a6wz9s"))))
    (arguments
     `(#:skip-build? #t ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs
       (("rust-libflate" ,rust-libflate-1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-include-flate-codegen-exports-0.1
  (package
    (name "rust-include-flate-codegen-exports")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "include-flate-codegen-exports" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00qswg7avv92mjp0p3kmswp3jask0psz1bmq3h7jin73zx1p0rbm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs
       (("rust-include-flate-codegen" ,rust-include-flate-codegen-0.1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
    (home-page "https://github.com/SOF3/include-flate")
    (synopsis "Macro codegen for the @code{include-flate} crate")
    (description
     "This package provides macro codegen for the @code{include-flate}
crate.")
    (license license:asl2.0)))

(define-public rust-indenter-0.3
  (package
    (name "rust-indenter")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indenter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10y6i6y4ls7xsfsc1r3p5j2hhbxhaqnk5zzk8aj52b14v05ba8yf"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/yaahc/indenter")
    (synopsis "Display trait indentation helper for errors")
    (description
     "This package provides a few wrappers for the @code{fmt::Write} object
that efficiently appends and removes common indentation after every newline.")
    (license (list license:expat license:asl2.0))))

(define-public rust-indexmap-2
  (package
    (name "rust-indexmap")
    (version "2.7.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "indexmap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "07s7jmdymvd0rm4yswp0j3napx57hkjm9gs9n55lvs2g78vj5y32"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-borsh" ,rust-borsh-1)
        ("rust-equivalent" ,rust-equivalent-1)
        ("rust-hashbrown" ,rust-hashbrown-0.15)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-rayon" ,rust-rustc-rayon-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-itertools" ,rust-itertools-0.13)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/indexmap-rs/indexmap")
    (synopsis "Hash table with consistent order and fast iteration")
    (description
     "This package provides a hash table with consistent order and fast iteration.

The indexmap is a hash table where the iteration order of the key-value
pairs is independent of the hash values of the keys.  It has the usual
hash table functionality, it preserves insertion order except after
removals, and it allows lookup of its elements by either hash table key
or numerical index.  A corresponding hash set type is also provided.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-indexmap-1
  (package
    (inherit rust-indexmap-2)
    (name "rust-indexmap")
    (version "1.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indexmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16dxmy7yvk51wvnih3a3im6fp5lmx0wx76i03n06wyak6cwhw1xx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-autocfg" ,rust-autocfg-1)
        ("rust-hashbrown" ,rust-hashbrown-0.12)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-rayon" ,rust-rustc-rayon-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-indexmap-1.8
  (package
    (inherit rust-indexmap-1)
    (name "rust-indexmap")
    (version "1.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indexmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nnaw0whv3xysrpjrz69bsibbscd81rwx63s6f4kbajv1ia2s0g6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-hashbrown" ,rust-hashbrown-0.11)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustc-rayon" ,rust-rustc-rayon-0.4)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-indexmap-1.7
  (package
    (inherit rust-indexmap-1)
    (name "rust-indexmap")
    (version "1.7.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "indexmap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "19b2zwfajhsfcgny0clv8y4jppy704znfhv8nv2dw9a18l2kcqxw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-hashbrown" ,rust-hashbrown-0.11)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-itertools" ,rust-itertools-0.9)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-indextree-4
  (package
    (name "rust-indextree")
    (version "4.7.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "indextree" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0gqsbd0qm2i749wv0xfpgay2b0w572ghffdppw238b20065fdwwi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indextree-macros" ,rust-indextree-macros-0.1)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/saschagrunert/indextree")
    (synopsis "Arena based tree structure by using indices")
    (description
     "This package provides arena based tree structure by using indices instead
of reference counted pointers.")
    (license license:expat)))

(define-public rust-indextree-macros-0.1
  (package
    (name "rust-indextree-macros")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indextree-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nbnxgyw88xrhhgwl9x4vnhqd9xf5j879zwkc9jhg51pqxz2wzj7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-either" ,rust-either-1)
                       ("rust-itertools" ,rust-itertools-0.13)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-strum" ,rust-strum-0.26)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-indextree" ,rust-indextree-4))))
    (home-page "https://github.com/saschagrunert/indextree")
    (synopsis "Macros for indextree")
    (description "This package provides macros for indextree.")
    (license license:expat)))

(define-public rust-indicatif-0.17
  (package
    (name "rust-indicatif")
    (version "0.17.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indicatif" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10dj53x2a2bfhnfi78nhi4kb4zgc3rq6jm2wgg3d6d6rbsw7bxnb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=style::tests::wide_element_style")
       #:cargo-inputs (("rust-console" ,rust-console-0.15)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-number-prefix" ,rust-number-prefix-0.4)
                       ("rust-portable-atomic" ,rust-portable-atomic-1)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.2)
                       ("rust-vt100" ,rust-vt100-0.15)
                       ("rust-web-time" ,rust-web-time-1))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/console-rs/indicatif")
    (synopsis "Progress bar and cli reporting library for Rust")
    (description
     "This package provides a progress bar and cli reporting library for
Rust.")
    (license license:expat)))

(define-public rust-indicatif-0.16
  (package
    (inherit rust-indicatif-0.17)
    (name "rust-indicatif")
    (version "0.16.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "indicatif" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
    (arguments
     `(#:cargo-inputs
       (("rust-console" ,rust-console-0.15)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-number-prefix" ,rust-number-prefix-0.4)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                   ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-indicatif-0.15
  (package
    (name "rust-indicatif")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indicatif" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r4n50mclyi4c7b9c9mlma1rhchjamw71r3z8vgqcmp24mhvbakv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-console" ,rust-console-0.13)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-number-prefix" ,rust-number-prefix-0.3)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.7)
        ("rust-tokio" ,rust-tokio-0.2))))
    (home-page "https://github.com/mitsuhiko/indicatif")
    (synopsis "Progress bar and CLI reporting library for Rust")
    (description
     "This package provides a progress bar and CLI reporting library for
Rust.")
    (license license:expat)))

(define-public rust-indoc-2
  (package
    (name "rust-indoc")
    (version "2.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indoc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dgjk49rkmx4kjy07k4b90qb5vl89smgb5rcw02n0q0x9ligaj5j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-unindent" ,rust-unindent-0.2))))
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Indented document literals for Rust")
    (description
     "This crate provides a procedural macro for indented string literals.
The @code{indoc!()} macro takes a multiline string literal and un-indents it
at compile time so the leftmost non-space character is in the first column.")
    (license (list license:expat license:asl2.0))))

(define-public rust-indoc-1
  (package
    (inherit rust-indoc-2)
    (name "rust-indoc")
    (version "1.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indoc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qs42cn8rj7kdpmp1dlkzhv62rfmbx3ffwvsfw67zyq86jm1xaxd"))))
    (arguments
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-unindent" ,rust-unindent-0.1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-indoc-0.3
  (package
    (inherit rust-indoc-1)
    (name "rust-indoc")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indoc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n2fd2wm1h005hd7pjgx4gv5ymyq4sxqn8z0ssw6xchgqs5ilx27"))))
    (arguments
     `(#:cargo-inputs
       (("rust-indoc-impl" ,rust-indoc-impl-0.3)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-indoc-impl-0.3
  (package
    (name "rust-indoc-impl")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "indoc-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w58yg249kmzsn75kcj34qaxqh839l1hsaj3bzggy3q03wb6s16f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Macros for @code{rust-indoc}")
    (description
     "This package provides macros for use with the @code{rust-indoc}
package.  It is obsolete for indoc versions > 1.")
    (license (list license:expat license:asl2.0))))

(define-public rust-infer-0.15
  (package
    (name "rust-infer")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "infer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16d1b83h5m87h6kq4z8kwjrzll5dq6rijg2iz437m008m4nn4cyb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false  ;missing files
       #:cargo-inputs (("rust-cfb" ,rust-cfb-0.7))))
    (home-page "https://github.com/bojand/infer")
    (synopsis "Infer file types based on its magic number signature")
    (description
     "This crate infers a file types based on its magic number
signature.")
    (license license:expat)))

(define-public rust-infer-0.2
  (package
    (inherit rust-infer-0.15)
    (name "rust-infer")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "infer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b4ziqcv0d1wga5yfqf620dkgzijsdw3ylnzq61bfaxla2d85sb4"))))
    (arguments `(#:tests? #false))))

(define-public rust-inferno-0.11
  (package
    (name "rust-inferno")
    (version "0.11.21")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inferno" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "126v1njhhx1shw0ammn3ngxxp20dmlb78p1xd9brks2zszhjja93"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace"
         "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace_simple"
         "--skip=collapse::perf::tests::test_collapse_multi_perf"
         "--skip=collapse::perf::tests::test_collapse_multi_perf_simple"
         "--skip=collapse::perf::tests::test_multiple_skip_after"
         "--skip=collapse::perf::tests::test_one_skip_after")
       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
                       ("rust-dashmap" ,rust-dashmap-6)
                       ("rust-env-logger" ,rust-env-logger-0.11)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-num-format" ,rust-num-format-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-quick-xml" ,rust-quick-xml-0.26)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rgb" ,rust-rgb-0.8)
                       ("rust-rle-decode-fast" ,rust-rle-decode-fast-1)
                       ("rust-str-stack" ,rust-str-stack-0.1))
       #:cargo-development-inputs
       (("rust-assert-cmd" ,rust-assert-cmd-2)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-libflate" ,rust-libflate-2)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-testing-logger" ,rust-testing-logger-0.1))))
    (home-page "https://github.com/jonhoo/inferno")
    (synopsis "Rust port of the FlameGraph performance profiling tools")
    (description
     "@code{inferno} is a Rust port of the @code{FlameGraph} performance
profiling tool suite.")
    (license license:cddl1.0)))

(define-public rust-inflections-1
  (package
    (name "rust-inflections")
    (version "1.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inflections" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0yl3gas612q25c72lwf04405i87yxr02vgv3ckcnz2fyvhpmhmx2"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/inflections")
    (synopsis "Inflection transformation library for changing properties of words")
    (description
     "High performance inflection transformation library for changing properties of
words like the case.")
    (license license:expat)))

(define-public rust-inflector-0.11
  (package
    (name "rust-inflector")
    (version "0.11.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "Inflector" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1lqmcni21ifzyq41fhz6k1j2b23cmsx469s4g4sf01l78miqqhzy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/whatisinternet/inflector")
    (synopsis "String based inflections for Rust")
    (description "This package adds String based inflections for Rust.  Snake,
kebab, camel, sentence, class, title and table cases as well as ordinalize,
deordinalize, demodulize, foreign key, and pluralize/singularize are supported
as both traits and pure functions acting on String types.")
    (license license:bsd-2)))

(define-public rust-inlinable-string-0.1
  (package
    (name "rust-inlinable-string")
    (version "0.1.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inlinable_string" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ysjci8yfvxgf51z0ny2nnwhxrclhmb3vbngin8v4bznhr3ybyn8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/fitzgen/inlinable_string")
    (synopsis "Crate which provides the `InlinableString` type")
    (description
     "The @code{inlinable_string} crate provides the @code{InlinableString} type
-- an owned, grow-able UTF-8 string that stores small strings inline and avoids
heap-allocation -- and the @code{StringExt} trait which abstracts string
operations over both @code{std::string::String} and @code{InlinableString} (or
even your own custom string type).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-inline-c-0.1
  (package
    (name "rust-inline-c")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inline-c" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mcd7jcfwhkplgz1xb4iqrpc6m29v2k28w4q42yika9g23bd639l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-assert-cmd" ,rust-assert-cmd-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-inline-c-macro" ,rust-inline-c-macro-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-predicates" ,rust-predicates-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustc-version" ,rust-rustc-version-0.3)
        ("rust-target-lexicon" ,rust-target-lexicon-0.11)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/Hywan/inline-c-rs")
    (synopsis "Write and execute C code inside Rust")
    (description
     "@code{inline-c} is a small crate that allows a user to write
C (including C++) code inside Rust.  Both environments are strictly sandboxed.
The C code is transformed into a string which is written to a temporary file.
This file is then compiled into an object file, that is finally executed.

The primary goal of @code{inline-c} is to ease the testing of a C API of a
Rust program (generated with @code{cbindgen} for example).")
    (license license:bsd-3)))

(define-public rust-inline-c-macro-0.1
  (package
    (name "rust-inline-c-macro")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inline-c-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05dfhfjmid31vybkycs4zmr9rhpmck02ca3w3n4dmb5dqwg65x8p"))))
    (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.3))))
    (home-page "https://github.com/Hywan/inline-c-rs")
    (synopsis "Macros used by @code{inline-c} to handle C code inside Rust")
    (description
     "This library contains the macros needed in @code{inline-c}, that allow
writing and executing C code inside Rust.")
    (license license:bsd-3)))

(define-public rust-inotify-0.11
  (package
    (name "rust-inotify")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inotify" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wq8m657rl085cg59p38sc5y62xy9yhhpvxbkd7n1awi4zzwqzgk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-inotify-sys" ,rust-inotify-sys-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-futures-util" ,rust-futures-util-0.3)
                                   ("rust-maplit" ,rust-maplit-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/hannobraun/inotify")
    (synopsis "Idiomatic wrapper for inotify")
    (description "This package provides an idiomatic wrapper for inotify
written in Rust.")
    (license license:isc)))

(define-public rust-inotify-0.10
  (package
    (inherit rust-inotify-0.11)
    (name "rust-inotify")
    (version "0.10.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "inotify" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1k2m6a95827yspax1icmwiz4szr7c01w3dnn2b2bil4hfvcnilgx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-inotify-sys" ,rust-inotify-sys-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-inotify-0.9
  (package
    (inherit rust-inotify-0.10)
    (name "rust-inotify")
    (version "0.9.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "inotify" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1zxb04c4qccp8wnr3v04l503qpxzxzzzph61amlqbsslq4z9s1pq"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-inotify-sys" ,rust-inotify-sys-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-inotify-0.8
  (package
    (inherit rust-inotify-0.9)
    (name "rust-inotify")
    (version "0.8.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inotify" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m74znskinrvfcp0hczwwdxvc7kvnrrailngkivk1iwknfa0mpa6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-inotify-sys" ,rust-inotify-sys-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tempdir" ,rust-tempdir-0.3)
        ("rust-tokio" ,rust-tokio-0.2))))))

(define-public rust-inotify-0.7
  (package
    (inherit rust-inotify-0.8)
    (name "rust-inotify")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inotify" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0byhq4x4b2rlbkmfrab5dni39wiq2ls1hv1nhggp7rla5inwc5j8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-inotify-sys" ,rust-inotify-sys-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-inotify-sys-0.1
  (package
    (name "rust-inotify-sys")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inotify-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1syhjgvkram88my04kv03s0zwa66mdwa5v7ddja3pzwvx2sh4p70"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/hannobraun/inotify-sys")
    (synopsis "Inotify bindings for Rust")
    (description
     "This package provides inotify bindings for the Rust programming language.")
    (license license:isc)))

(define-public rust-inout-0.1
  (package
    (name "rust-inout")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "inout" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1xf9gf09nc7y1a261xlfqsf66yn6mb81ahlzzyyd1934sr9hbhd0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-block-padding" ,rust-block-padding-0.3)
        ("rust-generic-array" ,rust-generic-array-0.14))))
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Custom reference types for code")
    (description "This package provides custom reference types for code generic
over in-place and buffer-to-buffer modes of operation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-input-buffer-0.5
  (package
    (name "rust-input-buffer")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "input_buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "044qxqdkcq6mv07bsvm35hl7hy3rmf87lrxjyz8zaq57i0xngvmc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-1))))
    (home-page "https://github.com/snapview/input_buffer")
    (synopsis
     "Peekable FIFO-like buffer for receiving network data efficiently")
    (description
     "This package provides a peekable FIFO-like buffer for receiving network
data efficiently.")
    (license (list license:expat license:asl2.0))))

(define-public rust-input-buffer-0.3
  (package
    (inherit rust-input-buffer-0.5)
    (name "rust-input-buffer")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "input_buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m4pamqvr00z90cmrgjj25iwpqy6fyac53k1ms63k86m8d9aka0r"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5))))))

(define-public rust-insta-1
  (package
    (name "rust-insta")
    (version "1.41.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "insta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f28bjaj37dc5wmjbgvfzjv78lfbc4ljpi98m587qqcj916zr7vy"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=env::test_get_cargo_workspace"
         "--skip=utils::test_format_rust_expression")
       #:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-console" ,rust-console-0.15)
        ("rust-csv" ,rust-csv-1)
        ("rust-globset" ,rust-globset-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-ron" ,rust-ron-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs
       (("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-similar-asserts" ,rust-similar-asserts-1))))
    (home-page "https://insta.rs/")
    (synopsis "Snapshot testing library for Rust")
    (description
     "This package provides a snapshot testing library for Rust.")
    (license license:asl2.0)))

(define-public rust-insta-0.16
  (package
    (inherit rust-insta-1)
    (name "rust-insta")
    (version "0.16.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "insta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vhqlirp75nx8qalz87qk2wjs7mzwxww0n09n2ircgw1phd94zk1"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=runtime::test_format_rust_expression")
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-console" ,rust-console-0.11)
        ("rust-difference" ,rust-difference-2)
        ("rust-globwalk" ,rust-globwalk-0.8)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-ron" ,rust-ron-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8))))))

(define-public rust-insta-0.8
  (package
    (inherit rust-insta-0.16)
    (name "rust-insta")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "insta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jk41bzid509y3s2r3hwh0s8cmcyywd0jzcgbs4ixb6sm2b7d0ll"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_unnamed_yaml_vector"
         "--skip=test_yaml_vector"
         "--skip=test_yaml_inline"
         "--skip=test_yaml_inline_redacted"
         "--skip=test_with_random_value")
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-ci-info" ,rust-ci-info-0.3)
        ("rust-console" ,rust-console-0.7)
        ("rust-difference" ,rust-difference-2)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-ron" ,rust-ron-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8)
        ("rust-uuid" ,rust-uuid-0.7))))))

(define-public rust-instability-0.3
  (package
    (name "rust-instability")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "instability" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xfgw4afzbhr0v87xilscyc5dxmmcznghr6cr585jczpa5j113l9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.20)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-pretty-assertions" ,rust-pretty-assertions-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/ratatui-org/instability")
    (synopsis "Rust API stability attributes for the rest of us")
    (description
     "This package provides Rust API stability attributes for the rest of us.
It is a fork of the `stability` crate.")
    (license license:expat)))

(define-public rust-instant-0.1
  (package
    (name "rust-instant")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "instant" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0b2bx5qdlwayriidhrag8vhy10kdfimfhmb3jnjmsz2h9j1bwnvs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-stdweb" ,rust-stdweb-0.4)
        ("rust-time" ,rust-time-0.2)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/sebcrozet/instant")
    (synopsis
     "Partial replacement for std::time::Instant that works on WASM too")
    (description
     "This package provides a partial replacement for @code{std::time::Instant}
that works on WASM too.")
    (license license:bsd-3)))

(define-public rust-integer-encoding-3
  (package
    (name "rust-integer-encoding")
    (version "3.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "integer-encoding" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00ng7jmv6pqwqc8w1297f768bn0spwwicdr7hb40baax00r3gc4b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/dermesser/integer-encoding-rs")
    (synopsis "Encoding and decoding integers to and from bytestrings")
    (description
     "This crate provides encoding and decoding of integers to and from
bytestring representations.")
    (license license:expat)))

(define-public rust-integer-encoding-1
  (package
    (inherit rust-integer-encoding-3)
    (name "rust-integer-encoding")
    (version "1.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "integer-encoding" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vxmsfxwsf8dclppdmikjklzh84w341crl0lb3bpydwv18c53p28"))))
    (arguments
     `(#:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.2))))))

(define-public rust-interpolate-name-0.2
  (package
    (name "rust-interpolate-name")
    (version "0.2.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "interpolate_name" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0q7s5mrfkx4p56dl8q9zq71y1ysdj4shh6f28qf9gly35l21jj63"))))
    (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/lu-zero/interpolate_name")
    (synopsis "Simple procedural macro attribute for repetitive tests")
    (description
     "Simple procedural macro attribute for repetitive tests.")
    (license license:expat)))

(define-public rust-interprocess-2
  (package
    (name "rust-interprocess")
    (version "2.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "interprocess" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sv2hf9ylxyn77sr1p92sl479ca6mjw1g03pdxmv6z413m4lhhc9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-doctest-file" ,rust-doctest-file-1)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-recvmsg" ,rust-recvmsg-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-widestring" ,rust-widestring-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-color-eyre" ,rust-color-eyre-0.6)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/kotauskas/interprocess")
    (synopsis "Interprocess communication toolkit")
    (description "This package provides an interprocess communication toolkit.")
    (license (list license:expat license:asl2.0))))

(define-public rust-interprocess-1
  (package
    (inherit rust-interprocess-2)
    (name "rust-interprocess")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "interprocess" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yrq3xmyf8c506z2fkiyqcxiqv21rap72fz6npizybz47czm7wl1"))))
    (arguments
     `(#:tests? #f  ; expected tuple struct or tuple variant, found function `Ok`
       #:cargo-inputs (("rust-blocking" ,rust-blocking-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-intmap" ,rust-intmap-0.7)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-spinning" ,rust-spinning-0.1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-to-method" ,rust-to-method-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-intmap-0.7
  (package
    (name "rust-intmap")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "intmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ffph34qfda5zxdvy2pvjnip9hgzbjcxw53pvdpcjaxc8n7z4lmf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-ordermap" ,rust-ordermap-0.2)
                                   ("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/JesperAxelsson/rust-intmap")
    (synopsis "Specialized HashMap for integer keys")
    (description
     "This package provides a specialized @code{HashMap} for integer keys.")
    (license license:expat)))

(define-public rust-invalidstring-0.1
  (package
    (name "rust-invalidstring")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "invalidstring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vxin67ybys7ihmwr5xvvwqv3q7lcn2pxg1skw14xr8kjpa0z5nj"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/extrawurst/gitui")
    (synopsis "Invalid string data for testing")
    (description "This crate is just for testing invalid string data.")
    (license license:expat)))

(define-public rust-inventory-0.3
  (package
    (name "rust-inventory")
    (version "0.3.14")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "inventory" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1iyckc52afd5d1ni819kxzz7g1l8bzdg88rvqxra6hxn3wmknmy8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/inventory")
    (synopsis "Typed distributed plugin registration")
    (description
     "This package provides a way to set up a plugin registry into which
plugins can be registered from any source file linked into your program.
There does not need to be a central list of all the plugins.")
    (license (list license:expat license:asl2.0))))

(define-public rust-inventory-0.2
  (package
    (inherit rust-inventory-0.3)
    (name "rust-inventory")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "inventory" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06h9xw67wx18rank4yyz93iq89j0fk6fbazryfvf5ach1dp4qd44"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ctor" ,rust-ctor-0.1)
        ("rust-ghost" ,rust-ghost-0.1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-inventory-0.1
  (package
    (inherit rust-inventory-0.2)
    (name "rust-inventory")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "inventory" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m1zdjgs3nzfdxf86mc1i0id56fvk8rfw63rf04yi88bqrh53szh"))))
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-ctor" ,rust-ctor-0.1)
         ("rust-ghost" ,rust-ghost-0.1)
         ("rust-inventory-impl" ,rust-inventory-impl-0.1))))))

(define-public rust-inventory-impl-0.1
  (package
    (name "rust-inventory-impl")
    (version "0.1.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "inventory-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j45a7nq4vircnz5m23db34527icxqnvh2si96zc9w662lvvahby"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/inventory")
    (synopsis "Macros for the @code{inventory} crate")
    (description
     "This package provides macros for the @code{rust-inventory} package.
It has been merged with the @code{inventory} crate and is only useful for
versions < 0.2.")
    ;; Either license can be chosen at the users option.
    (license (list license:expat license:asl2.0))))

(define-public rust-io-close-0.3
  (package
    (name "rust-io-close")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "io-close" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g4hldfn436rkrx3jlm4az1y5gdmkcixdlhkwy64yx06gx2czbcw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-os-pipe" ,rust-os-pipe-0.9)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://gitlab.com/wufz/io-close")
    (synopsis "Safely dropping I/O writers such as File and BufWriter")
    (description
     "An extension trait for safely dropping I/O writers such as File and
@code{BufWriter}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ioctl-rs-0.1
  (package
    (name "rust-ioctl-rs")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ioctl-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zdrgqxblrwm4ym8pwrr7a4dwjzxrvr1k0qjx6rk1vjwi480b5zp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/dcuddeback/ioctl-rs")
    (synopsis "Rust bindings for system ioctls")
    (description "This package provides Rust bindings for system ioctls.")
    (license license:expat)))

(define-public rust-io-extras-0.18
  (package
    (name "rust-io-extras")
    (version "0.18.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "io-extras" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0raay0wyzgmfdi0p9lphm19fmldwqgw9x47ynbs7w2al63zdv192"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-io-lifetimes" ,rust-io-lifetimes-2)
                       ("rust-mio" ,rust-mio-1)
                       ("rust-os-pipe" ,rust-os-pipe-1)
                       ("rust-socket2" ,rust-socket2-0.5)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-os-pipe" ,rust-os-pipe-1))))
    (home-page "https://github.com/sunfishcode/io-extras")
    (synopsis "File/socket handle/descriptor utilities")
    (description "File/socket handle/descriptor utilities.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-io-lifetimes-2
  (package
    (name "rust-io-lifetimes")
    (version "2.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "io-lifetimes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10s9fyfksnzn056c7zj75y1v43gqvly26j9nrm79drrv9nsjyhq6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-hermit-abi" ,rust-hermit-abi-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mio" ,rust-mio-0.8)
                       ("rust-os-pipe" ,rust-os-pipe-1)
                       ("rust-socket2" ,rust-socket2-0.5)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://github.com/sunfishcode/io-lifetimes")
    (synopsis "Low-level I/O ownership and borrowing library")
    (description
     "This package provides a low-level I/O ownership and borrowing
library.")
    ;; The user can choose either license.
    (license (list license:asl2.0 license:expat))))

(define-public rust-io-lifetimes-1
  (package
    (inherit rust-io-lifetimes-2)
    (name "rust-io-lifetimes")
    (version "1.0.11")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "io-lifetimes" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hph5lz4wd3drnn6saakwxr497liznpfnv70via6s0v8x6pbkrza"))))
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-fs-err" ,rust-fs-err-2)
                       ("rust-hermit-abi" ,rust-hermit-abi-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mio" ,rust-mio-0.8)
                       ("rust-os-pipe" ,rust-os-pipe-1)
                       ("rust-socket2" ,rust-socket2-0.4)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))))

(define-public rust-io-lifetimes-0.7
  (package
    (inherit rust-io-lifetimes-1)
    (name "rust-io-lifetimes")
    (version "0.7.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "io-lifetimes" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0x10ak2iy4p24g7bnp1rfrq6aqddjlzkykgwjdayi7nl97wmxkjr"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-async-std" ,rust-async-std-1)
             ("rust-fs-err" ,rust-fs-err-2)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-mio" ,rust-mio-0.8)
             ("rust-os-pipe" ,rust-os-pipe-1)
             ("rust-socket2" ,rust-socket2-0.4)
             ("rust-tokio" ,rust-tokio-1)
             ("rust-windows-sys" ,rust-windows-sys-0.42))))))

(define-public rust-io-uring-0.6
  (package
    (name "rust-io-uring")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "io-uring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rdhc23dx642smh8j81h3qslkhih9859f7pcnbz0i98iyjch6njr"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs (list rust-bindgen-0.65
                                rust-bitflags-1
                                rust-libc-0.2
                                rust-sc-0.2)
           #:cargo-development-inputs (list rust-anyhow-1
                                            rust-slab-0.4
                                            rust-socket2-0.5)))
    (home-page "https://github.com/tokio-rs/io-uring")
    (synopsis "Low-level `io_uring` userspace interface for Rust")
    (description
     "This package provides the low-level `io_uring` userspace interface for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-io-uring-0.5
  (package
    (inherit rust-io-uring-0.6)
    (name "rust-io-uring")
    (version "0.5.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "io-uring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k4qrzhnc8j50g79ki8n79d4yffvcmwq5dj3bj6gs95rrw0il7nx"))))
    (arguments
     `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.61)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-sc" ,rust-sc-0.2))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-slab" ,rust-slab-0.4)
                                   ("rust-socket2" ,rust-socket2-0.4))))))

(define-public rust-ioslice-0.6
  (package
    (name "rust-ioslice")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ioslice" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06z38yklsxn53ypslljk21cj25py7wbyagifs5s91f53r1916msy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/4lDO2/ioslice-rs")
    (synopsis "@code{no_std} I/O slices compatible with @code{std} and @code{lbc}")
    (description
     "This package provides @code{no_std} I/O slices that are still optionally
ABI compatible with @code{std} and @code{lbc}.")
    (license license:expat)))

(define-public rust-iovec-0.1
  (package
    (name "rust-iovec")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "iovec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ph73qygwx8i0mblrf110cj59l00gkmsgrpzz1rm85syz5pymcxj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/carllerche/iovec")
    (synopsis "Portable buffer type for scatter/gather I/O operations")
    (description
     "Portable buffer type for scatter/gather I/O operations.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-ipnet-2
  (package
    (name "rust-ipnet")
    (version "2.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ipnet" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "025p9wm94q1w2l13hbbr4cbmfygly3a2ag8g5s618l2jhq4l3hnx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heapless" ,rust-heapless-0.5)
        ("rust-schemars" ,rust-schemars-0.8)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/krisprice/ipnet")
    (synopsis "Work with IPv4 and IPv6 network addresses")
    (description "This package provides types and useful methods for working
with IPv4 and IPv6 network addresses, commonly called IP prefixes.  The new
IpNet, Ipv4Net, and Ipv6Net types build on the existing IpAddr, Ipv4Addr, and
Ipv6Addr types already provided in Rust's standard library and align to their
design to stay consistent.  The module also provides useful traits that extend
Ipv4Addr and Ipv6Addr with methods for Add, Sub, BitAnd, and BitOr operations.
The module only uses stable feature so it is guaranteed to compile using the
stable toolchain.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ipnetwork-0.20
  (package
    (name "rust-ipnetwork")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ipnetwork" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03hhmxyimz0800z44wl3z1ak8iw91xcnk7sgx5p5jinmx50naimz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://crates.io/crates/ipnetwork")
    (synopsis "Work with IP CIDRs in Rust")
    (description "This package provides a library to work with IP CIDRs in
Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ipnetwork-0.18
  (package
    (inherit rust-ipnetwork-0.20)
    (name "rust-ipnetwork")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ipnetwork" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mfkcrw8dxys6vi9bpvk2x1dyc8qi5wvrpc8jqinnm43n4wxg220"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-ipnetwork-0.17
  (package
    (inherit rust-ipnetwork-0.20)
    (name "rust-ipnetwork")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ipnetwork" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0sviri9ksb3cmhx3h0rcfy8pvpx7f0cx5ba1z87ydvf07amymhq2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-iptables-0.5
  (package
    (name "rust-iptables")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iptables" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f8k90bhs34py78cw97jxh1hnxncfzbbr8my2d36ap9gba9jgdj3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests can't be run in the build environment.
       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-nix" ,rust-nix-0.29)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/yaa110/rust-iptables")
    (synopsis "Rust bindings for iptables")
    (description "Rust bindings for iptables.")
    (license license:expat)))

(define-public rust-iri-string-0.7
  (package
    (name "rust-iri-string")
    (version "0.7.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iri-string" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1siv0qq612v8d25ryy8n74n2h6g9zwr9yxjgzzi5dzlg5rbhl3yw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/lo48576/iri-string")
    (synopsis "IRI as string types")
    (description
      "This package provides string types for @acronym{IRIs, Internationalized
Resource Identifiers} and @acronym{URIs, Uniform Resource Identifiers}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-irx-config-3
  (package
    (name "rust-irx-config")
    (version "3.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "irx-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0slp6f0ysnfwi1fyhd5bh2jy0h1a5ck4kgfppzzmsqy5z63a0rk2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-blake2b-simd" ,rust-blake2b-simd-1)
                       ("rust-blake3" ,rust-blake3-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-derive-builder" ,rust-derive-builder-0.20)
                       ("rust-json5" ,rust-json5-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-yaml" ,rust-serde-yaml-0.9)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-toml" ,rust-toml-0.8))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/abakay/irx-config/")
    (synopsis "Represent/parse configuration from different sources")
    (description
     "This library provides a convenient way to represent/parse configuration
from different sources.")
    (license license:bsd-2)))

(define-public rust-is-ci-1
  (package
    (name "rust-is-ci")
    (version "1.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "is_ci" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ifwvxmrsj4r29agfzr71bjq6y1bihkx38fbzafq5vl0jn1wjmbn"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/zkat/is_ci")
    (synopsis "Lightweight CI environment checker")
    (description
     "Super lightweight CI environment checker.  Just tells you if you're in CI
or not without much fuss.")
    (license license:isc)))

(define-public rust-is-debug-1
  (package
    (name "rust-is-debug")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "is_debug" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02053pms1isigxdqmkqcj6p6rmdl09sy654b7nysaf36kn685sp8"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/baoyachi/rust_is_debug")
    (synopsis "Get build model is debug")
    (description "Get build model is debug.")
    (license (list license:expat license:asl2.0))))

(define-public rust-is-docker-0.2
  (package
    (name "rust-is-docker")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "is-docker" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cyibrv6817cqcpf391m327ss40xlbik8wxcv5h9pj9byhksx2wj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/TheLarkInn/is-docker")
    (synopsis "Checks if the process is running inside a Docker container")
    (description "This package provides a helper function to check if the
process is running inside a Docker container.")
    (license license:expat)))

(define-public rust-is-executable-1
  (package
    (name "rust-is-executable")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "is_executable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qlafm7f0zq0kzvbd4fhcfci4g9gxp6g3yqxjqsjj1zrssxbb8fl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-diff" ,rust-diff-0.1))))
    (home-page "https://github.com/fitzgen/is_executable")
    (synopsis "Find executable files at path")
    (description
     "This package provides a small helper function which determines
whether or not a given path points to an executable file.")
    (license (list license:expat license:asl2.0))))

(define-public rust-is-macro-0.1
  (package
    (name "rust-is-macro")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "is-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pq1x1r8pk6fv0qf9vpxw60jw2jg3961nm1gv71j5qv0v4bds8m3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-inflector" ,rust-inflector-0.11)
        ("rust-pmutil" ,rust-pmutil-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/kdy1/is-macro")
    (synopsis "Create methods to use custom enum like Option/Result")
    (description "This package lets you easily create methods to use a custom
enum like Option/Result.")
    (license license:expat)))

(define-public rust-is-terminal-0.4
  (package
    (name "rust-is-terminal")
    (version "0.4.13")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "is-terminal" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0jwgjjz33kkmnwai3nsdk1pz9vb6gkqvw1d1vq7bs3q48kinh7r6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-hermit-abi" ,rust-hermit-abi-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustix" ,rust-rustix-0.38)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/sunfishcode/is-terminal")
    (synopsis "Test whether a given stream is a terminal")
    (description
     "@code{is-terminal} is a simple utility that tests whether a given
stream runs in a TTY.")
    (license license:expat)))

(define-public rust-is-terminal-polyfill-1
  (package
    (name "rust-is-terminal-polyfill")
    (version "1.70.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "is_terminal_polyfill" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kwfgglh91z33kl0w5i338mfpa3zs0hidq5j4ny4rmjwrikchhvr"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/polyfill-rs/is_terminal_polyfill")
    (synopsis "Polyfill for `is_terminal` stdlib feature for use with older MSRVs")
    (description
     "This package provides Polyfill for `is_terminal` stdlib feature for use
with older MSRVs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-is-wsl-0.4
  (package
    (name "rust-is-wsl")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "is-wsl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19bs5pq221d4bknnwiqqkqrnsx2in0fsk8fylxm1747iim4hjdhp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-is-docker" ,rust-is-docker-0.2)
                       ("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/TheLarkInn/is-wsl")
    (synopsis
     "Checks if the process is running inside Windows Subsystem for Linux")
    (description
     "This package provides functions to check if the process is running inside
Windows Subsystem for Linux.")
    (license license:expat)))

(define-public rust-iso7816-tlv-0.4
  (package
    (name "rust-iso7816-tlv")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iso7816-tlv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0immb18gxx8sycf4k3ks2qxhz8sl8ra5s9wa4a8dccd84j6x4q3n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-untrusted" ,rust-untrusted-0.9))
       #:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3)
                                   ("rust-rand-core" ,rust-rand-core-0.6)
                                   ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
                                   ("rust-static-alloc" ,rust-static-alloc-0.2))))
    (home-page "https://github.com/jkowalsk/iso7816-tlv")
    (synopsis
     "Tools and utilities for handling TLV data as defined in ISO/IEC 7816-4")
    (description
     "This package provides tools and utilities for handling TLV data as defined
in ISO/IEC 7816-4.")
    (license license:isc)))

(define-public rust-iso8601-0.6
  (package
    (name "rust-iso8601")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iso8601" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lqif1zp19fjmrbhcdjx0ydnljax3090san5zq8r1x98x9rmsklj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-nom" ,rust-nom-7)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/badboy/iso8601")
    (synopsis "Parsing ISO8601 dates using @code{nom}")
    (description "This crate parses ISO8601 dates using @code{nom}.")
    (license license:expat)))

(define-public rust-iso8601-0.4
  (package
    (inherit rust-iso8601-0.6)
    (name "rust-iso8601")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "iso8601" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15nfg6d4qlniw4gk7039s5y07lzgr1dp9snsw63lsxarnyz4zfg5"))))
    (arguments
     `(#:cargo-inputs (("rust-nom" ,rust-nom-7))))))

(define-public rust-iso8601-0.3
  (package
    (inherit rust-iso8601-0.4)
    (name "rust-iso8601")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "iso8601" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0vvn6f9gv2295ik77nvaz99wzbwz1bmasrd787sz6d9mlwa6ks23"))))
    (arguments
     `(#:cargo-inputs (("rust-nom" ,rust-nom-4))))))

(define-public rust-isolang-2
  (package
    (name "rust-isolang")
    (version "2.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "isolang" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wg07gh7a1cvx0c1w238d7l4vh17cwwvjmw729qqnw5wn4fj43zq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags `("--release" "--"
                            "--skip=generated_code_table_if_outdated")
       #:cargo-inputs (("rust-phf" ,rust-phf-0.11)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-phf-codegen" ,rust-phf-codegen-0.11)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/humenda/isolang-rs")
    (synopsis "Efficient, static lookup table for ISO 639 language codes")
    (description
     "This package provides an efficient, static lookup table for ISO 639
language codes.")
    (license license:asl2.0)))

(define-public rust-itertools-0.13
  (package
    (name "rust-itertools")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11hiy3qzl643zcigknclh446qb9zlg4dpdzfkjaa9q9fqpgyfgj1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-paste" ,rust-paste-1)
        ("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7))))
    (home-page "https://github.com/rust-itertools/itertools")
    (synopsis "Extra iterator adaptors, methods, free functions, and macros")
    (description
     "This package provides extra iterator adaptors, iterator methods, free
functions, and macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-itertools-0.12
  (package
    (inherit rust-itertools-0.13)
    (name "rust-itertools")
    (version "0.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s95jbb3ndj1lvfxyq5wanc0fm0r6hg6q4ngb92qlfdxvci10ads"))))
    (arguments
     `(#:cargo-inputs (("rust-either" ,rust-either-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-paste" ,rust-paste-1)
                                   ("rust-permutohedron" ,rust-permutohedron-0.2)
                                   ("rust-quickcheck" ,rust-quickcheck-0.9)
                                   ("rust-rand" ,rust-rand-0.7))))))

(define-public rust-itertools-0.11
  (package
    (inherit rust-itertools-0.12)
    (name "rust-itertools")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mzyqcc59azx9g5cg6fs8k529gvh4463smmka6jvzs3cd2jp7hdi"))))
    (arguments
     `(#:cargo-inputs
       (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-paste" ,rust-paste-1)
        ("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7))))))

(define-public rust-itertools-0.10
  (package
    (inherit rust-itertools-0.11)
    (name "rust-itertools")
    (version "0.10.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ww45h7nxx5kj6z2y6chlskxd1igvs4j507anr6dzg99x1h25zdh"))))
    (arguments
     `(#:cargo-inputs
       (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-paste" ,rust-paste-1)
        ("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7))))))

(define-public rust-itertools-0.9
  (package
    (inherit rust-itertools-0.10)
    (name "rust-itertools")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jyml7ygr7kijkcjdl3fk5f34y5h5jsavclim7l13zjiavw1hkr8"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    (("=0.3.0") "0.3")))))
    (arguments
     `(#:cargo-inputs
       (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7))))))

(define-public rust-itertools-0.8
  (package
    (inherit rust-itertools-0.9)
    (name "rust-itertools")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1154j48aw913v5jnyhpxialxhdn2sfpl4d7bwididyb1r05jsspm"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.7)
        ("rust-rand" ,rust-rand-0.6))))))

(define-public rust-itertools-0.7
  (package
    (inherit rust-itertools-0.8)
    (name "rust-itertools")
    (version "0.7.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itertools" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "03cpsj26xmyamcalclqzr1i700vwx8hnbgxbpjvs354f8mnr8iqd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.5))))))

(define-public rust-itertools-0.5
  (package
    (inherit rust-itertools-0.7)
    (name "rust-itertools")
    (version "0.5.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itertools" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1z4lyrakgynvhylya72qb3vizmxmd62whjmg4r8k01d4inbxccs8"))))
    (arguments
     `(#:tests? #f ; Tests fail to compile
       #:cargo-inputs
       (("rust-either" ,rust-either-1))
       #:cargo-development-inputs
       (("rust-permutohedron" ,rust-permutohedron-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.4))))))

(define-public rust-itertools-num-0.1
  (package
    (name "rust-itertools-num")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itertools-num" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1rr7ig9nkpampcas23s91x7yac6qdnwssq3nap522xbgkqps4wm8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.8)
        ("rust-quickcheck" ,rust-quickcheck-0.8))))
    (home-page
     "https://github.com/bluss/itertools-num")
    (synopsis
     "Numerical iterator tools")
    (description
     "Numerical iterator tools.  Extra iterators and iterator methods
and functions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-itoa-1
  (package
    (name "rust-itoa")
    (version "1.0.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itoa" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0x26kr9m062mafaxgcf2p6h2x7cmixm0zw95aipzn2hr3d5jlnnp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-no-panic" ,rust-no-panic-0.1))))
    (home-page "https://github.com/dtolnay/itoa")
    (synopsis "Fast functions for printing integer primitives")
    (description "This crate provides fast functions for printing integer
primitives to an @code{io::Write}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-itoa-0.4
  (package
    (name "rust-itoa")
    (version "0.4.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itoa" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m1dairwyx8kfxi7ab3b5jc71z1vigh9w4shnhiajji9avzr26dp"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/itoa")
    (synopsis "Fast functions for printing integer primitives")
    (description "This crate provides fast functions for printing integer
primitives to an @code{io::Write}.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-itoa-0.3
  (package
    (inherit rust-itoa-0.4)
    (name "rust-itoa")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "itoa" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "136vwi6l2k1vrlvfx49lhficj813pk88xrcx1q3axqh1mwms6943"))))))

(define-public rust-itoap-1
  (package
    (name "rust-itoap")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "itoap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1f48gsd18kbvskwbnwszhqjpk1l4rdmahh7kaz86b432cj9g8a4h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-itoa" ,rust-itoa-0.4)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/Kogia-sima/itoap")
    (synopsis "Functions for printing integers with decimal format")
    (description
     "This package provides functions for printing integers with decimal
format.")
    (license license:expat)))

(define-public rust-ivf-0.1
  (package
    (name "rust-ivf")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ivf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1jjy911flpfpflnxw5fqsx6a3ghaq5wi2q18nx9cawpf81qnabsm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitstream-io" ,rust-bitstream-io-2))))
    (home-page "https://github.com/xiph/rav1e")
    (synopsis "Simple ivf muxer")
    (description "This package provides a simple ivf muxer.")
    (license license:bsd-2)))

(define-public rust-java-locator-0.1
  (package
    (name "rust-java-locator")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "java-locator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dfyawm101s0qxx73dpdc9gyfm462xpc8ppd979mssmgjj4g49bg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests want java in the path
       #:cargo-inputs (("rust-docopt" ,rust-docopt-1)
                       ("rust-glob" ,rust-glob-0.3))))
    (native-inputs (list which))
    (home-page "https://github.com/astonbitecode/java-locator")
    (synopsis "Locates a Java installation in the host")
    (description "Locates a Java installation in the host.")
    (license (list license:expat license:asl2.0))))

(define-public rust-javascriptcore-rs-sys-0.2
  (package
    (name "rust-javascriptcore-rs-sys")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "javascriptcore-rs-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1619vl48yw3wrjw4c3dfm3s5s9sizgxp5s7s1ahpbkcdl2lasiiz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/tauri-apps/javascriptcore-rs")
    (synopsis "JavaScriptCore bindings and wrappers for Rust")
    (description
     "Sys functions for the Rust bindings of the javacriptcore library.")
    (license license:expat)))

(define-public rust-jemalloc-ctl-0.5
  (package
    (name "rust-jemalloc-ctl")
    (version "0.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jemalloc-ctl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g5nb2aam7kc9vbbps25j99z80hlb7p14p8k9q2lqd2a882wgzvw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.5)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-paste" ,rust-paste-1))
       #:cargo-development-inputs (("rust-jemallocator" ,rust-jemallocator-0.5))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               ;; This flag is needed when not using the bundled jemalloc.
               ;; https://github.com/tikv/jemallocator/issues/19
               (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))
    (native-inputs (list jemalloc))
    (home-page "https://github.com/tikv/jemallocator")
    (synopsis "Wrapper over jemalloc's control and introspection APIs")
    (description
     "This package provides a safe wrapper over jemalloc's control and
introspection APIs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jemalloc-sys-0.5
  (package
    (name "rust-jemalloc-sys")
    (version "0.5.4+5.3.0-patched")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "jemalloc-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1wpbpwhfs6wd484cdfpl0zdf441ann9wj0fypy67i8ffw531jv5c"))
              (modules '((guix build utils)))
              (snippet
               '(begin (delete-file-recursively "jemalloc")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               ;; This flag is needed when not using the bundled jemalloc.
               ;; https://github.com/tikv/jemallocator/issues/19
               (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))
    (native-inputs
     (list jemalloc))
    (home-page "https://github.com/tikv/jemallocator")
    (synopsis "Rust FFI bindings to jemalloc")
    (description "This package provides Rust FFI bindings to jemalloc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jemalloc-sys-0.3
  (package
    (inherit rust-jemalloc-sys-0.5)
    (name "rust-jemalloc-sys")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "jemalloc-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd"))
        (modules '((guix build utils)))
        (snippet
         '(begin (delete-file-recursively "jemalloc") #t))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ;; Build dependencies:
        ("rust-cc" ,rust-cc-1)
        ("rust-fs-extra" ,rust-fs-extra-1))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
             #t)))))))

(define-public rust-jemalloc-sys-0.1
  (package
    (inherit rust-jemalloc-sys-0.3)
    (name "rust-jemalloc-sys")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jemalloc-sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1bh07rlzgg39ys1lsgnpxgvjj6blagp2h17fx267d0g3a272rimz"))
        (modules '((guix build utils)))
        (snippet
         '(begin (delete-file-recursively "jemalloc") #t))))))

(define-public rust-jemallocator-0.5
  (package
    (name "rust-jemallocator")
    (version "0.5.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "jemallocator" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1g6k9ly6wxj53bp8lz9lg9nj4s662k6612jydw71aqwfkx53gpm0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=background_threads_enabled")
       #:cargo-inputs
       (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.5)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-jemalloc-ctl" ,rust-jemalloc-ctl-0.5)
        ("rust-paste" ,rust-paste-1))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               ;; This flag is needed when not using the bundled jemalloc.
               ;; https://github.com/tikv/jemallocator/issues/19
               (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))
    (native-inputs
     (list jemalloc))
    (home-page "https://github.com/tikv/jemallocator")
    (synopsis "Rust allocator backed by jemalloc")
    (description
     "This package provides a Rust allocator backed by jemalloc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jemallocator-0.3
  (package
    (inherit rust-jemallocator-0.5)
    (name "rust-jemallocator")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jemallocator" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0sabfa5118b7l4ars5n36s2fjyfn59w4d6mjs6rrmsa5zky67bj3"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.3)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-paste" ,rust-paste-0.1))))))

(define-public rust-jemallocator-0.1
  (package
    (inherit rust-jemallocator-0.3)
    (name "rust-jemallocator")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jemallocator" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1csabk36p06nlh3qxxsg6nkf074b2jq2cld5zriq0xazqqmd834z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.1)
        ("rust-libc" ,rust-libc-0.2))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
             #t)))))
    (native-inputs
     (list jemalloc))))

(define-public rust-jetscii-0.5
  (package
    (name "rust-jetscii")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jetscii" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pppbawc1v6lshz6zi3d4bkz7xbalph9sd78a5299jd94kz45wa7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-memmap" ,rust-memmap-0.7)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-region" ,rust-region-3))))
    (home-page "https://github.com/shepmaster/jetscii")
    (synopsis
     "Search strings and byte slices for sets of ASCII characters or bytes")
    (description "This package provides a tiny library to efficiently search
strings and byte slices for sets of ASCII characters or bytes.")
    (license license:expat)))

(define-public rust-jetscii-0.3
  (package
    (inherit rust-jetscii-0.5)
    (name "rust-jetscii")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jetscii" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sq6d6c9vi44gkr566w2f1d4n6mmrjx8gjdwgnhkgcsg051j391j"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-jiff-0.1
  (package
    (name "rust-jiff")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yrkf8l6w0vy289vh3l2w49p3ayg7wc1cq6ziw93q4m6hs8lhica"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;275 tests fail
       #:cargo-inputs (("rust-jiff-tzdb" ,rust-jiff-tzdb-0.1)
                       ("rust-jiff-tzdb-platform" ,rust-jiff-tzdb-platform-0.1)
                       ("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.9)
        ("rust-hifitime" ,rust-hifitime-3)
        ("rust-insta" ,rust-insta-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde_json" ,rust-serde-json-1)
        ("rust-tabwriter" ,rust-tabwriter-1)
        ("rust-time" ,rust-time-0.3)
        ("rust-tzfile" ,rust-tzfile-0.1)
        ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/BurntSushi/jiff")
    (synopsis "Date-time library that provides high level datetime primitives")
    (description
     "This package provides a date-time library with high-level primitives that
are designed to be difficult to misuse and have reasonable performance.  It's
heavily inspired by the Temporal project.")
    (license (list license:unlicense license:expat))))

(define-public rust-jiff-tzdb-0.1
  (package
    (name "rust-jiff-tzdb")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiff-tzdb" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ls6mpzy0bhckpv681cxlm61cpq21rxldgdrfg3c9iahb1bmwcwi"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/BurntSushi/jiff/tree/master/jiff-tzdb")
    (synopsis "The entire Time Zone Database embedded into your binary")
    (description
     "This package provides The entire Time Zone Database embedded into your binary.")
    (license (list license:unlicense license:expat))))

(define-public rust-jiff-tzdb-platform-0.1
  (package
    (name "rust-jiff-tzdb-platform")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiff-tzdb-platform" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0aa3iwpvvl970180da9y2cisz9liairbqdq42sgyavv2183g0dcq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-jiff-tzdb" ,rust-jiff-tzdb-0.1))))
    (home-page
     "https://github.com/BurntSushi/jiff/tree/master/jiff-tzdb-platform")
    (synopsis "Entire embeddable Time Zone Database")
    (description
     "Provides the Time Zone Database for use in your binary on specific platforms.")
    (license (list license:unlicense license:expat))))

(define-public rust-jiter-0.7
  (package
    (name "rust-jiter")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09fx71x93sh15028pd0f78flv9j4fkvg6lgi22y5gbv83c99mxh7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-bitvec" ,rust-bitvec-1)
        ("rust-lexical-parse-float" ,rust-lexical-parse-float-0.8)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pyo3" ,rust-pyo3-0.22)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.22)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-codspeed-bencher-compat" ,rust-codspeed-bencher-compat-2)
        ("rust-paste" ,rust-paste-1)
        ("rust-pyo3" ,rust-pyo3-0.22)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (native-inputs (list python-minimal-wrapper))   ; For the tests.
    (home-page "https://github.com/pydantic/jiter/")
    (synopsis "Fast Iterable JSON parser")
    (description "This package provides an iterable JSON parser.")
    (license license:expat)))

(define-public rust-jiter-0.5
  (package
    (inherit rust-jiter-0.7)
    (name "rust-jiter")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ayj16d1rx5h5v7ihxgg198a9c190b6shsylzzfhxx9y2i4kbqh2"))))
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-bitvec" ,rust-bitvec-1)
                       ("rust-lexical-parse-float" ,rust-lexical-parse-float-0.8)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-pyo3" ,rust-pyo3-0.22)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.22)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-codspeed-bencher-compat" ,rust-codspeed-bencher-compat-2)
        ("rust-paste" ,rust-paste-1)
        ("rust-pyo3" ,rust-pyo3-0.22)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-jiter-0.2
  (package
    (inherit rust-jiter-0.5)
    (name "rust-jiter")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "163b67vsgn6xlnzypjk40r9wf27hc4ax9hfpwwd0ry6w1a37f4cf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-lexical-parse-float" ,rust-lexical-parse-float-0.8)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pyo3" ,rust-pyo3-0.21)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.21)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-codspeed-bencher-compat" ,rust-codspeed-bencher-compat-2)
        ("rust-paste" ,rust-paste-1)
        ("rust-pyo3" ,rust-pyo3-0.21)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-jiter-0.0.6
  (package
    (inherit rust-jiter-0.5)
    (name "rust-jiter")
    (version "0.0.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xr7cajq6r0szl6aga047asrd6cqrvw168yh0sz854znk5m0dnw7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-lexical-core" ,rust-lexical-core-0.8)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pyo3" ,rust-pyo3-0.20)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-codspeed-bencher-compat" ,rust-codspeed-bencher-compat-2)
        ("rust-paste" ,rust-paste-1)
        ("rust-pyo3" ,rust-pyo3-0.20)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-jiter-0.0.4
  (package
    (inherit rust-jiter-0.0.6)
    (name "rust-jiter")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jiter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f10awvz0yxi4pb0783ya26wrw6bb48qn9smsc5bbxsvaff42zdj"))))
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-lexical-core" ,rust-lexical-core-0.8)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-pyo3" ,rust-pyo3-0.20)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-codspeed-bencher-compat" ,rust-codspeed-bencher-compat-2)
        ("rust-paste" ,rust-paste-1)
        ("rust-pyo3" ,rust-pyo3-0.20)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-jni-0.21
  (package
    (name "rust-jni")
    (version "0.21.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jni" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15wczfkr2r45slsljby12ymf2hij8wi5b104ghck9byjnwmsm1qs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cesu8" ,rust-cesu8-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-combine" ,rust-combine-4)
                       ("rust-java-locator" ,rust-java-locator-0.1)
                       ("rust-jni-sys" ,rust-jni-sys-0.3)
                       ("rust-libloading" ,rust-libloading-0.7)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-windows-sys" ,rust-windows-sys-0.45))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-bytemuck" ,rust-bytemuck-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-rusty-fork" ,rust-rusty-fork-0.3))))
    (home-page "https://github.com/jni-rs/jni-rs")
    (synopsis "Rust bindings to the JNI")
    (description
     "This package provides Rust bindings to the JNI.  It
implements native Java methods for JVM and Android in Rust, call Java
code from Rust, embed JVM in Rust applications and use any Java
libraries.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jni-0.19
  (package
    (inherit rust-jni-0.21)
    (name "rust-jni")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jni" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v0pn0i1wb8zp4wns4l8hz9689hqsplv7iba7hylaznvwg11ipy6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cesu8" ,rust-cesu8-1)
        ("rust-combine" ,rust-combine-4)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-jni-0.18
  (package
    (inherit rust-jni-0.19)
    (name "rust-jni")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jni" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1brglk3kfia9wkr6rkm6p297b8qk6rv3k8rf6jjiqc74l49735i4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cesu8" ,rust-cesu8-1)
        ("rust-combine" ,rust-combine-4)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-jni-0.14
  (package
    (inherit rust-jni-0.18)
    (name "rust-jni")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jni" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00jl4jzzbbcf1nyziras5drp501xsk89g0132pwg194ilh6k308r"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cesu8" ,rust-cesu8-1)
        ("rust-combine" ,rust-combine-3)
        ("rust-error-chain" ,rust-error-chain-0.12)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-jni-glue-0.0.10
  (package
    (name "rust-jni-glue")
    (version "0.0.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jni-glue" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "054kc2hkdfjiihy7ssrn97s9hs35c2v32ph2h0jlv4vkazx39ddb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/MaulingMonkey/jni-bindgen")
    (synopsis "Glue code to accompany the jni-bindgen code generator")
    (description
     "This package provides manually written glue code to accompany
the jni-bindgen code generator for binding to JVM APIs from Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jni-sys-0.3
  (package
    (name "rust-jni-sys")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jni-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c01zb9ygvwg9wdx2fii2d39myzprnpqqhy7yizxvjqp5p04pbwf"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/rust-jni-sys")
    (synopsis "Rust definitions corresponding to @file{jni.h}")
    (description
     "This package provides Rust definitions corresponding to
@file{jni.h}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-jobserver-0.1
  (package
    (name "rust-jobserver")
    (version "0.1.32")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jobserver" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l2k50qmj84x9mn39ivjz76alqmx72jhm12rw33zx9xnpv5xpla8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-nix" ,rust-nix-0.28)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/rust-lang/jobserver-rs")
    (synopsis "GNU make jobserver for Rust")
    (description
     "An implementation of the GNU make jobserver for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-joinery-2
  (package
    (name "rust-joinery")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "joinery" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xg4cjnz8cd6ya9hynb9wx79ijd3j6307f47aijviqzwyml7s5kj"))))
    (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/Lucretiel/joinery")
    (synopsis
     "Crate for generically joining iterators with a separator")
    (description "This package provides a small crate for generically joining
iterators with a separator.")
    (license license:expat)))

(define-public rust-js-sys-0.3
  (package
    (name "rust-js-sys")
    (version "0.3.76")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "js-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dz7v777h2j38wkf8k5iwkfxskn6nff2cdv2jsslyxkpn2svc5v7"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
    (home-page "https://rustwasm.github.io/wasm-bindgen/")
    (synopsis "Bindings for all JS global objects and functions in WASM")
    (description
     "Bindings for all JS global objects and functions in all JS environments
like Node.js and browsers, built on @code{#[wasm_bindgen]} using the
wasm-bindgen crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-json-0.12
  (package
    (name "rust-json")
    (version "0.12.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "json" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1z9vybaaz3xq95bwmyln2ijmn4dmzj61xlz06jsc9dnzmxg2i3h7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/maciejhirsz/json-rust")
    (synopsis "JSON implementation in Rust")
    (description "This crate provides a JSON implementation in Rust, reducing
friction with idiomatic Rust structs to ease interopability.")
    (license (list license:expat license:asl2.0))))

(define-public rust-json-deserializer-0.4
  (package
    (name "rust-json-deserializer")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "json-deserializer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gv8qa9bprcw0ypz4kmpp844yfjg1dpzayk7xc5i1d3fw4hv8qsz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs (("rust-indexmap" ,rust-indexmap-1))))
    (home-page "https://github.com/jorgecarleitao/json-deserializer")
    (synopsis "Performant library to deserialize JSON")
    (description
     "This package provides a performant library to deserialize JSON.")
    (license license:asl2.0)))

(define-public rust-jsonpath-lib-0.3
  (package
    (name "rust-jsonpath-lib")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jsonpath_lib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kvp4fargixqlwjvpb3w6f1lvmiysnmj7an5h75wqc42ss8k39pa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/freestrings/jsonpath")
    (synopsis "JsonPath engine written in Rust")
    (description
     "It is JsonPath engine written in Rust.  It provides a similar API
interface in Webassembly and Javascript too.")
    (license license:expat)))

(define-public rust-jsonrpc-core-18
  (package
    (name "rust-jsonrpc-core")
    (version "18.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jsonrpc-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sv5m6bxyscdqg8cfzlsm8f3vks3972zc9w475l4h19dxxmggxql"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-executor" ,rust-futures-executor-0.3)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/paritytech/jsonrpc")
    (synopsis "Transport agnostic Rust implementation of JSON-RPC 2.0")
    (description
     "This package provides a transport agnostic Rust implementation of
JSON-RPC 2.0 specification.")
    (license license:expat)))

(define-public rust-jsonwebtoken-9
  (package
    (name "rust-jsonwebtoken")
    (version "9.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jsonwebtoken" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gqr13c9fjd4zb2lqzhgi4xwq0rfnk8a47jzjis1w1957lci1bmr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-base64" ,rust-base64-0.21)
                       ("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-pem" ,rust-pem-3)
                       ("rust-ring" ,rust-ring-0.17)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-simple-asn1" ,rust-simple-asn1-0.6))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-time" ,rust-time-0.3)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/Keats/jsonwebtoken")
    (synopsis "Create and decode JWTs in a strongly typed way")
    (description
     "This package provides a method to create and decode @acronym{JWTs, json
web tokens} in a strongly typed way.")
    (license license:expat)))

(define-public rust-juliex-0.3
  (package
    (name "rust-juliex")
    (version "0.3.0-alpha.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "juliex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g4r23i7dkpid8zmkg6aiw73gkp7jagwhrjfi12yklyx4dczvp12"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-crossbeam" ,rust-crossbeam-0.7)
        ("rust-futures-preview" ,rust-futures-preview-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-cpus" ,rust-num-cpus-1))))
    (home-page "https://github.com/withoutboats/juliex")
    (synopsis "Very basic future executor")
    (description
     "juliex is a concurrent executor for Rust futures.  It is implemented as
a threadpool executor using a single, shared queue.  Algorithmically, it is
very similar to the Threadpool executor provided by the futures crate.  The
main difference is that juliex uses a crossbeam channel and performs a single
allocation per spawned future, whereas the futures Threadpool uses std
concurrency primitives and multiple allocations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-juniper-0.15
  (package
    (name "rust-juniper")
    (version "0.15.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "juniper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dg1b5msr8k4kwmam2h0f64z7aamk4799vdh3cg55c881idclpc7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-bson" ,rust-bson-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.5)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-enum" ,rust-futures-enum-0.1)
        ("rust-graphql-parser" ,rust-graphql-parser-0.3)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-juniper-codegen" ,rust-juniper-codegen-0.15)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-smartstring" ,rust-smartstring-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-url" ,rust-url-2)
        ("rust-uuid" ,rust-uuid-0.8))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/graphql-rust/juniper")
    (synopsis "GraphQL server library for Rust")
    (description
     "Juniper makes it possible to write GraphQL servers in Rust that are
type-safe and fast.  It also tries to make declaring and resolving GraphQL
schemas convenient.

Juniper does not include a web server.  Instead it provides building blocks to
make integration with existing servers straightforward.  It optionally
provides a pre-built integration for the Actix, Hyper, Iron, Rocket, and Warp
frameworks, including embedded Graphiql and GraphQL Playground for easy
debugging.")
    (license license:bsd-2)))

(define-public rust-juniper-0.14
  (package
    (inherit rust-juniper-0.15)
    (name "rust-juniper")
    (version "0.14.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "juniper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s56rb31yddhvjynl5bk8jihcdln8h5yfsx63kfxdhzvw98vlqpn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-juniper-codegen" ,rust-juniper-codegen-0.14)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-url" ,rust-url-2)
        ("rust-uuid" ,rust-uuid-0.7))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-juniper-codegen-0.15
  (package
    (name "rust-juniper-codegen")
    (version "0.15.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "juniper_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nvigsc1yrfv09wx1yv830dd60ay556haz87p80h7m8s0rqpdsdf"))))
    (build-system cargo-build-system)
    (arguments
     ;; XXX: Tests fail with "error[E0599]: no variant or associated item
     ;; named `__TestExhaustive` found for enum `syn::Type` in the current
     ;; scope".
     `(#:tests? #false
       #: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-juniper" ,rust-juniper-0.15))))
    (home-page "https://github.com/graphql-rust/juniper")
    (synopsis "Internal custom derive trait for Juniper GraphQL")
    (description
     "This package provides an internal custom derive trait for Juniper
GraphQL.")
    (license license:bsd-2)))

(define-public rust-juniper-codegen-0.14
  (package
    (inherit rust-juniper-codegen-0.15)
    (name "rust-juniper-codegen")
    (version "0.14.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "juniper_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06ym8568k9p75kvnfc4ywqbkzaa4ib6gngx9vpbsjwg9v0sg42nl"))))
    (arguments
     `(#:tests? #false                  ;FIXME: fail due to unresolved import
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-juniper" ,rust-juniper-0.14))))))

(define-public rust-jwalk-0.8
  (package
    (name "rust-jwalk")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "jwalk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0miw0074ch6p89dbvrlnz9wp13rh7542cf1ak8bx4v1mcrsq8d97"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam" ,rust-crossbeam-0.8)
        ("rust-rayon" ,rust-rayon-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-fs-extra" ,rust-fs-extra-1)
        ("rust-ignore" ,rust-ignore-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/byron/jwalk")
    (synopsis
     "File system walk performed in parallel with streamed and sorted results")
    (description
     "This Rust crate implements a file system walk that runs in parallel
using @code{rayon}.  It attempts to combine the parallelism of @code{ignore}
with @code{walkdir}'s streaming iterator API.  Entries are streamed in sorted
order with options for custom sorting, filtering, and skipping.

Directory traversal is already pretty fast.  If you don't need this crate's
speed then walkdir provides a smaller and more tested single threaded implementation.")
    (license license:expat)))

(define-public rust-k9-0.12
  (package
    (name "rust-k9")
    (version "0.12.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "k9" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "056ngrvyla95qj737h7xjw5ja697h07mpw6pci5v3cb8bfxwx2q8"))
              (snippet
               #~(begin (use-modules (guix build utils))
                        (substitute* "Cargo.toml"
                          ;; k9@0.11.7 was yanked by upstream, provide 0.11.6.
                          (("0\\.11\\.7") "0.11.6"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-colored" ,rust-colored-2)
                       ("rust-diff" ,rust-diff-0.1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-terminal-size" ,rust-terminal-size-0.2))
       #:cargo-development-inputs
       (("rust-derive-builder" ,rust-derive-builder-0.9)
        ("rust-k9" ,rust-k9-0.11)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-sha2" ,rust-sha2-0.9)
        ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1))))
    (home-page "https://github.com/aaronabramov/k9")
    (synopsis "Testing library")
    (description "This package contains helper macros for writing unit tests.")
    (license license:expat)))

(define-public rust-k9-0.11
  (package
    (inherit rust-k9-0.12)
    (name "rust-k9")
    (version "0.11.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "k9" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1a8pxz6fygqzknxdlb4l835kqxgjk7snm4bjhhhn783r025vbp9j"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-colored" ,rust-colored-1)
                       ("rust-diff" ,rust-diff-0.1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-1)
                       ("rust-term-size" ,rust-term-size-0.3))))))

(define-public rust-katex-doc-0.1
  (package
    (name "rust-katex-doc")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "katex-doc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fa0fi3bv9qdab0cb49q8971vszf0nzmvnvm70lns5xrpyyq0nqy"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/CAD97/katex-doc")
    (synopsis "XaaS for KaTeX on docs.rs")
    (description
     "This package provides a XSS as a Service for KaTeX on docs.rs")
    (license (list license:unlicense license:expat))))

(define-public rust-keccak-0.1
  (package
    (name "rust-keccak")
    (version "0.1.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "keccak" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0m06swsyd58hvb1z17q6picdwywprf1yf1s6l491zi8r26dazhpc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cpufeatures" ,rust-cpufeatures-0.2))))
    (home-page "https://github.com/RustCrypto/sponges/tree/master/keccak")
    (synopsis "Keccak-f sponge function for Rust")
    (description
     "Pure Rust implementation of the Keccak sponge function including the
keccak-f and keccak-p variants.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-keyring-2
  (package
    (name "rust-keyring")
    (version "2.3.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "keyring" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "184mshdrgghlvmlz0n7w1167yx0sa3zb82n31jk4lwcx07q8fcrn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Can't set password for empty user: NoEntry
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-linux-keyutils" ,rust-linux-keyutils-0.2)
        ("rust-secret-service" ,rust-secret-service-3)
        ("rust-security-framework" ,rust-security-framework-2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rpassword" ,rust-rpassword-7)
        ("rust-whoami" ,rust-whoami-1))))
    (home-page "https://github.com/hwchen/keyring-rs")
    (synopsis "Cross-platform library for managing passwords/credentials")
    (description "This package provides a cross-platform library for managing
passwords/credentials.")
    (license (list license:expat license:asl2.0))))

(define-public rust-khronos-api-3
  (package
    (name "rust-khronos-api")
    (version "3.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "khronos_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1p0xj5mlbagqyvvnv8wmv3cr7l9y1m153888pxqwg3vk3mg5inz2"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/brendanzab/gl-rs/")
    (synopsis "Khronos XML API Registry")
    (description
     "The Khronos XML API Registry, exposed as byte string constants.")
    (license license:asl2.0)))

(define-public rust-koibumi-base32-0.0.2
  (package
    (name "rust-koibumi-base32")
    (version "0.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "koibumi-base32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1frb232m6rw50ly8ijhsbllcqfif5kcma1l6hrgm5g22c3c3il94"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://kashiko.gitlab.io/koibumi-rust/")
    (synopsis "Base32 encoder/decoder library")
    (description "This package provides a Base32 encoder/decoder library.")
    (license license:gpl3+)))

(define-public rust-konst-0.2
  (package
    (name "rust-konst")
    (version "0.2.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "konst" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x3lxxk9vjaiiaabngv7ki2bv9xi36gnqzjzi0s8qfs8wq9hw3rk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-konst-macro-rules" ,rust-konst-macro-rules-0.2)
                       ("rust-konst-proc-macros" ,rust-konst-proc-macros-0.2)
                       ("rust-trybuild" ,rust-trybuild-1))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/rodrimati1992/konst/")
    (synopsis
     "Const equivalents of std functions, compile-time comparison, and parsing")
    (description
     "Const equivalents of std functions, compile-time comparison, and parsing.")
    (license license:zlib)))

(define-public rust-konst-macro-rules-0.2
  (package
    (name "rust-konst-macro-rules")
    (version "0.2.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "konst_macro_rules" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dswja0dqcww4x3fwjnirc0azv2n6cazn8yv0kddksd8awzkz4x4"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rodrimati1992/konst/")
    (synopsis "Implementation detail of the konst crate")
    (description "Implementation detail of the konst crate.")
    (license license:zlib)))

(define-public rust-konst-proc-macros-0.2
  (package
    (name "rust-konst-proc-macros")
    (version "0.2.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "konst_proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dxp8mdh3q9d044ql203way4fgbc50n3j3pi2j1x2snlcaa10klq"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rodrimati1992/konst/")
    (synopsis "Implementation detail of the @code{konst} crate")
    (description "Implementation detail of the @code{konst} crate.")
    (license license:zlib)))

(define-public rust-kqueue-1
  (package
    (name "rust-kqueue")
    (version "1.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "kqueue" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "033x2knkbv8d3jy6i9r32jcgsq6zm3g97zh5la43amkv3g5g2ivl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; cannot find type `EventFilter` in this scope
       #:cargo-inputs
       (("rust-kqueue-sys" ,rust-kqueue-sys-1)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://gitlab.com/worr/rust-kqueue")
    (synopsis "BSDs kqueue interface")
    (description "This package provides a kqueue interface for BSDs.")
    (license license:expat)))

(define-public rust-kqueue-sys-1
  (package
    (name "rust-kqueue-sys")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "kqueue-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12w3wi90y4kwis4k9g6fp0kqjdmc6l00j16g8mgbhac7vbzjb5pd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; cannot find type `EventFilter` in this scope
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://gitlab.com/worr/rust-kqueue-sys")
    (synopsis "Low-level kqueue interface for BSDs")
    (description "This package provides a low-level kqueue interface for BSDs.")
    (license license:expat)))

(define-public rust-kstring-2
  (package
    (name "rust-kstring")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "kstring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lfvqlqkg2x23nglznb7ah6fk3vv3y5i759h5l2151ami98gk2sm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-document-features" ,rust-document-features-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/cobalt-org/kstring")
    (synopsis "String optimized for map keys")
    (description "Key String provides a Rust package optimized for map keys.")
    (license (list license:expat license:asl2.0))))

(define-public rust-kuchiki-0.8
  (package
    (name "rust-kuchiki")
    (version "0.8.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "kuchiki" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0n53hhscgf4az58nnbjfxlqz9k96h3f02c7fhbzpqdriw33fka0y"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-cssparser" ,rust-cssparser-0.27)
         ("rust-html5ever" ,rust-html5ever-0.25)
         ("rust-matches" ,rust-matches-0.1)
         ("rust-selectors" ,rust-selectors-0.22))))
    (home-page "https://github.com/SimonSapin/kuchiki")
    (synopsis "HTML/XML tree manipulation library")
    (description "A library for parsing and serializing HTML and XML documents
and traversing, manipulating, and querying the document tree.")
    (license license:expat)))

(define-public rust-kv-log-macro-1
  (package
    (name "rust-kv-log-macro")
    (version "1.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "kv-log-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zwp4bxkkp87rl7xy2dain77z977rvcry1gmr5bssdbn541v7s0d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4))
       #:cargo-development-inputs
       (("rust-femme" ,rust-femme-1))))
    (home-page "https://github.com/yoshuawuyts/kv-log-macro")
    (synopsis "Log macro for log's kv-unstable backend")
    (description
     "This package provides a Log macro for log's kv-unstable backend.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lab-0.11
  (package
    (name "rust-lab")
    (version "0.11.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lab" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "13ymsn5cwl5i9pmp5mfmbap7q688dcp9a17q82crkvb784yifdmz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/TooManyBees/lab")
    (synopsis "Convert RGB to CIE-LAB for Rust")
    (description
     "This package contains tools for converting RGB colors to the CIE-LAB color
space, and comparing differences in color.")
    (license license:expat)))

(define-public rust-lalrpop-0.20
  (package
    (name "rust-lalrpop")
    (version "0.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lalrpop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jn1qg7gs9kka6sy2sbxx8wp6z8lm892ksr414b9yaansrx0gjsm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ascii-canvas" ,rust-ascii-canvas-3)
                       ("rust-bit-set" ,rust-bit-set-0.5)
                       ("rust-ena" ,rust-ena-0.14)
                       ("rust-itertools" ,rust-itertools-0.11)
                       ("rust-lalrpop-util" ,rust-lalrpop-util-0.20)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-pico-args" ,rust-pico-args-0.5)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.8)
                       ("rust-string-cache" ,rust-string-cache-0.8)
                       ("rust-term" ,rust-term-0.7)
                       ("rust-tiny-keccak" ,rust-tiny-keccak-2)
                       ("rust-unicode-xid" ,rust-unicode-xid-0.2)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-diff" ,rust-diff-0.1)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/lalrpop/lalrpop")
    (synopsis "Convenient LR(1) parser generator for Rust")
    (description "LALRPOP is a Rust parser generator framework with usability
as its primary goal.  You should be able to write compact, DRY, readable
grammars.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lalrpop-0.19
  (package
    (inherit rust-lalrpop-0.20)
    (name "rust-lalrpop")
    (version "0.19.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lalrpop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yw3m7br8zsby1vb7d0v952hdllg6splc85ba4l9yn1746avy70a"))))
    (arguments
     `(#:install-source? #f     ; README is missing.
       #:cargo-inputs
       (("rust-ascii-canvas" ,rust-ascii-canvas-3)
        ("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-diff" ,rust-diff-0.1)
        ("rust-ena" ,rust-ena-0.14)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lalrpop-util" ,rust-lalrpop-util-0.19)
        ("rust-petgraph" ,rust-petgraph-0.6)
        ("rust-pico-args" ,rust-pico-args-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
        ("rust-string-cache" ,rust-string-cache-0.8)
        ("rust-term" ,rust-term-0.7)
        ("rust-tiny-keccak" ,rust-tiny-keccak-2)
        ("rust-unicode-xid" ,rust-unicode-xid-0.2))
      #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                  ("rust-regex" ,rust-regex-1)
                                  ("rust-regex-syntax" ,rust-regex-syntax-0.6))))))

(define-public rust-lalrpop-0.17
  (package
    (inherit rust-lalrpop-0.19)
    (name "rust-lalrpop")
    (version "0.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lalrpop" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nv7ma8cgw3r1fcma7gy06fwwlpl4fkz91mxv5kjhiaxwyc3dp34"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
      (("rust-ascii-canvas" ,rust-ascii-canvas-2)
       ("rust-atty" ,rust-atty-0.2)
       ("rust-bit-set" ,rust-bit-set-0.5)
       ("rust-diff" ,rust-diff-0.1)
       ("rust-docopt" ,rust-docopt-1)
       ("rust-ena" ,rust-ena-0.13)
       ("rust-itertools" ,rust-itertools-0.8)
       ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
       ("rust-petgraph" ,rust-petgraph-0.4)
       ("rust-regex" ,rust-regex-1)
       ("rust-regex-syntax" ,rust-regex-syntax-0.6)
       ("rust-serde" ,rust-serde-1)
       ("rust-serde-derive" ,rust-serde-derive-1)
       ("rust-sha2" ,rust-sha2-0.8)
       ("rust-string-cache" ,rust-string-cache-0.7)
       ("rust-term" ,rust-term-0.5)
       ("rust-unicode-xid" ,rust-unicode-xid-0.1))
      #:cargo-development-inputs
      (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-lalrpop-util-0.20
  (package
    (name "rust-lalrpop-util")
    (version "0.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lalrpop-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lr5r12bh9gjjlmnjrbblf4bfcwnad4gz1hqjvp34yzb22ln0x2h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-regex-automata" ,rust-regex-automata-0.4))))
    (home-page "https://github.com/lalrpop/lalrpop")
    (synopsis "Runtime library for parsers generated by LALRPOP")
    (description "THis package provides the runtime library for parsers
generated by LALRPOP.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lalrpop-util-0.19
  (package
    (inherit rust-lalrpop-util-0.20)
    (name "rust-lalrpop-util")
    (version "0.19.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lalrpop-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vd0iy505h97xxm66r3m68a34v0009784syy093mlk30p4vq5i6k"))))
    (arguments
     `(#:cargo-inputs (("rust-regex" ,rust-regex-1))))))

(define-public rust-lalrpop-util-0.17
  (package
    (inherit rust-lalrpop-util-0.19)
    (name "rust-lalrpop-util")
    (version "0.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lalrpop-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z4bjn3g9232n1im5p6mn9mwlvw5aj5iac6hbjmljqxkhf3d2xy2"))))))

(define-public rust-language-tags-0.3
  (package
    (name "rust-language-tags")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "language-tags" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "124k6w9nx33q4xs8rpa9f7klshrsa0x4f7qngdwq890lpdj5jd6l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/pyfisch/rust-language-tags")
    (synopsis "Language tags for Rust")
    (description
     "Language tags can be used identify human languages, scripts e.g. Latin
script, countries and other regions.  They are commonly used in HTML and HTTP
@code{Content-Language} and @code{Accept-Language} header fields.  This package
currently supports parsing (fully conformant parser), formatting and comparing
language tags.")
    (license license:expat)))

(define-public rust-language-tags-0.2
  (package
    (inherit rust-language-tags-0.3)
    (name "rust-language-tags")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "language-tags" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-heapsize" ,rust-heapsize-0.3)
        ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1))))))

(define-public rust-lapack-0.19
  (package
    (name "rust-lapack")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lapack" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01yja6fdjr7h6nqhlamn0mhqv5533735030av2gnmrzp9mmnlrxd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lapack-sys" ,rust-lapack-sys-0.14)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-num-complex" ,rust-num-complex-0.4))))
    (home-page "https://github.com/blas-lapack-rs/lapack")
    (synopsis "Rust wrappers for LAPACK (Fortran)")
    (description "The package provides wrappers for LAPACK (Fortran).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lapack-sys-0.14
  (package
    (name "rust-lapack-sys")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lapack-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gmw6fn4zc6106pzpi88p79b260h7hav40b7sfisf45lbz45czs4"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (delete-file-recursively "lapack")
           (substitute* "bin/wrapper.h"
             (("\"../lapack/LAPACKE/include/lapack.h\"")
              "<lapack.h>"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (inputs (list lapack))
    (home-page "https://github.com/blas-lapack-rs/lapack-sys")
    (synopsis "Rust bindings to LAPACK (Fortran)")
    (description "The package provides bindings to LAPACK (Fortran).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-layout-rs-0.1
  (package
    (name "rust-layout-rs")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "layout-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a6y7wjc0p7cbawdwa9gkvb1c518697nchbk5aj9r0vc7a5b5pl4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/nadavrot/layout")
    (synopsis "graph visualization program")
    (description "This package provides a graph visualization program.")
    (license license:expat)))

(define-public rust-lazy-bytes-cast-5
  (package
    (name "rust-lazy-bytes-cast")
    (version "5.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lazy-bytes-cast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sr0dy1jfg7bjwm9js4hk0ngl0cmgparq2idv1m1bkc9y2cp898h"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/DoumanAsh/lazy-bytes-cast")
    (synopsis "Lazy casts from and to byte arrays")
    (description
     "This crate provides simple methods to cast from and into byte arrays.")
    (license license:boost1.0)))

(define-public rust-lazy-regex-3
  (package
    (name "rust-lazy-regex")
    (version "3.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lazy-regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nmzfxkaycxrv61cb272img06pdvkywp8qh1aasyrivbgv4l33ld"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-regex-proc-macros" ,rust-lazy-regex-proc-macros-3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-regex-lite" ,rust-regex-lite-0.1))))
    (home-page "https://github.com/Canop/lazy-regex")
    (synopsis "Lazy static regular expressions checked at compile time")
    (description "Lazy static regular expressions checked at compile time.")
    (license license:expat)))

(define-public rust-lazy-regex-proc-macros-3
  (package
    (name "rust-lazy-regex-proc-macros")
    (version "3.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lazy-regex-proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qs13g4047fvlc16w1qb9yp4af3qm2xhp4kvkk5m6b37bnqdiqbn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; cannot find macro `regex_replace_all` in this scope
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/Canop/lazy-regex")
    (synopsis "Proc macros for the lazy_regex crate")
    (description "This package provides proc macros for the lazy_regex crate.")
    (license license:expat)))

(define-public rust-lazy-static-1
  (package
    (name "rust-lazy-static")
    (version "1.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lazy_static" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1zk6dqqni0193xg6iijh7i3i44sryglwgvx20spdvwk3r6sbrlmv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" "--skip=ui")
       #:cargo-inputs (("rust-spin" ,rust-spin-0.9))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page  "https://github.com/rust-lang-nursery/lazy-static.rs")
    (synopsis "Macro for declaring lazily evaluated statics in Rust")
    (description
     "This package provides a macro for declaring lazily evaluated statics in
Rust.  Using this macro, it is possible to have @code{static}s that require code
to be executed at runtime in order to be initialized.  This includes anything
requiring heap allocations, like vectors or hash maps, as well as anything that
requires non-const function calls to be computed.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-lazy-static-0.2
  (package
    (inherit rust-lazy-static-1)
    (name "rust-lazy-static")
    (version "0.2.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lazy_static" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0wxy8vak7jsx6r8gx475pjqpx11p2bfq4wvw6idmqi31mp3k7w3n"))))
    (arguments
     `(#:tests? #f      ; Tests fail to compile.
       #:cargo-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
        ("rust-spin" ,rust-spin-0.4))))))

(define-public rust-lazy-static-0.1
  (package
    (inherit rust-lazy-static-0.2)
    (name "rust-lazy-static")
    (version "0.1.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lazy_static" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "05vl1h4b0iv800grsdyc3fg2bq29p70wjav6zpjvxxd5i8d6s66g"))))
    (arguments '())))

(define-public rust-lazycell-1
  (package
    (name "rust-lazycell")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lazycell" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0m8gw7dn30i0zjjpjdyf6pc16c34nl71lpv461mix50x3p70h3c3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clippy" ,rust-clippy-0.0.302))))
    (home-page "https://github.com/indiv0/lazycell")
    (synopsis "Lazily filled Cell struct")
    (description
     "This package provides a library providing a lazily filled Cell struct.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lddtree-0.3
  (package
    (name "rust-lddtree")
    (version "0.3.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "lddtree" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "13mh4y1bwlqpa8jpsgj3zb0mxi4syzdqh8x13xwapdnp9g4rlxz0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fs-err" ,rust-fs-err-3)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-goblin" ,rust-goblin-0.9))))
    (home-page "https://github.com/messense/lddtree-rs")
    (synopsis "Read the ELF dependency tree")
    (description "Read the ELF dependency tree.")
    (license license:expat)))

(define-public rust-leb128-0.2
  (package
    (name "rust-leb128")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "leb128" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rxxjdn76sjbrb08s4bi7m4x47zg68f71jzgx8ww7j0cnivjckl8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.8))))
    (home-page "https://github.com/gimli-rs/leb128")
    (synopsis
     "Read and write DWARF LEB128 variable length integer encoding")
    (description
     "Read and write DWARF's @code{Little Endian Base 128} (LEB128) variable
length integer encoding.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lebe-0.5
  (package
    (name "rust-lebe")
    (version "0.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "lebe" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1j2l6chx19qpa5gqcw434j83gyskq3g2cnffrbl3842ymlmpq203"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-byteorder" ,rust-byteorder-1))))
    (home-page "https://github.com/johannesvollmer/lebe")
    (synopsis "Endianness conversions with a generic API")
    (description
     "This package provides endianness conversions with a generic API in rust.")
    (license license:bsd-3)))

(define-public rust-lettre-0.9
  (package
    (name "rust-lettre")
    (version "0.9.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lettre" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pk0jsbjlzijl1m8l2nxxbfll6lk2dbc6ja9mdrvaxc92dvqdvc6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.10)
        ("rust-bufstream" ,rust-bufstream-0.1)
        ("rust-fast-chemail" ,rust-fast-chemail-0.9)
        ("rust-hostname" ,rust-hostname-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-nom" ,rust-nom-4)
        ("rust-r2d2" ,rust-r2d2-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://lettre.rs")
    (synopsis "Rust email client")
    (description "lettre is an email client for Rust programs allowing easily
sending emails from Rust applications.")
    (license license:expat)))

(define-public rust-lettre-email-0.9
  (package
    (name "rust-lettre-email")
    (version "0.9.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lettre_email" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mar4njchjd33q7s47r43njjj8farkb78f8ica77jj6gil7lh0px"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" "--skip=book_test")
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.10)
        ("rust-email" ,rust-email-0.0.20)
        ("rust-lettre" ,rust-lettre-0.9)
        ("rust-mime" ,rust-mime-0.3)
        ("rust-time" ,rust-time-0.1)
        ("rust-uuid" ,rust-uuid-0.7))
       #:cargo-development-inputs (("rust-glob" ,rust-glob-0.3)
                                   ("rust-lettre" ,rust-lettre-0.9))))
    (native-inputs (list pkg-config))
    (inputs (list openssl))
    (home-page "https://github.com/lettre/lettre")
    (synopsis "Mailer library for Rust")
    (description "Lettre is a mailer library for Rust.  It provides multiple
transport methods, unicode support, secure delivery with SMTP using encryption
and authentication, easy email builders, and async support.")
    (license license:expat)))

(define-public rust-levenshtein-1
  (package
    (name "rust-levenshtein")
    (version "1.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "levenshtein" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q0pa1prsjk3v28xkas5rf30ng9816mxpr2n3xls65dmgawss4yv"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/wooorm/levenshtein-rs")
    (synopsis "Levenshtein algorithm")
    (description
     "This crate provides an implementation of the levenshtein algorithm in rust.")
    (license license:expat)))

(define-public rust-lexical-6
  (package
    (name "rust-lexical")
    (version "6.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xk8g6k17ml0sjyx388qck9zqhxjfyzjqx1l6c0ggzj3zlvgpbn7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lexical-core" ,rust-lexical-core-0.8))))
    (home-page "https://github.com/Alexhuszagh/rust-lexical")
    (synopsis "Lexical, to- and from-string conversion routines")
    (description
     "Lexical is high-performance numeric conversion routines for use in
a no_std environment.  This does not depend on any standard library features,
nor a system allocator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexical-5
  (package
    (inherit rust-lexical-6)
    (name "rust-lexical")
    (version "5.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r8lsi523h53kbb99xgv31jabwhcp4rzqd4hfazfhcjffh5aj17l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-lexical-core" ,rust-lexical-core-0.7)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-toml" ,rust-toml-0.5))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-dtoa" ,rust-dtoa-0.4)
        ("rust-itoa" ,rust-itoa-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-ryu" ,rust-ryu-1))))))

(define-public rust-lexical-core-0.8
  (package
    (name "rust-lexical-core")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ihf0x3vrk25fq3bv9q35m0xax0wmvwkh0j0pjm2yk4ddvh5vpic"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lexical-parse-float" ,rust-lexical-parse-float-0.8)
        ("rust-lexical-parse-integer" ,rust-lexical-parse-integer-0.8)
        ("rust-lexical-util" ,rust-lexical-util-0.8)
        ("rust-lexical-write-float" ,rust-lexical-write-float-0.8)
        ("rust-lexical-write-integer" ,rust-lexical-write-integer-0.8))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5))))
    (home-page
     "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
    (synopsis "Lexical, to- and from-string conversion routines")
    (description
     "This crate provides lexical, to- and from-string conversion routines.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexical-core-0.7
  (package
    (inherit rust-lexical-core-0.8)
    (name "rust-lexical-core")
    (version "0.7.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-core" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zjzab1fnaw4kj6ixyrskp4dyz761gdcab07m4bkvlk1l4mcc1v6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-dtoa" ,rust-dtoa-0.4)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.4))))))

(define-public rust-lexical-parse-float-0.8
  (package
    (name "rust-lexical-parse-float")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-parse-float" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0py0gp8hlzcrlvjqmqlpl2v1as65iiqxq2xsabxvhc01pmg3lfv8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `quickcheck`
       #:cargo-inputs
       (("rust-lexical-parse-integer" ,rust-lexical-parse-integer-0.8)
        ("rust-lexical-util" ,rust-lexical-util-0.8)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/Alexhuszagh/rust-lexical")
    (synopsis "Efficient parsing of floats from strings")
    (description
     "This crate provides efficient parsing of floats from strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexical-parse-integer-0.8
  (package
    (name "rust-lexical-parse-integer")
    (version "0.8.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-parse-integer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sayji3mpvb2xsjq56qcq3whfz8px9a6fxk5v7v15hyhbr4982bd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lexical-util" ,rust-lexical-util-0.8)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/Alexhuszagh/rust-lexical")
    (synopsis "Efficient parsing of integers from strings")
    (description
     "This crate provides efficient parsing of integers from strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexical-util-0.8
  (package
    (name "rust-lexical-util")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z73qkv7yxhsbc4aiginn1dqmsj8jarkrdlyxc88g2gz2vzvjmaj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `quickcheck`
       #:cargo-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/Alexhuszagh/rust-lexical")
    (synopsis "Shared utilities for lexical crate")
    (description "This package provides shared utilities for lexical crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexical-write-float-0.8
  (package
    (name "rust-lexical-write-float")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-write-float" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qk825l0csvnksh9sywb51996cjc2bylq6rxjaiha7sqqjhvmjmc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency chain.
       #:cargo-inputs
       (("rust-lexical-util" ,rust-lexical-util-0.8)
        ("rust-lexical-write-integer" ,rust-lexical-write-integer-0.8)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/Alexhuszagh/rust-lexical")
    (synopsis "Efficient formatting of floats to strings")
    (description
     "This crate provides efficient formatting of floats to strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexical-write-integer-0.8
  (package
    (name "rust-lexical-write-integer")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lexical-write-integer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ii4hmvqrg6pd4j9y1pkhkp0nw2wpivjzmljh6v6ca22yk8z7dp1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `quickcheck`
       #:cargo-inputs
       (("rust-lexical-util" ,rust-lexical-util-0.8)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/Alexhuszagh/rust-lexical")
    (synopsis "Efficient formatting of integers to strings")
    (description
     "This crate provides efficient formatting of integers to strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lexiclean-0.0.1
  (package
    (name "rust-lexiclean")
    (version "0.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "lexiclean" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1rb8sky7gi75a7xxn6xrfkrbqkp465npm54p5s89ysqhgc0ja4j4"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/casey/lexiclean")
    (synopsis "Lexically clean paths")
    (description "Lexically clean paths")
    (license license:cc0)))

(define-public rust-lexopt-0.3
  (package
    (name "rust-lexopt")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lexopt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "00dlvik2ygw8z101vf3bfndcvxhp92v25sbzz6bdiwvxgxhlpzxs"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/blyxxyz/lexopt")
    (synopsis "Minimalist pedantic command line parser")
    (description "This package provides a minimalist pedantic command line
parser in Rust.")
    (license license:expat)))

(define-public rust-libc-0.2
  (package
    (name "rust-libc")
    (version "0.2.169")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02m253hs8gw0m1n8iyrsc4n15yzbqwhddi7w1l0ds7i92kdsiaxm"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
    (home-page "https://github.com/rust-lang/libc")
    (synopsis "Raw FFI bindings to platform libraries like libc")
    (description
     "The rust libc crate provides all of the definitions necessary to easily
interoperate with C code (or \"C-like\" code) on each of the platforms that Rust
supports.  This includes type definitions (e.g., c_int), constants (e.g., EINVAL)
as well as function headers (e.g., malloc).

This crate exports all underlying platform types, functions, and constants under
the crate root, so all items are accessible as @samp{libc::foo}.  The types and
values of all the exported APIs match the platform that libc is compiled for.")
    (license (list license:expat
                   license:asl2.0))))

(define-public rust-libc-print-0.1
  (package
    (name "rust-libc-print")
    (version "0.1.21")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libc-print" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04bcx06gb04v0csgyzsvd1v9wvmv26xwbipmpcblgfnrigasbkh6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/mmastrac/rust-libc-print")
    (synopsis "Println! and eprintln! without stdlib")
    (description "This package provides @code{println!} and @code{eprintln!}
macros on libc without stdlib.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-libcst-1
  (package
    (name "rust-libcst")
    (version "1.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libcst" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xdh02bz1gm9hlpz02r7mk90zk3ki74pypsama33vflck9bn0gps"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; The roundtrip_fixtures fail due to a missing file in the crate
             ;; (see: https://github.com/Instagram/LibCST/issues/1249).
             "--skip=roundtrip_fixtures")
       #:cargo-inputs (("rust-chic" ,rust-chic-1)
                       ("rust-libcst-derive" ,rust-libcst-derive-1)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-peg" ,rust-peg-0.8)
                       ("rust-pyo3" ,rust-pyo3-0.20)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-difference" ,rust-difference-2)
                                   ("rust-itertools" ,rust-itertools-0.13)
                                   ("rust-rayon" ,rust-rayon-1))
       #:phases (modify-phases %standard-phases
                  ;; Avoid keeping a reference to python-minimal in a test
                  ;; file installed as source.
                  (delete 'patch-source-shebangs))))
    (native-inputs (list python-minimal))
    (home-page "https://github.com/Instagram/LibCST")
    (synopsis "Python parser and Concrete Syntax Tree library.")
    (description
     "This package provides a Python parser and Concrete Syntax Tree library.")
    (license (list license:expat license:psfl))))

(define-public rust-libcst-derive-1
  (package
    (name "rust-libcst-derive")
    (version "1.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libcst_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lcwnpbr1l9ybll6jr172s0jbcvlbhrcax94qmbcs89jas5nw5cq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/Instagram/LibCST")
    (synopsis "Proc macro helpers for libcst")
    (description "This package provides Proc macro helpers for libcst.")
    (license license:expat)))

(define-public rust-libdbus-sys-0.2
  (package
    (name "rust-libdbus-sys")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libdbus-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wjw93q6ckrn8qdrxzdi02f0ma9g7nnlpgkrkcll1mjhnw95a206"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list dbus))
    (home-page "https://github.com/diwic/dbus-rs")
    (synopsis "FFI bindings to libdbus")
    (description "This package provides FFI bindings to libdbus.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-libfuzzer-sys-0.4
  (package
    (name "rust-libfuzzer-sys")
    (version "0.4.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libfuzzer-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xz70z8q85f80wdrc0m0flck73cqdhj5ajgd7ywg50pbaxazsv59"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Needs to be built with clang to pass the tests.
       #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-cc" ,rust-cc-1)
                       ("rust-once-cell" ,rust-once-cell-1))
       #:cargo-development-inputs (("rust-flate2" ,rust-flate2-1)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/rust-fuzz/libfuzzer")
    (synopsis "Wrapper around LLVM's libFuzzer runtime")
    (description
     "This package provides a wrapper around LLVM's @code{libFuzzer} runtime.")
    (license (list license:expat license:asl2.0 license:ncsa))))

(define-public rust-libloading-0.8
  (package
    (name "rust-libloading")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libloading" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "194dvczq4sifwkzllfmw0qkgvilpha7m5xy90gd6i446vcpz4ya9"))
       (modules '((guix build utils)))
       (snippet
        '(begin (for-each delete-file
                          (find-files "tests" "\\.dll$"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-windows-targets" ,rust-windows-targets-0.48))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://github.com/nagisa/rust_libloading/")
    (synopsis "Safer binding to dynamic library loading utilities")
    (description "This package provides a safer binding to dynamic library
loading utilities.")
    (license license:isc)))

(define-public rust-libloading-0.7
  (package
    (inherit rust-libloading-0.8)
    (name "rust-libloading")
    (version "0.7.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libloading" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17wbccnjvhjd9ibh019xcd8kjvqws8lqgq86lqkpbgig7gyq0wxn"))
       (modules '((guix build utils)))
       (snippet
        '(begin (for-each delete-file
                          (find-files "tests" "\\.dll$"))))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-libloading-0.6
  (package
    (inherit rust-libloading-0.7)
    (name "rust-libloading")
    (version "0.6.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libloading" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10wq4a4jkman8k6y0v2cw3d38y1h3rw6d2in5klggm8jg90k46im"))
       (modules '((guix build utils)))
       (snippet
        '(begin (for-each delete-file
                          (find-files "tests" "\\.dll$"))))))
    (arguments
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-libloading-0.5
  (package
    (name "rust-libloading")
    (version "0.5.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libloading" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0lyply8rcqc8agajzxs7bq6ivba9dnn1i68kgb9z2flnfjh13cgj"))
       (modules '((guix build utils)))
       (snippet
        '(begin (for-each delete-file
                          (find-files "tests" "\\.dll$"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3)
        ("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/nagisa/rust_libloading/")
    (synopsis "Rust library for loading dynamic libraries")
    (description
     "A memory-safer wrapper around system dynamic library loading primitives.
The most important safety guarantee by this library is prevention of
dangling-Symbols that may occur after a Library is unloaded.  Using this library
allows loading dynamic libraries (also known as shared libraries) as well as use
functions and static variables these libraries contain.")
    (license license:isc)))

(define-public rust-libm-0.2
  (package
    (name "rust-libm")
    (version "0.2.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yjgk18rk71rjbqcw9l1zaqna89p9s603k7n327nqs8dn88vwmc3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-no-panic" ,rust-no-panic-0.1))))
    (home-page "https://github.com/rust-lang/libm")
    (synopsis "Libm in pure Rust")
    (description
     "This package provides an implementation of libm in pure Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-libm-0.1
  (package
    (inherit rust-libm-0.2)
    (name "rust-libm")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libm" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "16pc0gx4gkg0q2s1ssq8268brn14j8344623vwhadmivc4lsmivz"))))))

(define-public rust-libmacchina-8
  (package
    (name "rust-libmacchina")
    (version "8.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libmacchina" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13jj626690g7cq95ghhxkliajsrh4qzllz6659qdmhkalzh279w0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-core-foundation" ,rust-core-foundation-0.9)
                       ("rust-core-graphics" ,rust-core-graphics-0.23)
                       ("rust-core-video-sys" ,rust-core-video-sys-0.1)
                       ("rust-dirs" ,rust-dirs-5)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-if-addrs" ,rust-if-addrs-0.10)
                       ("rust-itertools" ,rust-itertools-0.11)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-local-ip-address" ,rust-local-ip-address-0.5)
                       ("rust-mach2" ,rust-mach2-0.4)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-num-cpus" ,rust-num-cpus-1)
                       ("rust-os-release" ,rust-os-release-0.1)
                       ("rust-pciid-parser" ,rust-pciid-parser-0.6)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rpm-pkg-count" ,rust-rpm-pkg-count-0.2)
                       ("rust-sqlite" ,rust-sqlite-0.36)
                       ("rust-sysctl" ,rust-sysctl-0.5)
                       ("rust-vergen" ,rust-vergen-8)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-wayland-sys" ,rust-wayland-sys-0.31)
                       ("rust-windows" ,rust-windows-0.39)
                       ("rust-winreg" ,rust-winreg-0.10)
                       ("rust-wmi" ,rust-wmi-0.12)
                       ("rust-x11rb" ,rust-x11rb-0.12))))
    (inputs (list sqlite))
    (native-inputs (list python-minimal-wrapper))   ; For the tests.
    (home-page "https://github.com/Macchina-CLI/libmacchina")
    (synopsis "Library that can fetch all sorts of system information")
    (description
     "This package provides a library that can fetch all sorts of system
information.")
    (license license:expat)))

(define-public rust-libmath-0.2
  (package
    (name "rust-libmath")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libmath" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00j546nfjsd4i1z1di800crazjyz6bv0dc63sn0awlx86ill3lyz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/scoobadog/libmath-rs")
    (synopsis "Mathematical utilities")
    (description "This package provides some mathematical utilities.")
    (license license:expat)))

(define-public rust-libmdns-0.7
  (package
    (name "rust-libmdns")
    (version "0.7.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "libmdns" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0470r44w3wkwg785wv1j9x8i65qa6v0ygrzh4vg9mcdkarmsw10b"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-byteorder" ,rust-byteorder-1)
             ("rust-futures-util" ,rust-futures-util-0.3)
             ("rust-hostname" ,rust-hostname-0.3)
             ("rust-if-addrs" ,rust-if-addrs-0.7)
             ("rust-log" ,rust-log-0.4)
             ("rust-multimap" ,rust-multimap-0.8)
             ("rust-nix" ,rust-nix-0.23)
             ("rust-rand" ,rust-rand-0.8)
             ("rust-socket2" ,rust-socket2-0.4)
             ("rust-thiserror" ,rust-thiserror-1)
             ("rust-tokio" ,rust-tokio-1)
             ("rust-winapi" ,rust-winapi-0.3))
           #:cargo-development-inputs
           `(("rust-env-logger" ,rust-env-logger-0.8))))
    (home-page "https://github.com/librespot-org/libmdns")
    (synopsis "DNS-SD and mDNS library for building discoverable LAN services")
    (description "A Multi-Cast DNS (RFC 6762) and DNS Service Discovery
(RFC 6763) library.  Used for resolution of hostnames to IP addresses on
networks that do not have a local name server.  Network services can be
advertised and discovered using this mechanism.")
    (license license:expat)))

(define-public rust-libmimalloc-sys-0.1
  (package
    (name "rust-libmimalloc-sys")
    (version "0.1.39")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libmimalloc-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0i3b0dzz7cp0ik7ys66q92r16va78gwlbrnxhj5fnkdxsc8niai3"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\\[build-dependencies\\.cc\\]" all)
                   (string-append "[build-dependencies.pkg-config]\n"
                                  "version = \"0.3\"\n\n"
                                  all)))
                (delete-file "build.rs")
                (with-output-to-file "build.rs"
                  (lambda _
                    (format #t "fn main() {~@
                            println!(\"cargo:rustc-link-lib=mimalloc\");~@
                            }~%")))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-cty" ,rust-cty-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (inputs (list mimalloc))
    (home-page "https://github.com/purpleprotocol/mimalloc_rust")
    (synopsis "Sys crate wrapping the mimalloc allocator")
    (description "This package provides a sys crate wrapping the mimalloc
allocator.")
    (license license:expat)))

(define-public rust-libnghttp2-sys-0.1
  (package
    (name "rust-libnghttp2-sys")
    (version "0.1.9+1.58.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libnghttp2-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0r2ahmvgjm3x9m4vrz1j0baykn5n4n9rd7cvf1z1d3krya58azmm"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            (delete-file-recursively "nghttp2")
            (delete-file "build.rs")
            (with-output-to-file "build.rs"
              (lambda _
                (format #t "fn main() {~@
                        println!(\"cargo:rustc-link-lib=nghttp2\");~@
                        }~%")))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-cc" ,rust-cc-1))))
    (inputs
     (list `(,nghttp2 "lib")))
    (home-page "https://github.com/alexcrichton/nghttp2-rs")
    (synopsis "FFI bindings for libnghttp2 (nghttp2)")
    (description
     "This package provides FFI bindings for libnghttp2 (nghttp2).")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-libproc-0.14
  (package
    (name "rust-libproc")
    (version "0.14.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libproc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0va3jzmgfj57lf0zfq59acfkid3frs6nvx9xlsnc5jd4g1q4kdlf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.69)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-procfs" ,rust-procfs-0.16)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/andrewdavidmackenzie/libproc-rs")
    (synopsis "Library to get information about running processes")
    (description
     "This package provides a library to get information about running
processes for both MacOS and Linux.")
    (license license:expat)))

(define-public rust-libradicl-0.4
  (package
    (name "rust-libradicl")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "libradicl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "10j2f2iv4037315fiqppk7x2bx1mnw6gns3qqwyhcyh4sgbz3ka4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false                  ;fail to compile InternalVersionInfo
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-bincode" ,rust-bincode-1)
        ("rust-bio-types" ,rust-bio-types-0.12)
        ("rust-bstr" ,rust-bstr-0.2)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)
        ("rust-csv" ,rust-csv-1)
        ("rust-dashmap" ,rust-dashmap-4)
        ("rust-executors" ,rust-executors-0.9)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-indicatif" ,rust-indicatif-0.16)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-needletail" ,rust-needletail-0.4)
        ("rust-num" ,rust-num-0.4)
        ("rust-num-format" ,rust-num-format-0.4)
        ("rust-petgraph" ,rust-petgraph-0.6)
        ("rust-quickersort" ,rust-quickersort-3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rust-htslib" ,rust-rust-htslib-0.38)
        ("rust-sce" ,rust-sce-0.1)
        ("rust-scroll" ,rust-scroll-0.10)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-slog" ,rust-slog-2)
        ("rust-slog-async" ,rust-slog-async-2)
        ("rust-slog-term" ,rust-slog-term-2)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-snap" ,rust-snap-1)
        ("rust-sprs" ,rust-sprs-0.10)
        ("rust-statrs" ,rust-statrs-0.15))))
    (inputs
     (list xz zlib))
    (native-inputs
     (list pkg-config))
    (home-page "https://github.com/COMBINE-lab/alevin-fry")
    (synopsis "Support library for alevin-fry")
    (description "This package provides a support library for alevin-fry, a
suite of tools for the rapid, accurate and memory-frugal processing
single-cell and single-nucleus sequencing data.")
    (license license:bsd-3)))

(define-public rust-libredox-0.1
  (package
    (name "rust-libredox")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libredox" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "139602gzgs0k91zb7dvgj1qh4ynb8g1lbxsswdim18hcb6ykgzy0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-ioslice" ,rust-ioslice-0.6)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-redox-syscall" ,rust-redox-syscall-0.5))))
    (home-page "https://gitlab.redox-os.org/redox-os/libredox.git")
    (synopsis "Redox stable ABI")
    (description "This package provides Redox's stable ABI.")
    (license license:expat)))

(define-public rust-libredox-0.0.2
  (package
    (inherit rust-libredox-0.1)
    (name "rust-libredox")
    (version "0.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libredox" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01v6pb09j7dl2gnbvzz6zmy2k4zyxjjzvl7wacwjjffqsxajry9s"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-redox-syscall" ,rust-redox-syscall-0.4))))))

(define-public rust-libsensors-sys-0.2
  (package
    (name "rust-libsensors-sys")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libsensors-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cii4jbj19d95q6nyczfi3d3s2j3jg4qf7qc8qfxx5jb2v3hqwx1"))))
    (build-system cargo-build-system)
    (inputs (list (list lm-sensors "lib")))
    (home-page "https://docs.rs/libsensors-sys/0.2.0/libsensors_sys/")
    (synopsis "Rust bindings to libsensors")
    (description "This package provides Rust bindings to libsensors.")
    (license license:miros)))

(define-public rust-libspa-0.7
  (package
    (name "rust-libspa")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libspa" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i58ayw50brjh1a7gzfs9ijwl42lqmq2k4b7c2w1ijnx41q62d04"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ; NOTE: 1 fail, `async_seq_panic' test should panic.
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cc" ,rust-cc-1)
                       ("rust-convert-case" ,rust-convert-case-0.6)
                       ("rust-cookie-factory" ,rust-cookie-factory-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libspa-sys" ,rust-libspa-sys-0.7)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-system-deps" ,rust-system-deps-6)
                       ("rust-pipewire" ,rust-pipewire-0.7))))
    (native-inputs
     (list pkg-config clang))
    (inputs
     (list pipewire))
    (home-page "https://pipewire.org")
    (synopsis "Rust bindings for libspa")
    (description "This package provides Rust bindings for libspa.")
    (license license:expat)))

(define-public rust-libspa-sys-0.7
  (package
    (name "rust-libspa-sys")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libspa-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ifkg4k7azfqbz4i1lk31d77nhlc2w36s133yf78a3z7yfihrrxk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.66)
                       ("rust-cc" ,rust-cc-1)
                       ("rust-system-deps" ,rust-system-deps-6))))
    (native-inputs
     (list pkg-config clang))
    (inputs
     (list pipewire))
    (home-page "https://pipewire.org")
    (synopsis "Rust FFI bindings for libspa")
    (description "This package provides Rust FFI bindings for libspa.")
    (license license:expat)))

(define-public rust-libssh2-sys-0.3
  (package
    (name "rust-libssh2-sys")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libssh2-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vkidqw5ll71ynqc93hgcq62iqkklzb5268zffd13ql7nwqa1j1d"))
       (modules '((guix build utils)))
       (snippet
        '(begin (delete-file-recursively "libssh2")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libz-sys" ,rust-libz-sys-1)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-vcpkg" ,rust-vcpkg-0.2))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list libssh2 openssl zlib))
    (home-page "https://github.com/alexcrichton/ssh2-rs")
    (synopsis "Native bindings to the libssh2 library")
    (description
     "This package provides native rust bindings to the @code{libssh2} library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-libssh2-sys-0.2
  (package
    (inherit rust-libssh2-sys-0.3)
    (name "rust-libssh2-sys")
    (version "0.2.19")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libssh2-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0mkhw4pksbz7gldj8hia7k6npc479n1x09i8r0pm275sac424ina"))
        (modules '((guix build utils)))
        (snippet
         '(begin (delete-file-recursively "libssh2") #t))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-libz-sys" ,rust-libz-sys-1)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
        ;; Build dependencies:
        ("rust-cc" ,rust-cc-1)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-vcpkg" ,rust-vcpkg-0.2))))))

(define-public rust-libtest-mimic-0.8
  (package
    (name "rust-libtest-mimic")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libtest-mimic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cwxnbv3wl00xsz7q0sf5xzksnqadqw8995a6g7a9pcyy4p9d5sj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-escape8259" ,rust-escape8259-0.5))
       #:cargo-development-inputs
       (("rust-fastrand" ,rust-fastrand-2)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://github.com/LukasKalbertodt/libtest-mimic")
    (synopsis "Tools for writing a test harness")
    (description
     "Write your own test harness that looks and behaves like the built-in test
harness used by @code{rustc --test}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-libtest-mimic-0.7
  (package
    (inherit rust-libtest-mimic-0.8)
    (name "rust-libtest-mimic")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libtest-mimic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n4vdf4wz4zglammhdzgwxqal9v1a8gbj6rc4q22jfjvxm2xl2yc"))))
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-escape8259" ,rust-escape8259-0.5)
                       ("rust-termcolor" ,rust-termcolor-1)
                       ("rust-threadpool" ,rust-threadpool-1))
       #:cargo-development-inputs
       (("rust-fastrand" ,rust-fastrand-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-libtest-mimic-0.6
  (package
    (inherit rust-libtest-mimic-0.7)
    (name "rust-libtest-mimic")
    (version "0.6.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "libtest-mimic" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                 "1rwwdrzc5hmfisc9c3zcvnab14rgh0zfa636c2jbhv4az5qf73bd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-threadpool" ,rust-threadpool-1))
       #:cargo-development-inputs
       (("rust-fastrand" ,rust-fastrand-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-libtest-mimic-0.5
  (package
    (inherit rust-libtest-mimic-0.6)
    (name "rust-libtest-mimic")
    (version "0.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "libtest-mimic" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1v103c90ibs35ffr9mww9h5la3b7xxvil32v6x0szxcqq9wr8lkr"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=terse_output")
       #:cargo-inputs
       (("rust-clap" ,rust-clap-3)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-threadpool" ,rust-threadpool-1))
       #:cargo-development-inputs
       (("rust-fastrand" ,rust-fastrand-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-libtest-mimic-0.4
  (package
    (inherit rust-libtest-mimic-0.5)
    (name "rust-libtest-mimic")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "libtest-mimic" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "17xs3xk26afdgajqqzafsv4fdg0sfijlfnjac6znad40bfmml6fc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-clap" ,rust-clap-3)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-libtest-mimic-0.3
  (package
    (inherit rust-libtest-mimic-0.4)
    (name "rust-libtest-mimic")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "libtest-mimic" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1bp2jllwpciljr14g6s9bk4835g46kszgrjwi66vxxsk3ynbi9q8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-structopt" ,rust-structopt-0.3)
        ("rust-termcolor" ,rust-termcolor-1))))))

(define-public rust-libudev-sys-0.1
  (package
    (name "rust-libudev-sys")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libudev-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09236fdzlx9l0dlrsc6xx21v5x8flpfm3d5rjq9jr5ivlas6k11w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list eudev))
    (home-page "https://github.com/dcuddeback/libudev-sys")
    (synopsis "FFI bindings to libudev")
    (description "This package provides FFI bindings to libudev.")
    (license license:expat)))

(define-public rust-libusb1-sys-0.7
  (package
    (name "rust-libusb1-sys")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libusb1-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03yfx469d1ldpw2h21hy322f5a0h1ahlgy4s6yjipzy4gbg0l1fs"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (delete-file-recursively "libusb")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=test_get_device_list"
                            "--skip=test_init_and_exit")
       #:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-vcpkg" ,rust-vcpkg-0.2))))
    (inputs (list libusb))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/a1ien/rusb")
    (synopsis "FFI bindings for libusb")
    (description "This package provides FFI bindings for libusb.")
    (license license:expat)))

(define-public rust-libxml-0.3
  (package
    (name "rust-libxml")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libxml" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f42qrc1mim85ivh2d4bn2wbqrn7dfg1i3l1q32yajcr835pxh02"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-vcpkg" ,rust-vcpkg-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rayon" ,rust-rayon-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list libxml2))
    (home-page "https://github.com/KWARC/rust-libxml")
    (synopsis "Rust wrapper for libxml2")
    (description "This package provides a Rust wrapper for libxml2, the XML
C parser and toolkit developed for the GNOME project.")
    (license license:expat)))

(define-public rust-libxml-0.2
  (package
    (inherit rust-libxml-0.3)
    (name "rust-libxml")
    (version "0.2.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "libxml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xx1bsay6c0jy9vi7qcvliidya33lvbkxwpdfz9qmzl23f11xxxh"))))))

(define-public rust-lifeguard-0.6
  (package
    (name "rust-lifeguard")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lifeguard" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09iwwy7888i1kfvbrgwpl4xv3pwsz1fbzx54djs3gnvmszdr9gl9"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/zslayton/lifeguard")
    (synopsis "Object pool manager in Rust")
    (description "This package provides an object pool manager in Rust.")
    (license license:expat)))

(define-public rust-line-col-0.2
  (package
    (name "rust-line-col")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "line-col" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nvqjxn2kkxkph3qdlkc5xq1m2ygla4l0saga778sp2vp3vcsscy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
    (home-page "https://github.com/TheBerkin/line-col-rs")
    (synopsis "Convert string slice indices into line/column numbers")
    (description "Convert string slice indices into line/column numbers")
    (license license:expat)))

(define-public rust-linear-map-1
  (package
    (name "rust-linear-map")
    (version "1.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "linear-map" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1vh3sczl4xb5asdlpafdf3y4g9bp63fgs8y2a2sjgmcsn7v21bmz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/contain-rs/linear-map")
    (synopsis "Map implemented by searching linearly in a vector")
    (description
     "This package provides a map implemented by searching linearly in a
vector.")
    (license (list license:expat license:asl2.0))))

(define-public rust-linecount-0.1
  (package
    (name "rust-linecount")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "linecount" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1n2733qcmvxl3fra3924yj8sf21vr6f6g6dg6wnhbkxr8fia9mfm"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/eclarke/linecount")
    (synopsis "Quickly count lines in a file")
    (description "This package provides a function @code{count_lines}
to count the number of lines in a file.")
    (license license:expat)))

(define-public rust-link-cplusplus-1
  (package
    (name "rust-link-cplusplus")
    (version "1.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "link-cplusplus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jc56xf51f3fn5hvppsj9c2pa0fxm7k79xs90a5s58qvgrphq94x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/dtolnay/link-cplusplus")
    (synopsis "Link libstdc++ or libc++ automatically or manually")
    (description "This crate helps link to libstdc++ or libc++ automatically or
manually from Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-linked-hash-map-0.5
  (package
    (name "rust-linked-hash-map")
    (version "0.5.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "linked-hash-map" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03vpgw7x507g524nx5i1jf5dl8k3kv0fzg8v3ip6qqwbpkqww5q7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all files included.
       #:cargo-inputs
       (("rust-heapsize" ,rust-heapsize-0.4)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/contain-rs/linked-hash-map")
    (synopsis "HashMap wrapper that holds key-value pairs in insertion order")
    (description
     "This package provides a HashMap wrapper that holds key-value
pairs in insertion order.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-linked-hash-map-0.4
  (package
    (inherit rust-linked-hash-map-0.5)
    (name "rust-linked-hash-map")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "linked-hash-map" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0fd958y02ggwpa2246kmjky9xmnww7vxg0ik3rxgy23hgwlyqq3q"))))
    (arguments
     `(#:tests? #f  ; thread 'test_into_iter_drop' panicked
       #:cargo-inputs
       (("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-heapsize" ,rust-heapsize-0.3)
        ("rust-serde" ,rust-serde-0.9)
        ("rust-serde-test" ,rust-serde-test-0.9))))))

(define-public rust-linked-hash-map-0.3
  (package
    (inherit rust-linked-hash-map-0.5)
    (name "rust-linked-hash-map")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "linked-hash-map" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kaf95grvfqchxn8pl0854g8ab0fzl56217hndhhhz5qqm2j09kd"))))
    (arguments
     `(#:tests? #f      ; Tests don't compile correctly.
       #:cargo-inputs
       (("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-serde" ,rust-serde-0.8)
        ("rust-serde-test" ,rust-serde-test-0.8))))))

(define-public rust-linkify-0.7
  (package
    (name "rust-linkify")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "linkify" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y99xcmy6793m6x3z2qcyiw3dfrdvza3n659lmlv7kpzq7yjin04"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/robinst/linkify")
    (synopsis "Find URLs and email addresses in plain text")
    (description
     "Linkify is a Rust library to find links such as URLs and email addresses
in plain text.  It is smart about where a link ends, such as with trailing
punctuation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-linux-keyutils-0.2
  (package
    (name "rust-linux-keyutils")
    (version "0.2.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "linux-keyutils" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "13nipvk2mzk76y7yfsqwnwsqk21x6xy8fkmqz5is99fqbzn4j7kn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-clap" ,rust-clap-4)
        ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://github.com/landhb/linux-keyutils")
    (synopsis "Rust interface to the Linux key-management facility")
    (description
     "This package provides a rust interface to the Linux key-management
facility.  Provides a safe interface around the raw system calls allowing
user-space programs to perform key manipulation.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-linux-raw-sys-0.6
  (package
    (name "rust-linux-raw-sys")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "linux-raw-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mv3c1zz51ydcj768zavm8g06gz5jb1p7yigmmif7hz5whdmnf1a"))))
    (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-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/sunfishcode/linux-raw-sys")
    (synopsis "Generated bindings for Linux's userspace API")
    (description "This package provides automatically generated bindings for
Linux userspace APIs.")
    ;; The user can choose either license, or a variant of ASL2.0 with
    ;; LLVM exception.  See COPYRIGHT in the repository.
    (license (list license:asl2.0 license:expat))))

(define-public rust-linux-raw-sys-0.4
  (package
    (inherit rust-linux-raw-sys-0.6)
    (name "rust-linux-raw-sys")
    (version "0.4.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "linux-raw-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12gsjgbhhjwywpqcrizv80vrp7p7grsz5laqq773i33wphjsxcvq"))))
    (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-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-linux-raw-sys-0.3
  (package
    (inherit rust-linux-raw-sys-0.4)
    (name "rust-linux-raw-sys")
    (version "0.3.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "linux-raw-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "068mbigb3frrxvbi5g61lx25kksy98f2qgkvc4xg8zxznwp98lzg"))))
    (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-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-linux-raw-sys-0.1
  (package
    (inherit rust-linux-raw-sys-0.3)
    (name "rust-linux-raw-sys")
    (version "0.1.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "linux-raw-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1926520si5wkn4m6iz6ka97ya5q1dgr8ib3fd705fscfgixgflgh"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-linux-raw-sys-0.0.46
  (package
    (inherit rust-linux-raw-sys-0.1)
    (name "rust-linux-raw-sys")
    (version "0.0.46")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "linux-raw-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0kc528mp2fp8m96csm6rmwg0ac7zbgf36k19ml4a4c9j6xn4blnl"))))
    (build-system cargo-build-system)
    (arguments
     (list #: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-libc" ,rust-libc-0.2)
             ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-listenfd-1
  (package
    (name "rust-listenfd")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "listenfd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15jc2xgrp4j6508s5f9d9gq6w1ssgv2mvc5b3795jqnrmiih8l70"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-uuid" ,rust-uuid-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-hyper" ,rust-hyper-0.14)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-warp" ,rust-warp-0.3))))
    (home-page "https://github.com/mitsuhiko/rust-listenfd")
    (synopsis "Library to work with listenfds passed from the outside")
    (description
     "This package provides a simple library to work with listenfds passed from
the outside, such as systemd/catflap socket activation.")
    (license license:asl2.0)))

(define-public rust-litemap-0.7
  (package
    (name "rust-litemap")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "litemap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0157lf44c3s2piqiwpppnynzzpv1rxyddl2z9l089hpwsjwb0g34"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; undeclared crate or module `icu_locid`
       #:cargo-inputs (("rust-databake" ,rust-databake-0.1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-yoke" ,rust-yoke-0.7))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-postcard" ,rust-postcard-1)
                                   ("rust-rkyv" ,rust-rkyv-0.7)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Key-value Map implementation based on a flat, sorted Vec")
    (description
     "This package provides a key-value Map implementation based on a flat,
sorted Vec.")
    (license license:unicode)))

(define-public rust-litrs-0.4
  (package
    (name "rust-litrs")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "litrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19cssch9gc0x2snd9089nvwzz79zx6nzsi3icffpx25p4hck1kml"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-unicode-xid" ,rust-unicode-xid-0.2))))
    (home-page "https://github.com/LukasKalbertodt/litrs/")
    (synopsis "Parse and inspect Rust literals")
    (description
     "Parse and inspect Rust literals (i.e. tokens in the Rust programming
language representing fixed values).  Particularly useful for proc macros, but
can also be used outside of a proc-macro context.")
    (license (list license:expat license:asl2.0))))

(define-public rust-llvm-bitcode-0.1
  (package
    (name "rust-llvm-bitcode")
    (version "0.1.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "llvm-bitcode" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1fskb2nzddg8m038kh2lm91gb5yg0l4j3rcnv44kz7f37kcxz5cb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-enum" ,rust-num-enum-0.5))))
    (home-page "https://github.com/messense/llvm-bitcode-rs.git")
    (synopsis "LLVM Bitcode parser in Rust")
    (description "This package provides an LLVM Bitcode parser in Rust.")
    (license license:expat)))

(define-public rust-local-channel-0.1
  (package
    (name "rust-local-channel")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "local-channel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j1ywn459kl4fdmjfyljm379k40qwwscd7mqp25lppxqd5gcijxn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `futures_util`
       #:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-sink" ,rust-futures-sink-0.3)
                       ("rust-local-waker" ,rust-local-waker-0.1))))
    (home-page "https://github.com/actix/actix-net")
    (synopsis
     "Non-threadsafe multi-producer, single-consumer, futures-aware, FIFO queue")
    (description
     "This package provides a non-threadsafe multi-producer, single-consumer,
futures-aware, FIFO queue.")
    (license (list license:expat license:asl2.0))))

(define-public rust-local-ip-address-0.5
  (package
    (name "rust-local-ip-address")
    (version "0.5.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "local-ip-address" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pfiy5pj70y0ycdf3scmxpgmj7jyi99054rk4rfzpb75kkmd8bk1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Integration test with local IP address.
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-neli" ,rust-neli-0.6)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/EstebanBorai/local-ip-address")
    (synopsis
     "Retrieve system's local IP address and network interfaces/adapters")
    (description
     "This package provides retrieving the system's local IP address and
network interfaces/adapters.")
    (license (list license:expat license:asl2.0))))

(define-public rust-local-waker-0.1
  (package
    (name "rust-local-waker")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "local-waker" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11vlcm8q6dhdf0srkgjnwca48dn9zcz820fq20hv82ffcxy3v1sd"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/actix/actix-net")
    (synopsis "Synchronization primitive for thread-local task wakeup")
    (description "This package provides a synchronization primitive for
thread-local task wakeup.")
    (license (list license:expat license:asl2.0))))

(define-public rust-locale-0.2
  (package
    (name "rust-locale")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "locale" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1z87wc7z6889x1pqlrwjw8f1crshzi15q5m102lqs8y0m69f9nsz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/rust-locale/rust-locale")
    (synopsis "Library for basic localisation")
    (description
     "This package provides a library for basic localisation.")
    (license license:expat)))

(define-public rust-locale-config-0.3
  (package
    (name "rust-locale-config")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "locale_config" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0d399alr1i7h7yji4vydbdbzd8hp0xaykr7h4rn3yj7l2rdw7lh8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-objc" ,rust-objc-0.2)
        ("rust-objc-foundation" ,rust-objc-foundation-0.1)
        ("rust-regex" ,rust-regex-1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rust-locale/locale_config/")
    (synopsis "Maintains locale preferences for processes and threads")
    (description
     "Maintains locale preferences for process and thread and initialises them
by inspecting the system for user preference.")
    (license license:expat)))

(define-public rust-lock-api-0.4
  (package
    (name "rust-lock-api")
    (version "0.4.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lock_api" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "05qvxa6g27yyva25a5ghsg85apdxkvr77yhkyhapj6r8vnf8pbq7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-owning-ref" ,rust-owning-ref-0.4)
        ("rust-scopeguard" ,rust-scopeguard-1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis "Wrappers to create fully-featured Mutex and RwLock types")
    (description "This package provides wrappers to create fully-featured
@code{Mutex} and @code{RwLock} types.  It is compatible with @code{no_std}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-lock-api-0.3
  (package
    (inherit rust-lock-api-0.4)
    (name "rust-lock-api")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lock_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0xgc5dzmajh0akbh5d6d7rj9mh5rzpk74pyrc946v2ixgakj9nn4"))))
    (build-system cargo-build-system)))

(define-public rust-lock-api-0.2
  (package
    (inherit rust-lock-api-0.3)
    (name "rust-lock-api")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lock_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zx7pksmgyggpczgw4qrr4vj2nkdk5lipgiysvr20slm552nv57d"))))))

(define-public rust-lock-api-0.1
  (package
    (inherit rust-lock-api-0.2)
    (name "rust-lock-api")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lock_api" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0b24q9mh258xa52ap636q1sxz0j5vrnp0hwbbh7ddjka3wwz3sv2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-scopeguard" ,rust-scopeguard-0.3)
        ("rust-owning-ref" ,rust-owning-ref-0.4))))))

(define-public rust-lockfree-object-pool-0.1
  (package
    (name "rust-lockfree-object-pool")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lockfree-object-pool" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bjm2g1g1avab86r02jb65iyd7hdi35khn1y81z4nba0511fyx4k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-criterion-plot" ,rust-criterion-plot-0.5)
        ("rust-object-pool" ,rust-object-pool-0.5)
        ("rust-sharded-slab" ,rust-sharded-slab-0.1))))
    (home-page "https://github.com/EVaillant/lockfree-object-pool")
    (synopsis "Thread-safe object pool collection")
    (description
     "This package provides a thread-safe object pool collection with automatic return
and attach/detach semantics.")
    (license license:boost1.0)))

(define-public rust-log-0.4
  (package
    (name "rust-log")
    (version "0.4.22")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "log" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "093vs0wkm1rgyykk7fjbqp2lwizbixac1w52gv109p5r4jh0p9x7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Not all test files included in release.
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-sval" ,rust-sval-2)
        ("rust-sval-ref" ,rust-sval-ref-2)
        ("rust-value-bag" ,rust-value-bag-1))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-sval" ,rust-sval-2)
        ("rust-sval-derive" ,rust-sval-derive-2)
        ("rust-value-bag" ,rust-value-bag-1))))
    (home-page "https://github.com/rust-lang/log")
    (synopsis "Lightweight logging facade for Rust")
    (description
     "This package provides a lightweight logging facade for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-log-0.3
  (package
    (inherit rust-log-0.4)
    (name "rust-log")
    (version "0.3.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "log" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jq23hhn5h35k7pa8r7wqnsywji6x3wn1q5q7lif5q536if8v7p1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4))))))

(define-public rust-log-reroute-0.1
  (package
    (name "rust-log-reroute")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "log-reroute" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00mw91qd2ibaawl7x1pxc1kryki0ixyirnlx64qx78d9g6k3n6kl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-once-cell" ,rust-once-cell-1))
       #:cargo-development-inputs (("rust-fern" ,rust-fern-0.6)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/vorner/log-reroute")
    (synopsis "Support to change logging target for the log crate")
    (description
     "This package provides support to change logging target for the log crate.")
    ;; This means asl2.0 OR expat.
    (license (list license:asl2.0 license:expat))))

(define-public rust-logos-0.13
  (package
    (name "rust-logos")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "logos" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hfjqmmcq6fbfwpca6874b1k3lsqi75n584kkg4qmwcgj16wl060"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included
       #:cargo-inputs (("rust-logos-derive" ,rust-logos-derive-0.13))))
    (home-page "https://github.com/maciejhirsz/logos")
    (synopsis "Create ridiculously fast Lexers")
    (description "Create ridiculously fast Lexers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-logos-codegen-0.13
  (package
    (name "rust-logos-codegen")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "logos-codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s7drl8vfp9viw9mfyz8dll1gfvp1dc6np82abj0402y548p6j6w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-beef" ,rust-beef-0.5)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.6)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
    (home-page "https://github.com/maciejhirsz/logos")
    (synopsis "Implementation details for logos-codegen and logos-derive")
    (description
     "Implementation details for logos-codegen and logos-derive.  Not for public
consumption.")
    (license (list license:expat license:asl2.0))))

(define-public rust-logos-derive-0.13
  (package
    (name "rust-logos-derive")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "logos-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zi6s400yfw1ma7wnawyjjgbq1nqmx0xjdh18j8dfhhzkwi0vz6v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-logos-codegen" ,rust-logos-codegen-0.13))))
    (home-page "https://github.com/maciejhirsz/logos")
    (synopsis "Create ridiculously fast Lexers")
    (description "Create ridiculously fast Lexers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-loom-0.7
  (package
    (name "rust-loom")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "loom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jpszf9qxv8ydpsm2h9vcyvxvyxcfkhmmfbylzd4gfbc0k40v7j1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-generator" ,rust-generator-0.8)
        ("rust-pin-utils" ,rust-pin-utils-0.1)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3))))
    (home-page "https://github.com/tokio-rs/loom")
    (synopsis "Permutation testing for concurrent code")
    (description
     "Loom is a testing tool for concurrent Rust code.  It runs a test many
times, permuting the possible concurrent executions of that test under the C11
memory model.  It uses state reduction techniques to avoid combinatorial
explosion.")
    (license license:expat)))

(define-public rust-loom-0.5
  (package
    (inherit rust-loom-0.7)
    (name "rust-loom")
    (version "0.5.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "loom" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1x9hmiv00ir79kypcg0jdw0j0fkd3ymq6rpv6pli6q5qifrfql7z"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-generator" ,rust-generator-0.7)
        ("rust-pin-utils" ,rust-pin-utils-0.1)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3))))))

(define-public rust-loom-0.4
  (package
    (name "rust-loom")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "loom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c1m2j1zy7ig6didj1n29x32768cz03nvi7bwb0fhakj5w5nb9i7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-generator" ,rust-generator-0.6)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/tokio-rs/loom")
    (synopsis "Permutation testing for concurrent code")
    (description
     "Loom is a testing tool for concurrent Rust code.  It runs a test many
times, permuting the possible concurrent executions of that test under the C11
memory model.  It uses state reduction techniques to avoid combinatorial
explosion.")
    (license license:expat)))

(define-public rust-loom-0.3
  (package
    (inherit rust-loom-0.4)
    (name "rust-loom")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "loom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vabpqzdhcqy1d64kcyzgfwigiak0dr18whq0lkic8915w7lds50"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-generator" ,rust-generator-0.6)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-loom-0.2
  (package
    (inherit rust-loom-0.3)
    (name "rust-loom")
    (version "0.2.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "loom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0x0071jgvhnmvngfmhzc7dkvvs6zsznpawqfrwmrc8156zzyyjch"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-generator" ,rust-generator-0.6)
        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-loom-0.1
  (package
    (inherit rust-loom-0.3)
    (name "rust-loom")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "loom" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1jmp5mffwwyqgp914cwz92ij2s6vk1hsnkvgndvzw74xrcfraibj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-generator" ,rust-generator-0.6)
        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-loop9-0.1
  (package
    (name "rust-loop9")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "loop9" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qphc1c0cbbx43pwm6isnwzwbg6nsxjh7jah04n1sg5h4p0qgbhg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-imgref" ,rust-imgref-1))))
    (home-page "https://lib.rs/loop9")
    (synopsis "Helper function to visit every pixel and its neighbors")
    (description
     "This package provides a tiny helper function to visit every pixel in the
image together with its neighboring pixels.")
    (license license:expat)))

(define-public rust-lopdf-0.32
  (package
    (name "rust-lopdf")
    (version "0.32.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lopdf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0aw7diz39z3mk22k0mp7jk7qiaaagfvggzly1baqg2jf4vpf8xg7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-image" ,rust-image-0.24)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-md5" ,rust-md5-0.7)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-pom" ,rust-pom-3)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-weezl" ,rust-weezl-0.1))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-shellexpand" ,rust-shellexpand-3)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/J-F-Liu/lopdf")
    (synopsis "Rust library for PDF document manipulation")
    (description
     "This package provides a Rust library for PDF document manipulation.")
    (license license:expat)))

(define-public rust-lru-0.12
  (package
    (name "rust-lru")
    (version "0.12.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lru" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f1a7cgqxbyhrmgaqqa11m3azwhcc36w0v5r4izgbhadl3sg8k13"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.15))
       #:cargo-development-inputs
       (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
        ("rust-stats-alloc" ,rust-stats-alloc-0.1))))
    (home-page "https://github.com/jeromefroe/lru-rs")
    (synopsis "LRU cache implementation")
    (description "This package provides a LRU cache implementation.")
    (license license:expat)))

(define-public rust-lru-0.10
  (package
    (inherit rust-lru-0.12)
    (name "rust-lru")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lru" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w5n2sgh66ac8ihqv6688mlm7zb3ks18jlbzpbhwgw3x8jp8z3ki"))))
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.13))
       #:cargo-development-inputs
       (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
        ("rust-stats-alloc" ,rust-stats-alloc-0.1))))))

(define-public rust-lru-0.9
  (package
    (inherit rust-lru-0.10)
    (name "rust-lru")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lru" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05yz4qqx7wxbhgxs5hx22j13g8mv9z3gn2pkspykyq48winx9rvi"))))
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.13))
       #:cargo-development-inputs
       (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
        ("rust-stats-alloc" ,rust-stats-alloc-0.1))))))

(define-public rust-lru-0.7
  (package
    (inherit rust-lru-0.9)
    (name "rust-lru")
    (version "0.7.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lru" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yp4ai5rpr2czxklzxxx98p6l2aqv4g1906j3dr4b0vfgfxbx6g9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-hashbrown" ,rust-hashbrown-0.11))
       #:cargo-development-inputs
       (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
        ("rust-stats-alloc" ,rust-stats-alloc-0.1))))))

(define-public rust-lru-cache-0.1
  (package
    (name "rust-lru-cache")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lru-cache" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "071viv6g2p3akwqmfb3c8vsycs5n7kr17b70l7la071jv0d4zqii"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heapsize" ,rust-heapsize-0.4)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5))))
    (home-page "https://github.com/contain-rs/lru-cache")
    (synopsis "Cache that holds a limited number of key-value pairs")
    (description "This package provides a cache that holds a limited number of
key-value pairs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lscolors-0.19
  (package
    (name "rust-lscolors")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lscolors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "115bffi44w028n26vqxyknwn9pzp0axz8839846cg0dl32yg7xam"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-aho-corasick" ,rust-aho-corasick-1)
                       ("rust-ansi-term" ,rust-ansi-term-0.12)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.50)
                       ("rust-owo-colors" ,rust-owo-colors-4))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/sharkdp/lscolors")
    (synopsis "Colorize paths using the LS_COLORS environment variable")
    (description
     "Colorize paths using the LS_COLORS environment variable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lscolors-0.17
  (package
    (inherit rust-lscolors-0.19)
    (name "rust-lscolors")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lscolors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08z5jslgigvnpc1gj2i8r9pi8yn4m0pf8dzf3rk9grdidbzlyc2k"))))
    (arguments
     `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.50))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-lscolors-0.16
  (package
    (inherit rust-lscolors-0.17)
    (name "rust-lscolors")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lscolors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yqfym0lfdkj0f7lpvd0a0brljs7cpknyh14c202frcpqfg202xb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.12)
        ("rust-crossterm" ,rust-crossterm-0.27)
        ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.49))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-lscolors-0.13
  (package
    (inherit rust-lscolors-0.16)
    (name "rust-lscolors")
    (version "0.13.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "lscolors" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1wnxs5d004fx71apvh9124xqky0qjjmpibag24km7bvvss2xrpn2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.12)
        ("rust-crossterm" ,rust-crossterm-0.25)
        ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.46))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-lsp-server-0.7
  (package
    (name "rust-lsp-server")
    (version "0.7.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lsp-server" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yanavncgsx0i0rj65q12ddfcwpvzx5x8wgiq4g9fzz1fgfc8qll"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-log" ,rust-log-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-ctrlc" ,rust-ctrlc-3)
                                   ("rust-lsp-types" ,rust-lsp-types-0.95))))
    (home-page
     "https://github.com/rust-lang/rust-analyzer/tree/master/lib/lsp-server")
    (synopsis "Generic LSP server scaffold")
    (description "This package provides generic LSP server scaffold.")
    (license (list license:expat license:asl2.0))))

(define-public rust-lsp-types-0.95
  (package
    (name "rust-lsp-types")
    (version "0.95.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lsp-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ra36fd4yr7lf5igfrdvwjx9g87z3a99mrjgzk9nq04viqxd6d4f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-repr" ,rust-serde-repr-0.1)
                       ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/gluon-lang/lsp-types")
    (synopsis "Types for interaction with a language server")
    (description
     "Types for interaction with a language server, using VSCode's Language
Server Protocol.")
    (license license:expat)))

(define-public rust-lsp-types-0.94
  (package
    (inherit rust-lsp-types-0.95)
    (name "rust-lsp-types")
    (version "0.94.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "lsp-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18aym1qfgyaf9f9504yz911gssck5rv190izzr3hdqbal12gssy6"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-repr" ,rust-serde-repr-0.1)
                       ("rust-url" ,rust-url-2))))))

(define-public rust-m-lexer-0.0.4
  (package
    (name "rust-m-lexer")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "m_lexer" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "19v7hk4i3avgvmhhv26bf5hjfjpwkrvy81dfbdd5hb8nj6zixrd7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/matklad/m_lexer")
    (synopsis
     "Simple extensible regular expressions based lexer")
    (description
     "This package provides a simple extensible regular expressions based
lexer.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mac-0.1
  (package
    (name "rust-mac")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mac" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "194vc7vrshqff72rl56f9xgb0cazyl4jda7qsv31m5l6xx7hq7n4"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/reem/rust-mac")
    (synopsis "Collection of great and ubiqutitous macros")
    (description
     "This package provides a collection of great and ubiqutitous macros.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-mac-address-1
  (package
    (name "rust-mac-address")
    (version "1.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mac_address" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0miqmn1768vxr5f3gbsnr1dlnzc5ilrrj0n07fziblwyy6afwqs8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nix" ,rust-nix-0.23)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/rep-nop/mac_address")
    (synopsis "Cross-platform retrieval of a network interface MAC address")
    (description
     "Cross-platform retrieval of a network interface MAC address.")
    (license (list license:expat license:asl2.0))))

(define-public rust-macaddr-1
  (package
    (name "rust-macaddr")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "macaddr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n5jxn79krlql810c4w3hdkvyqc01141dc5y6fr9sxff2yy0pvms"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1))))
    (home-page "https://github.com/svartalf/rust-macaddr")
    (synopsis "MAC address types")
    (description "This package provides MAC address types.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-macrotest-1
  (package
    (name "rust-macrotest")
    (version "1.0.13")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "macrotest" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1bgx2fkjw20w4rchysnhs7zzzfwaqwd7d8idrpqqymsknkg3a82f"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-basic-toml" ,rust-basic-toml-0.1)
         ("rust-diff" ,rust-diff-0.1)
         ("rust-glob" ,rust-glob-0.3)
         ("rust-prettyplease" ,rust-prettyplease-0.2)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/eupn/macrotest")
    (synopsis "Test harness for macro expansion")
    (description
     "This package provides test harness for macro expansion in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-magic-crypt-3
  (package
    (name "rust-magic-crypt")
    (version "3.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "magic-crypt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lxh2yr4wynp8k7669hlaca1g2m6smz50pv6a35jsvr9kmgzjhkc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-aes" ,rust-aes-0.7)
        ("rust-base64" ,rust-base64-0.21)
        ("rust-block-modes" ,rust-block-modes-0.8)
        ("rust-crc-any" ,rust-crc-any-2)
        ("rust-des" ,rust-des-0.7)
        ("rust-digest" ,rust-digest-0.9)
        ("rust-md-5" ,rust-md-5-0.9)
        ("rust-sha2" ,rust-sha2-0.9)
        ("rust-tiger" ,rust-tiger-0.1))))
    (home-page "https://magiclen.org/aes")
    (synopsis "Library for DES or AES encryption")
    (description
     "MagicCrypt is a library to encrypt/decrypt strings, files, or data,
using Data Encryption Standard(DES) or Advanced Encryption Standard(AES)
algorithms.  It supports CBC block cipher mode, PKCS5 padding and 64, 128,
192 or 256-bits key length.")
    (license license:asl2.0)))

(define-public rust-magic-string-0.3
  (package
    (name "rust-magic-string")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "magic_string" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "062fjfvq17qm8ymqzq4y6wk7a3fmxqq9ysg40yrcrxs3ik73703c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-napi" ,rust-napi-2)
        ("rust-napi-derive" ,rust-napi-derive-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-vlq" ,rust-vlq-0.5))))
    (home-page "https://github.com/h-a-n-a/magic-string-rs")
    (synopsis "MagicString port driven by Rust and N-API")
    (description
     "This package provides a MagicString port driven by Rust and N-API.")
    (license license:expat)))

(define-public rust-magma-0.8
  (package
    (name "rust-magma")
    (version "0.8.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "magma" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1w321p30599kc85bb35ps32ykqc9gzpi5b99dsw793nxrypnj9xb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cipher" ,rust-cipher-0.4))
       #:cargo-development-inputs
       (("rust-cipher" ,rust-cipher-0.4)
        ("rust-hex-literal" ,rust-hex-literal-0.3))))
    (home-page "https://github.com/RustCrypto/block-ciphers")
    (synopsis "Magma (GOST R 34.12-2015) block cipher")
    (description "Magma (GOST R 34.12-2015) block cipher")
    (license (list license:expat license:asl2.0))))

(define-public rust-maildir-0.6
  (package
    (name "rust-maildir")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "maildir" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dqlkvhcrigs4y5vg0jf8ccgwns8jj85cjp6vsgj3f1sfkk6m6l7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-gethostname" ,rust-gethostname-0.2)
                       ("rust-mailparse" ,rust-mailparse-0.14)
                       ("rust-memmap2" ,rust-memmap2-0.5))
       #:cargo-development-inputs
       (("rust-percent-encoding" ,rust-percent-encoding-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/staktrace/maildir/blob/master/README.md")
    (synopsis "Simple library for maildir manipulation")
    (description
     "This package provides a simple library for maildir manipulation")
    (license license:bsd-0)))

(define-public rust-maildir-0.5
  (package
    (inherit rust-maildir-0.6)
    (name "rust-maildir")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "maildir" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pivq6njjmfnf0jn6i8sihbfgly6v674zwncd6f5nwiw79lz9p3a"))))
    (arguments
     `(#:cargo-inputs
       (("rust-gethostname" ,rust-gethostname-0.2)
        ("rust-mailparse" ,rust-mailparse-0.13)
        ("rust-memmap" ,rust-memmap-0.7))
       #:cargo-development-inputs
       (("rust-percent-encoding" ,rust-percent-encoding-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-mailparse-0.15
  (package
    (name "rust-mailparse")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mailparse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zkwbrzgr7pp1wyywjgvlxayr1p3nnkn2yxgi97746j1h1ckv81x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-charset" ,rust-charset-0.1)
                       ("rust-data-encoding" ,rust-data-encoding-2)
                       ("rust-quoted-printable" ,rust-quoted-printable-0.5))
       #:cargo-development-inputs (("rust-ouroboros" ,rust-ouroboros-0.17))))
    (home-page "https://github.com/staktrace/mailparse/blob/master/README.md")
    (synopsis "Simple parser for MIME e-mail messages")
    (description
     "This package provides a simple parser for MIME e-mail messages.")
    (license license:bsd-0)))

(define-public rust-mailparse-0.14
  (package
    (inherit rust-mailparse-0.15)
    (name "rust-mailparse")
    (version "0.14.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mailparse" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0mwpkxi41ak8pabknmvj49dpsbs0q6w7w12f0lp49avcjaa6a29d"))))
    (arguments
     `(#:cargo-inputs
       (("rust-charset" ,rust-charset-0.1)
        ("rust-data-encoding" ,rust-data-encoding-2)
        ("rust-quoted-printable" ,rust-quoted-printable-0.5))
       #:cargo-development-inputs (("rust-ouroboros" ,rust-ouroboros-0.17))))))

(define-public rust-mailparse-0.13
  (package
    (inherit rust-mailparse-0.14)
    (name "rust-mailparse")
    (version "0.13.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "mailparse" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cka4vpk7dpyx22l3csff8c82wkwkz2py9wrjms5fmc3a257dblc"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=parse_mail")
       #:cargo-inputs
       (("rust-charset" ,rust-charset-0.1)
        ("rust-data-encoding" ,rust-data-encoding-2)
        ("rust-quoted-printable" ,rust-quoted-printable-0.4))
       #:cargo-development-inputs (("rust-ouroboros" ,rust-ouroboros-0.14))))))

(define-public rust-malloc-buf-1
  (package
    (name "rust-malloc-buf")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "malloc_buf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zap9m0xmd5sdsxil7v2rgb1dzlq0308f826pwvqdvjyaz0chciz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/SSheldon/malloc_buf")
    (synopsis "Structs for handling malloc'd memory passed to Rust")
    (description
     "This package provides structs for handling malloc'd memory passed to Rust.")
    (license license:expat)))

(define-public rust-malloc-buf-0.0
  (package
    (inherit rust-malloc-buf-1)
    (name "rust-malloc-buf")
    (version "0.0.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "malloc_buf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1jqr77j89pwszv51fmnknzvd53i1nkmcr8rjrvcxhm4dx1zr1fv2"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))))

(define-public rust-manifest-dir-macros-0.1
  (package
    (name "rust-manifest-dir-macros")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "manifest-dir-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14zm557gcm1ldr19ry53ngvni8vqaicm01xa5vg8pgyd3kg40vcw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-mime-guess" ,rust-mime-guess-2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://magiclen.org/manifest-dir-macros")
    (synopsis
     "Check or operate paths relative to CARGO_MANIFEST_DIR at compile time")
    (description
     "This crate provides function-like macros to check or operate paths
relative to CARGO_MANIFEST_DIR at compile time.")
    (license license:expat)))

(define-public rust-maplit-1
  (package
    (name "rust-maplit")
    (version "1.0.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "maplit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/bluss/maplit")
    (synopsis "Collection of Map macros")
    (description "This crate provides a collection of @code{literal} macros for
@code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-mapproj-0.3
  (package
    (name "rust-mapproj")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mapproj" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08wjp6vj1w2qbz769k057pdk2w8351i26xj40p8xbxjj3wli7iz3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/cds-astro/cds-mapproj-rust/")
    (synopsis "Map projections defined in the FITS World Coordinate System")
    (description
     "This package provides Implementation of (a part of) map projections
defined in the FITS World Coordinate System (WCS).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-marked-yaml-0.7
  (package
    (name "rust-marked-yaml")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "marked-yaml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13ddwcjd55ysa5ccw22zawy16p72abmdyx3ssrc40vqlmfkjbszj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)
                       ("rust-hashlink" ,rust-hashlink-0.9)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1)
                       ("rust-yaml-rust2" ,rust-yaml-rust2-0.9))))
    (home-page "https://github.com/kinnison/marked-yaml/")
    (synopsis "Simplified YAML structure with provenance spans")
    (description
     "This package provides a simplified YAML structure with provenance spans.")
    (license license:expat)))

(define-public rust-markup-0.13
  (package
    (name "rust-markup")
    (version "0.13.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "markup" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "03cb086vkqdym3z0wq9h8ywgc2v1w9n4d8pn0j6p76fl6ni9d4dx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-itoa" ,rust-itoa-1)
        ("rust-markup-proc-macro" ,rust-markup-proc-macro-0.13))))
    (home-page "https://github.com/utkarshkukreti/markup.rs")
    (synopsis "Fast, type-safe template engine for Rust")
    (description
     "This package provides a fast, type-safe template engine for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-markup-proc-macro-0.13
  (package
    (name "rust-markup-proc-macro")
    (version "0.13.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "markup-proc-macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0l41di814m9vzw3bz3j49j09j6cb3r73rc4a3a6dvjvx4c77z4hs"))))
    (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/utkarshkukreti/markup.rs")
    (synopsis "Macros for template engine for Rust")
    (description
     "This package provides macros for \"markup\", the fast, type-safe
template engine for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-markup5ever-0.12
  (package
    (name "rust-markup5ever")
    (version "0.12.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "markup5ever" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0idy4vjihg2dw73j2vkb5kdghvga3bwnw0qx8jwci4m6xfxkmkhn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-phf-codegen" ,rust-phf-codegen-0.11)
        ("rust-string-cache" ,rust-string-cache-0.8)
        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5)
        ("rust-tendril" ,rust-tendril-0.4))))
    (home-page "https://github.com/servo/html5ever")
    (synopsis "Common code for xml5ever and html5ever")
    (description
     "Common code for xml5ever and html5ever.")
    (license (list license:expat license:asl2.0))))

(define-public rust-markup5ever-0.11
  (package
    (inherit rust-markup5ever-0.12)
    (name "rust-markup5ever")
    (version "0.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "markup5ever" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05mhzsp6lfxla1fgd0ac283b405s6kyj27wj5r6d7wq42jxjj9ks"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-phf" ,rust-phf-0.10)
        ("rust-phf-codegen" ,rust-phf-codegen-0.10)
        ("rust-string-cache" ,rust-string-cache-0.8)
        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5)
        ("rust-tendril" ,rust-tendril-0.4))))))

(define-public rust-markup5ever-0.10
  (package
    (inherit rust-markup5ever-0.11)
    (name "rust-markup5ever")
    (version "0.10.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "markup5ever" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1zf8iq2czd6kz99fjs3pgf5c17lfz75ds31khkfiqbc50gxl0kx2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-phf-codegen" ,rust-phf-codegen-0.8)
        ("rust-string-cache" ,rust-string-cache-0.8)
        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5)
        ("rust-tendril" ,rust-tendril-0.4))))))

(define-public rust-markup5ever-0.9
  (package
    (inherit rust-markup5ever-0.10)
    (name "rust-markup5ever")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "markup5ever" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "00wxigkiw8f777pjp7q5kfq77xpwda9zskkwp698assh8yfisf35"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-phf" ,rust-phf-0.7)
        ("rust-string-cache" ,rust-string-cache-0.7)
        ("rust-tendril" ,rust-tendril-0.4)
        ("rust-phf-codegen" ,rust-phf-codegen-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.4))))))

(define-public rust-markup5ever-0.8
  (package
    (inherit rust-markup5ever-0.9)
    (name "rust-markup5ever")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "markup5ever" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi"))))))

(define-public rust-markup5ever-rcdom-0.3
  (package
    (name "rust-markup5ever-rcdom")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "markup5ever_rcdom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "065yb6zn9sfn7kqk5wwc48czsls5z3hzgrddk58fxgq16ymj3apd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-html5ever" ,rust-html5ever-0.27)
                       ("rust-markup5ever" ,rust-markup5ever-0.12)
                       ("rust-tendril" ,rust-tendril-0.4)
                       ("rust-xml5ever" ,rust-xml5ever-0.18))
       #:cargo-development-inputs (("rust-rustc-test" ,rust-rustc-test-0.3)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/servo/html5ever")
    (synopsis
     "Basic, unsupported DOM structure for use by tests in html5ever/xml5ever")
    (description
     "This package provides a basic, unsupported DOM structure for use by tests
in html5ever/xml5ever")
    (license (list license:expat license:asl2.0))))

(define-public rust-markup5ever-rcdom-0.2
  (package
    (inherit rust-markup5ever-rcdom-0.3)
    (name "rust-markup5ever-rcdom")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "markup5ever_rcdom" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hir73wmvl0i5mfplfjg0qvxxmsn8qp5xmjkdkp813hgfpb1slmr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-html5ever" ,rust-html5ever-0.26)
        ("rust-markup5ever" ,rust-markup5ever-0.11)
        ("rust-tendril" ,rust-tendril-0.4)
        ("rust-xml5ever" ,rust-xml5ever-0.17))
       #:cargo-development-inputs
       (("rust-rustc-test" ,rust-rustc-test-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-markup5ever-rcdom-0.1
  (package
    (inherit rust-markup5ever-rcdom-0.2)
    (name "rust-markup5ever-rcdom")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "markup5ever_rcdom" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0axf6vrms8579lvhbjaj0v7bhs8xb7s26d4sam2g3m6qpi1xl5gh"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-html5ever" ,rust-html5ever-0.25)
        ("rust-markup5ever" ,rust-markup5ever-0.10)
        ("rust-tendril" ,rust-tendril-0.4)
        ("rust-xml5ever" ,rust-xml5ever-0.16))
       #:cargo-development-inputs
       (("rust-rustc-test" ,rust-rustc-test-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-mas-iana-0.7
  (package
    (name "rust-mas-iana")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mas-iana" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18yz6lv54crny8nmx4dpy3j2j00v8s80zsczzcg4fh1jyw6q4j0w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://matrix-org.github.io/matrix-authentication-service/")
    (synopsis "IANA registry data for JOSE and OAuth 2.0")
    (description "This package provides IANA registry data for JOSE and
OAuth 2.0.")
    (license license:asl2.0)))

(define-public rust-match-cfg-0.1
  (package
    (name "rust-match-cfg")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "match_cfg" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1r5j3zqc3qr8ybcx95bk8q57mkizmgmffj5lmicd4i8d9riyigpz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/gnzlbg/match_cfg")
    (synopsis
     "Define an item depending on a large number of `#[cfg]` parameters")
    (description
     "This package provides a convenience macro to ergonomically define an item
depending on a large number of @code{#[cfg]} parameters.  Structured like match
statement, the first matching branch is the item that gets emitted.")
    (license (list license:expat license:asl2.0))))

(define-public rust-matchers-0.1
  (package
    (name "rust-matchers")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matchers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n2mbk7lg2vf962c8xwzdq96yrc9i0p8dbmm4wa1nnkcp1dhfqw2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-regex-automata" ,rust-regex-automata-0.1))))
    (home-page "https://github.com/hawkw/matchers")
    (synopsis "Regex matching on character and byte streams")
    (description
     "Use this crate to match on character and byte streams using regular
grammars.  It provides the subset of the regex crate that only deals with
matching, not parsing substrings.")
    (license license:expat)))

(define-public rust-matchers-0.0.1
  (package
    (inherit rust-matchers-0.1)
    (name "rust-matchers")
    (version "0.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matchers" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1q8ckqmkjqkznvdi9x0z769yz2bmvlqcwx51ad2lpk4mfmgpi6gh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-regex-automata" ,rust-regex-automata-0.1))))))

(define-public rust-matches-0.1
  (package
    (name "rust-matches")
    (version "0.1.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "matches" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1994402fq4viys7pjhzisj4wcw894l53g798kkm2y74laxk0jci5"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/SimonSapin/rust-std-candidates")
    (synopsis "Macro to evaluate whether an expression matches a pattern")
    (description "This package provides a macro to evaluate, as a boolean,
whether an expression matches a pattern.")
    (license license:expat)))

(define-public rust-matchit-0.7
  (package
    (name "rust-matchit")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matchit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "156bgdmmlv4crib31qhgg49nsjk88dxkdqp80ha2pk2rk6n6ax0f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t))   ; Cut the dependency tree.
    (home-page "https://github.com/ibraheemdev/matchit")
    (synopsis "High performance, zero-copy URL router")
    (description
     "This package provides a high performance, zero-copy URL router.")
    (license (list license:expat license:bsd-3))))

(define-public rust-matrixcompare-0.3
  (package
    (name "rust-matrixcompare")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matrixcompare" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i84m1jlxmgyw4farhxbfhyb815hrj6ijq23dgb96z7442l2p0rp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-proptest" ,rust-proptest-1))
       #:cargo-development-inputs
       (("rust-matrixcompare-mock" ,rust-matrixcompare-mock-0.1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
    (home-page "https://github.com/Andlon/matrixcompare")
    (synopsis "Tools for convenient comparison of matrices")
    (description "This package provides tools for convenient comparison of
matrices.")
    (license license:expat)))

(define-public rust-matrixcompare-0.2
  (package
    (name "rust-matrixcompare")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matrixcompare" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "046x25j9v42syns6g8sp3lv4kad55cr4p2bvvs6kyj85dbcz8hiv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/Andlon/matrixcompare")
    (synopsis "Tools for convenient comparison of matrices")
    (description "This package provides tools for convenient comparison of
matrices.")
    (license license:expat)))

(define-public rust-matrixcompare-core-0.1
  (package
    (name "rust-matrixcompare-core")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matrixcompare-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wqaj028ws2x2h16rf10arwvmpfbmk7afg8b57ahb25i1nrspgdh"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/Andlon/matrixcompare")
    (synopsis "Core traits for matrixcompare")
    (description "This package provides core traits for matrixcompare.")
    (license license:expat)))

(define-public rust-matrixcompare-mock-0.1
  (package
    (name "rust-matrixcompare-mock")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matrixcompare-mock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1iqk7p9a3y057qzjjz4hfc1kq48vb76bf1lljqcm5r6xxmlz785y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
        ("rust-num" ,rust-num-0.3)
        ("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/Andlon/matrixcompare")
    (synopsis "Internal mock data structures for testing of matrixcompare")
    (description "This package provides internal mock data structures for
testing of matrixcompare.")
    (license license:expat)))

(define-public rust-matrixmultiply-0.3
  (package
    (name "rust-matrixmultiply")
    (version "0.3.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "matrixmultiply" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06msav241ybxvsqfwm4hfmb1pbws71v0inhmyk0i0vg9wc8vk04k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rawpointer" ,rust-rawpointer-0.2)
        ("rust-thread-tree" ,rust-thread-tree-0.3))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-itertools" ,rust-itertools-0.8))))
    (home-page "https://github.com/bluss/matrixmultiply/")
    (synopsis "General matrix multiplication for f32 and f64 matrices")
    (description "General matrix multiplication for f32 and f64 matrices.
Operates on matrices with general layout (they can use arbitrary row and column
stride).  Detects and uses AVX or SSE2 on x86 platforms transparently for higher
performance.  Uses a microkernel strategy, so that the implementation is easy to
parallelize and optimize.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-matrixmultiply-0.2
  (package
    (inherit rust-matrixmultiply-0.3)
    (name "rust-matrixmultiply")
    (version "0.2.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "matrixmultiply" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1hc4vp19x823xgkm374wsxnzmqbjhmyaj5nr0lhm9k9i02x0cs4i"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rawpointer" ,rust-rawpointer-0.2))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-itertools" ,rust-itertools-0.8))))))

(define-public rust-matrixmultiply-0.1
  (package
    (inherit rust-matrixmultiply-0.2)
    (name "rust-matrixmultiply")
    (version "0.1.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "matrixmultiply" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "00p0fpjhm45qdzi37mgv7ggsy8b9gqvq4999yrbgyn1dxkf6gbfw"))))
    (arguments
     `(#:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.1))
       #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))))

(define-public rust-maybe-async-0.2
  (package
    (name "rust-maybe-async")
    (version "0.2.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "maybe-async" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "01gksgxmzgl8hvg831vv993fvrwz8hjwgcln99ilp08zrc9qq6qg"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-1)
             ("rust-async-std" ,rust-async-std-1)
             ("rust-async-trait" ,rust-async-trait-0.1)
             ("rust-tokio" ,rust-tokio-1)
             ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/fMeow/maybe-async-rs")
    (synopsis "Procedural macro to unify sync and async Rust code")
    (description
     "This package provides a procedural macro that unifies sync and
async code in Rust.")
    (license license:expat)))

(define-public rust-maybe-rayon-0.1
  (package
    (name "rust-maybe-rayon")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "maybe-rayon" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "06cmvhj4n36459g327ng5dnj8d58qs472pv5ahlhm7ynxl6g78cf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/shssoichiro/maybe-rayon")
    (synopsis "Either acts as rayon or creates a single-threaded facade")
    (description "Either acts as rayon or creates a single-threaded facade")
    (license license:expat)))

(define-public rust-maybe-uninit-2
  (package
    (name "rust-maybe-uninit")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "maybe-uninit" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "004y0nzmpfdrhz251278341z6ql34iv1k6dp1h6af7d6nd6jwc30"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/est31/maybe-uninit")
    (synopsis "MaybeUninit for friends of backwards compatibility")
    (description
     "This package provides MaybeUninit for friends of backwards compatibility.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-mbox-0.7
  (package
    (name "rust-mbox")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mbox" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pn67fg52nwi2pk2j1nqlwgh477ygsz3znf6kxkqqkmwmnp45l96"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/kennytm/mbox")
    (synopsis "Malloc-based box")
    (description
     "This package provides malloc-based box.  Supports wrapping pointers or
null-terminated strings returned from malloc as a Rust type, which will be
free'd on drop.")
    (license license:expat)))

(define-public rust-memchr-2
  (package
    (name "rust-memchr")
    (version "2.7.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "memchr" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "18z32bhxrax0fnjikv475z7ii718hq457qwmaryixfxsl2qrmjkq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/BurntSushi/rust-memchr")
    (synopsis "Safe interface to memchr")
    (description "The @code{memchr} crate provides heavily optimized routines
for searching bytes.")
    (license (list license:unlicense license:expat))))

(define-public rust-memchr-1
  (package
    (inherit rust-memchr-2)
    (name "rust-memchr")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memchr" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0yjyja34pzhipdl855q3m21w1lyih4lw79x2dp3czwdla4pap3ql"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.4))))))

(define-public rust-memchr-0.1
  (package
    (inherit rust-memchr-1)
    (name "rust-memchr")
    (version "0.1.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memchr" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.2))))))

(define-public rust-memmap-0.7
  (package
    (name "rust-memmap")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "memmap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/danburkert/memmap-rs")
    (synopsis "Rust library for cross-platform memory mapped IO")
    (description
     "This package provides a cross-platform Rust API for memory-mapped
file IO.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-memmap-0.6
  (package
    (inherit rust-memmap-0.7)
    (name "rust-memmap")
    (version "0.6.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "memmap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))))

(define-public rust-memmap-0.2
  (package
    (inherit rust-memmap-0.6)
    (name "rust-memmap")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0li737lakqcbbgd87x7h8d4vp0r1fqcbn5lb5vi746i9jgnp43zj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fs2" ,rust-fs2-0.2)
        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.2))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-memmap2-0.9
  (package
    (name "rust-memmap2")
    (version "0.9.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0krpvvkpg4i3l05cv3q2xk24a1vj5c86gbrli2wzhj1qkpnpwgzx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
       #:cargo-development-inputs (("rust-owning-ref" ,rust-owning-ref-0.4)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/RazrFalcon/memmap2-rs")
    (synopsis "Cross-platform Rust API for memory-mapped file IO")
    (description
     "This package provides a Rust API for memory-mapped file IO.")
    (license (list license:expat license:asl2.0))))

(define-public rust-memmap2-0.8
  (package
    (inherit rust-memmap2-0.9)
    (name "rust-memmap2")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vf3djv9s917fbvw5vclllpl22g12iph6cz11gn57ndhxwya19a3"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
       #:cargo-development-inputs (("rust-owning-ref" ,rust-owning-ref-0.4)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-memmap2-0.7
  (package
    (inherit rust-memmap2-0.9)
    (name "rust-memmap2")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1il82b0mw304jlwvl0m89aa8bj5dgmm3vbb0jg8lqlrk0p98i4zl"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
       #:cargo-development-inputs
       (("rust-owning-ref" ,rust-owning-ref-0.4)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-memmap2-0.6
  (package
    (inherit rust-memmap2-0.9)
    (name "rust-memmap2")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wm8avdjma6j3x5fjdqwxcj89h52pzmwanw46xkn9rnz9albna3d"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
       #:cargo-development-inputs (("rust-owning-ref" ,rust-owning-ref-0.4)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-memmap2-0.5
  (package
    (inherit rust-memmap2-0.7)
    (name "rust-memmap2")
    (version "0.5.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09xk415fxyl4a9pgby4im1v2gqlb5lixpm99dczkk30718na9yl3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
       #:cargo-development-inputs
       (("rust-owning-ref" ,rust-owning-ref-0.4)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-memmap2-0.3
  (package
    (inherit rust-memmap2-0.5)
    (name "rust-memmap2")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xcg3vv6rg8vhl0wdfy085gx4xsp2dah7anvn5816h6wgczj1zr0"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))))

(define-public rust-memmap2-0.1
  (package
    (inherit rust-memmap2-0.3)
    (name "rust-memmap2")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmap2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nmymqy9q62x577ydja0ysfyir7h5qa0n5fwcnvchfhhlsi0rdyr"))))))

(define-public rust-memmem-0.1
  (package
    (name "rust-memmem")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memmem" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05ccifqgxdfxk6yls41ljabcccsz3jz6549l1h3cwi17kr494jm6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.2))))
    (home-page "http://github.com/jneem/memmem")
    (synopsis "Substring searching")
    (description "This package provides substring searching.")
    (license (list license:expat license:asl2.0))))

(define-public rust-memo-map-0.3
  (package
    (name "rust-memo-map")
    (version "0.3.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "memo-map" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0h0c80ilf74872nfn1dx65zdj60cxcczrbks113l9kk0jp07dhmf"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/mitsuhiko/memo-map")
    (synopsis "Synchronized map for memoization")
    (description "This package provides a crate implementing a synchronized map
for memoization.")
    (license license:asl2.0)))

(define-public rust-memoffset-0.9
  (package
    (name "rust-memoffset")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "memoffset" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0v20ihhdzkfw1jx00a7zjpk2dcp5qjq6lz302nyqamd9c4f4nqss"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/Gilnaa/memoffset")
    (synopsis "C-like offset_of functionality for Rust structs")
    (description
     "This package provides C-like @code{offset_of} functionality
for Rust structs.")
    (license license:expat)))

(define-public rust-memoffset-0.8
  (package
    (inherit rust-memoffset-0.9)
    (name "rust-memoffset")
    (version "0.8.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "memoffset" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1qcdic88dhgw76pafgndpz04pig8il4advq978mxdxdwrydp276n"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))))

(define-public rust-memoffset-0.7
  (package
    (inherit rust-memoffset-0.8)
    (name "rust-memoffset")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memoffset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x2zv8hv9c9bvgmhsjvr9bymqwyxvgbca12cm8xkhpyy5k1r7s2x"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))))

(define-public rust-memoffset-0.6
  (package
    (inherit rust-memoffset-0.7)
    (name "rust-memoffset")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memoffset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kkrzll58a3ayn5zdyy9i1f1v3mx0xgl29x0chq614zazba638ss"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (inputs (list rust-autocfg-1))))

(define-public rust-memoffset-0.5
  (package
    (inherit rust-memoffset-0.6)
    (name "rust-memoffset")
    (version "0.5.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memoffset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ahi51aa650s2p9ib1a4ifgqv0pzmsxlm9z4xdgvi9zdd7q7ac84"))))
    (arguments
     `(#:tests? #f      ; reference to packed field is unaligned
       #:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))
       #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (inputs '())))

(define-public rust-memory-units-0.4
  (package
    (name "rust-memory-units")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "memory_units" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hyk1alsdpcw5r33c5yn7pk9h259klfxv4vhzx08y1j7l1di0ll4"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/pepyakin/memory_units")
    (synopsis "Safe conversions between units of memory")
    (description "Safe conversions between units of memory.")
    (license license:mpl2.0)))

(define-public rust-memsec-0.6
  (package
    (name "rust-memsec")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memsec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z5s2pawma2xdwiswzshp4r9s8m0yhivsw91h99x50hm01mr380g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.45))))
    (home-page "https://github.com/quininer/memsec")
    (synopsis "Rust implementation of libsodium/utils")
    (description "This package provides a Rust implementation of
@code{libsodium/utils}.")
    (license license:expat)))

(define-public rust-memsec-0.5
  (package
    (inherit rust-memsec-0.6)
    (name "rust-memsec")
    (version "0.5.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "memsec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c"))))
    (arguments
     `(#:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mach-o-sys" ,rust-mach-o-sys-0.1)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-memuse-0.2
  (package
    (name "rust-memuse")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "memuse" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06kgsfv8fnhqbwnq3q841ndfq5wkanz5jpykldpfmrdc6na8ci91"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nonempty" ,rust-nonempty-0.7))))
    (home-page "https://github.com/str4d/memuse")
    (synopsis "Traits for measuring dynamic memory usage of types")
    (description "Traits for measuring dynamic memory usage of types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-merge-0.1
  (package
    (name "rust-merge")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "merge" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-merge-derive" ,rust-merge-derive-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2))
       #:cargo-development-inputs
       (("rust-envy" ,rust-envy-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-structopt" ,rust-structopt-0.3)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://sr.ht/~ireas/merge-rs")
    (synopsis "Rust trait for objects that can be merged")
    (description "This package provides a merge trait that can be used
to merge two objects of the same type into one.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-merge-derive-0.1
  (package
    (name "rust-merge-derive")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "merge_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01wxhi7mqmp34l540wcfb24hb13vcbps4wlynas66bnsfra0g790"))))
    (build-system cargo-build-system)
    (arguments
     `(#: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))))
    (home-page "https://sr.ht/~ireas/merge-rs")
    (synopsis "Derive macro for the merge crate")
    (description "This crate provides a derive macro for the
@code{merge::Merge} crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-merlin-3
  (package
    (name "rust-merlin")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "merlin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z9rh9jlpcs0i0cijbs6pcq26gl4qwz05y7zbnv7h2gwk4kqxhsq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-hex" ,rust-hex-0.3)
                       ("rust-keccak" ,rust-keccak-0.1)
                       ("rust-rand-core" ,rust-rand-core-0.6)
                       ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-curve25519-dalek-ng" ,rust-curve25519-dalek-ng-4)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-strobe-rs" ,rust-strobe-rs-0.5))))
    (home-page "https://docs.rs/merlin")
    (synopsis
     "Composable proof transcripts for public-coin arguments of knowledge")
    (description
     "Merlin is a STROBE-based transcript construction for zero-knowledge
proofs.  It automates the Fiat-Shamir transform, so that by using Merlin,
non-interactive protocols can be implemented as if they were interactive.")
    (license license:expat)))

(define-public rust-merlin-2
  (package
    (inherit rust-merlin-3)
    (name "rust-merlin")
    (version "2.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "merlin" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0y5vd610q7x82vf54pmnzlh0mh8hgxr6imv92yh46d7syi3cmzn6"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1)
         ("rust-hex" ,rust-hex-0.3)
         ("rust-keccak" ,rust-keccak-0.1)
         ("rust-rand-core" ,rust-rand-core-0.5)
         ("rust-zeroize" ,rust-zeroize-1))))))

(define-public rust-metrics-0.14
  (package
    (name "rust-metrics")
    (version "0.14.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "metrics" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0lf80vznlh0p06nchj08nlqgf3bajnwr6w3syflg7ffg3mh8bqjq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests pass on earlier version of rust
       #:cargo-inputs
       (("rust-metrics-macros" ,rust-metrics-macros-0.2)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/metrics-rs/metrics")
    (synopsis "Lightweight metrics facade")
    (description "This package provides a lightweight metrics facade.")
    (license license:expat)))

(define-public rust-metrics-macros-0.2
  (package
    (name "rust-metrics-macros")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "metrics-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0yy2dc9g3m1h8df6bmnqh1sngyvrgznz1fjpkp9rz1is9p6n1b0i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/metrics-rs/metrics")
    (synopsis "Macros for the metrics crate")
    (description "This package provides macros for the metrics crate.")
    (license license:expat)))

(define-public rust-metrohash-1
  (package
    (name "rust-metrohash")
    (version "1.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "metrohash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ifqmkg81nprxm9dv52k6wbcv48aibd830f3ph7zcff3mnzi2h58"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-fnv" ,rust-fnv-1)
                                   ("rust-twox-hash" ,rust-twox-hash-1))))
    (home-page "https://github.com/arthurprs/metrohash-rs")
    (synopsis "Rust implementation of the MetroHash hash algorithm")
    (description "This library is a Rust implementation of MetroHash, a high
quality, high performance hash algorithm.")
    (license license:expat)))

(define-public rust-miette-7
  (package
    (name "rust-miette")
    (version "7.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "miette" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0r1c34b7crjj97i8gx06hh6agw3ip7qprwrafa91h0mp5rp18zri"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-backtrace-ext" ,rust-backtrace-ext-0.2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-miette-derive" ,rust-miette-derive-7)
                       ("rust-owo-colors" ,rust-owo-colors-4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-supports-color" ,rust-supports-color-3)
                       ("rust-supports-hyperlinks" ,rust-supports-hyperlinks-3)
                       ("rust-supports-unicode" ,rust-supports-unicode-3)
                       ("rust-syntect" ,rust-syntect-5)
                       ("rust-terminal-size" ,rust-terminal-size-0.4)
                       ("rust-textwrap" ,rust-textwrap-0.16)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-indenter" ,rust-indenter-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-semver" ,rust-semver-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.2)
        ("rust-syn" ,rust-syn-2)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/zkat/miette")
    (synopsis "Diagnostic reporting library and protocol")
    (description
     "This package provides a diagnostic reporting library and protocol.")
    (license license:asl2.0)))

(define-public rust-miette-5
  (package
    (inherit rust-miette-7)
    (name "rust-miette")
    (version "5.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "miette" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vl5qvl3bgha6nnkdl7kiha6v4ypd6d51wyc4q1bvdpamr75ifsr"))))
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-backtrace-ext" ,rust-backtrace-ext-0.2)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-miette-derive" ,rust-miette-derive-5)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-owo-colors" ,rust-owo-colors-3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-supports-color" ,rust-supports-color-2)
                       ("rust-supports-hyperlinks" ,rust-supports-hyperlinks-2)
                       ("rust-supports-unicode" ,rust-supports-unicode-2)
                       ("rust-terminal-size" ,rust-terminal-size-0.1)
                       ("rust-textwrap" ,rust-textwrap-0.15)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3)
                                   ("rust-indenter" ,rust-indenter-0.3)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-semver" ,rust-semver-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-syn" ,rust-syn-2)
                                   ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-miette-derive-7
  (package
    (name "rust-miette-derive")
    (version "7.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "miette-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rxds09gdl0l0l0kdns87zcy4ic1d15bamy8vb8wpmp1zcsvkj93"))))
    (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/zkat/miette")
    (synopsis "Derive macros for miette")
    (description "This package provides derive macros for miette.")
    (license license:asl2.0)))

(define-public rust-miette-derive-5
  (package
    (inherit rust-miette-derive-7)
    (name "rust-miette-derive")
    (version "5.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "miette-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p33msrngkxlp5ajm8nijamii9vcwwpy8gfh4m53qnmrc0avrrs9"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-migrations-internals-2
  (package
    (name "rust-migrations-internals")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "migrations_internals" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nnsr5d4h2kcvmz2j4l8g8n8r1zm7nngwmp842q58lh1h0azf8qg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-toml" ,rust-toml-0.7))))
    (home-page "https://diesel.rs")
    (synopsis "Internal implementation of Diesel's migration mechanism")
    (description "This package provides an internal implementation of Diesel's
migration mechanism.")
    (license (list license:expat license:asl2.0))))

(define-public rust-migrations-internals-1
  (package
    (inherit rust-migrations-internals-2)
    (name "rust-migrations-internals")
    (version "1.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "migrations_internals" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q2qk4jpa16mcfcmhjz6hdg2s73az1k7j0cy08vvh87h997chkrb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-barrel" ,rust-barrel-0.6)
        ("rust-diesel" ,rust-diesel-1))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-migrations-macros-2
  (package
    (name "rust-migrations-macros")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "migrations_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "027gd4s58fmh7jil9rz0ckdsdw81mqfa6dyqbfmvnrqfqxd35qyc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--" "--skip=src/lib.rs - embed_migrations (line 44)")
       #:cargo-inputs
       (("rust-migrations-internals" ,rust-migrations-internals-2)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1))
       #:cargo-development-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                                   ("rust-diesel" ,rust-diesel-2)
                                   ("rust-dotenvy" ,rust-dotenvy-0.15)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://diesel.rs")
    (synopsis "Code generation macros for Diesel's embedded migrations")
    (description "This package provides code generation macros for Diesel's
embedded migrations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-migrations-macros-1
  (package
    (inherit rust-migrations-macros-2)
    (name "rust-migrations-macros")
    (version "1.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "migrations_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "173qgwans6n2jf6b7qajq273rvg1r9c34p5fflzr53gx14lz2lwp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-migrations-internals" ,rust-migrations-internals-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-mimalloc-0.1
  (package
    (name "rust-mimalloc")
    (version "0.1.43")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mimalloc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0csnyrxc16i592gm5ffham07jyj2w98qsh9jyy1rv59lmr8474b8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libmimalloc-sys" ,rust-libmimalloc-sys-0.1))))
    (inputs (list mimalloc))
    (home-page "https://crates.io/crates/mimalloc")
    (synopsis "Performance and security oriented drop-in allocator")
    (description "This package provides a performance and security oriented
drop-in allocator.")
    (license license:expat)))

(define-public rust-mimalloc-rust-0.1
  (package
    (name "rust-mimalloc-rust")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mimalloc-rust" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wj4hkspsmlgm6lh5bf2blzalgjcc356bpkh4k5vcnyvvzwhvhxw"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   (("1\\.7\\.3-source") "1.7.2"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Test suite is flakey.
       #:cargo-inputs
       (("rust-cty" ,rust-cty-0.2)
        ("rust-mimalloc-rust-sys" ,rust-mimalloc-rust-sys-1))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))
    (inputs
     (list mimalloc))
    (home-page "https://github.com/lemonhx/mimalloc-rust")
    (synopsis "Binding for mimalloc in rust")
    (description "This package provides a binding for mimalloc in rust.")
    (license license:expat)))

(define-public rust-mimalloc-rust-sys-1
  (package
    (name "rust-mimalloc-rust-sys")
    (version "1.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mimalloc-rust-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "144m1va3dmbr6c5nj1aqnnfrp0fc4yyqn10n25w7ksvsrhnz7xwn"))
       (snippet
        #~(begin
            (use-modules (guix build utils))
            (delete-file-recursively "c_src")
            ;; Inspired by Debian's patch for bzip2-sys.
            (substitute* "Cargo.toml.orig"
              (("cc = .*") "pkg-config = \"0.3\"\n"))
            (copy-file "Cargo.toml.orig" "Cargo.toml")
            (delete-file "build.rs")
            (with-output-to-file "build.rs"
              (lambda _
                (format #t "fn main() {~@
                        println!(\"cargo:rustc-link-lib=mimalloc\");~@
                        }~%")))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cty" ,rust-cty-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (inputs
     (list mimalloc))
    (home-page "https://docs.rs/mimalloc-rust-sys/1.7.2")
    (synopsis "@code{mimalloc_rust} hand written sys binding")
    (description
     "This package provides @code{mimalloc_rust} hand written sys bindings.")
    (license license:expat)))

(define-public rust-mime-0.3
  (package
    (name "rust-mime")
    (version "0.3.17")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "mime" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
        (base32 "16hkibgvb9klh0w0jk5crr5xv90l3wlf77ggymzjmvl1818vnxv8"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/hyperium/mime")
    (synopsis "Strongly Typed Mimes")
    (description
     "Support MIME (HTTP Media Types) as strong types in Rust.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-mime-0.2
  (package
    (inherit rust-mime-0.3)
    (name "rust-mime")
    (version "0.2.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mime" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q1s1ax1gaz8ld3513nvhidfwnik5asbs1ma3hp6inp5dn56nqms"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-heapsize" ,rust-heapsize-0.3)
        ("rust-log" ,rust-log-0.3)
        ("rust-serde" ,rust-serde-0.8))))))

(define-public rust-mime-guess-2
  (package
    (name "rust-mime-guess")
    (version "2.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mime_guess" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vs28rxnbfwil6f48hh58lfcx90klcvg68gxdc60spwa4cy2d4j1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-mime" ,rust-mime-0.3)
        ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/abonander/mime_guess")
    (synopsis "Detect a file's MIME type by its extension")
    (description "This package provides a simple crate for detection of a
file's MIME type by its extension.")
    (license license:expat)))

(define-public rust-mime-guess-1
  (package
    (inherit rust-mime-guess-2)
    (name "rust-mime-guess")
    (version "1.8.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mime_guess" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18qcd5aa3363mb742y7lf39j7ha88pkzbv9ff2qidlsdxsjjjs91"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-mime" ,rust-mime-0.2)
        ("rust-phf" ,rust-phf-0.7)
        ("rust-phf-codegen" ,rust-phf-codegen-0.7)
        ("rust-unicase" ,rust-unicase-1))))))

(define-public rust-mini-internal-0.1
  (package
    (name "rust-mini-internal")
    (version "0.1.41")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mini-internal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ks7vwcgmkkg3lsqzjwmrfzm4ly5y6b41b2sfn4jy3bz18sg3dq7"))))
    (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/miniserde")
    (synopsis "Derive macros for miniserde")
    (description "This package provides derive macros for miniserde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mini-moka-0.10
  (package
    (name "rust-mini-moka")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mini-moka" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00yqhslppnrl2a54rrrp03xb65d2knbb1s5yvs3g6qgjcnmxy9f3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-dashmap" ,rust-dashmap-5)
        ("rust-skeptic" ,rust-skeptic-0.13)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-tagptr" ,rust-tagptr-0.2)
        ("rust-triomphe" ,rust-triomphe-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-skeptic" ,rust-skeptic-0.13)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/moka-rs/mini-moka")
    (synopsis "Lighter edition of Moka, a fast and concurrent cache library")
    (description
     "This package provides a lighter edition of Moka, a fast and concurrent cache
library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-minicov-0.3
  (package
    (name "rust-minicov")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "minicov" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jsvi62lklfyvdmsiizipkqcfpsc7h4c4illgxlf28iwrkqyjzzj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (inputs (list clang))
    (home-page "https://github.com/Amanieu/minicov")
    (synopsis "Code coverage and profile-guided optimization support")
    (description
     "This package provides Code coverage and profile-guided optimization
support for no_std and embedded programs.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-miniflux-api-0.3
  (package
    (name "rust-miniflux-api")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "miniflux_api" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19lhzn3mmq5iifmld6lr81nx4yj4ll4k76gzpypb21p5b1xag667"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;tests use the network
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-dotenv" ,rust-dotenv-0.15)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://gitlab.com/news-flash/miniflux_api")
    (synopsis "Rust implementation of the Miniflux REST API")
    (description
     "This package provides a Rust implementation of the Miniflux REST API.")
    ;; No copyright headers in the source code.  LICENSE indicates gpl3.
    (license license:gpl3)))

(define-public rust-minijinja-2
  (package
    (name "rust-minijinja")
    (version "2.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "minijinja" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d99nn7pmqimbp5sd3gcndi958nmp5klav633pjx1p6i2ysy2drc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-aho-corasick" ,rust-aho-corasick-1)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-memo-map" ,rust-memo-map-0.3)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-self-cell" ,rust-self-cell-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-stacker" ,rust-stacker-0.1)
                       ("rust-unicase" ,rust-unicase-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1)
                       ("rust-v-htmlescape" ,rust-v-htmlescape-0.15))
       #:cargo-development-inputs
       (("rust-insta" ,rust-insta-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-similar-asserts" ,rust-similar-asserts-1))))
    (home-page "https://github.com/mitsuhiko/minijinja")
    (synopsis "Template engine for Rust")
    (description "This package provides a template engine for Rust.")
    (license license:asl2.0)))

(define-public rust-minimad-0.13
  (package
    (name "rust-minimad")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "minimad" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s72q9h0807pc450n23nzis4s38m6ihiil5azj1bhj8f8c7n3i7n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/Canop/minimad")
    (synopsis "Light markdown parser")
    (description "Light markdown parser.")
    (license license:expat)))

(define-public rust-minimad-0.9
  (package
    (inherit rust-minimad-0.13)
    (name "rust-minimad")
    (version "0.9.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "minimad" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0d2qnjwdrb3ngb0sayzj2b56pjb75ajqiaz4iw7zfs4537q3jxi7"))))
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1))))))

(define-public rust-minimal-lexical-0.2
  (package
    (name "rust-minimal-lexical")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "minimal-lexical" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Alexhuszagh/minimal-lexical")
    (synopsis "Float parsing conversion routines")
    (description "This is a minimal version of rust-lexical, meant to allow
efficient round-trip float parsing.  Minimal-lexical implements a correct,
fast float parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-miniserde-0.1
  (package
    (name "rust-miniserde")
    (version "0.1.41")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "miniserde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rhbii3v1sflzfz6zx36j42a6j5zh0c08f4kv7k5y9chpjvhhlk2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-itoa" ,rust-itoa-1)
                       ("rust-mini-internal" ,rust-mini-internal-0.1)
                       ("rust-ryu" ,rust-ryu-1))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1)
                                   ("rust-indoc" ,rust-indoc-2)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/miniserde")
    (synopsis "Data structure serialization library")
    (description
     "This package provides a data structure serialization library with several
opposite design goals from Serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mint-0.5
  (package
    (name "rust-mint")
    (version "0.5.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mint" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zw5glv8z2d99c82jy2za97hh9p6377xmf4rbwz7jynsdfxfngg5"))))
    (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/kvark/mint")
    (synopsis "Math interoperability standard types")
    (description
     "This package provides math interoperability standard types.")
    (license license:expat)))

(define-public rust-minus-5
  (package
    (name "rust-minus")
    (version "5.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "minus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19cwjr8ikqpngxj6c4xbbvylkjkp19cs4k2dnnav5ngzz4nywv6p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" ; unresolved imports
         "--skip=src/lib.rs - (line 174)"
         "--skip=src/lib.rs - (line 200)"
         "--skip=src/lib.rs - (line 233)")
       #:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossterm" ,rust-crossterm-0.27)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-regex" ,rust-regex-1)
        ("rust-textwrap" ,rust-textwrap-0.16)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/arijit79/minus")
    (synopsis "Asynchronous data feedable terminal paging library for Rust")
    (description
     "This package provides a asynchronous data feedable terminal paging
library for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mio-1
  (package
    (name "rust-mio")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v1cnnn44awxbcfm4zlavwgkvbyg7gp5zzjm8mqf1apkrwflvq40"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hermit-abi" ,rust-hermit-abi-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-wasi" ,rust-wasi-0.11)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/tokio-rs/mio")
    (synopsis "Lightweight non-blocking IO")
    (description
     "Mio is a fast, low-level I/O library for Rust focusing on non-blocking
APIs and event notification for building I/O apps with as little overhead as
possible over the OS abstractions.")
    (license license:expat)))

(define-public rust-mio-0.8
  (package
    (inherit rust-mio-1)
    (name "rust-mio")
    (version "0.8.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "034byyl0ardml5yliy1hmvx8arkmn9rv479pid794sm07ia519m4"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-libc" ,rust-libc-0.2)
             ("rust-log" ,rust-log-0.4)
             ("rust-wasi" ,rust-wasi-0.11)
             ("rust-windows-sys" ,rust-windows-sys-0.48))
           #:cargo-development-inputs
           `(("rust-env-logger" ,rust-env-logger-0.9)
             ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-mio-0.7
  (package
    (inherit rust-mio-0.8)
    (name "rust-mio")
    (version "0.7.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mi9ah60l270761sz6qdhhn0hkn5msc8689b53bhnkmk0glx706g"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-miow" ,rust-miow-0.3)
        ("rust-ntapi" ,rust-ntapi-0.3)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-rand" ,rust-rand-0.4))))))

(define-public rust-mio-0.6
  (package
    (inherit rust-mio-0.7)
    (name "rust-mio")
    (version "0.6.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i2c1vl8lr45apkh8xbh9k56ihfsmqff5l7s2fya7whvp7sndzaa"))))
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-fuchsia-zircon" ,rust-fuchsia-zircon-0.3)
        ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys-0.3)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-miow" ,rust-miow-0.2)
        ("rust-net2" ,rust-net2-0.2)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-winapi" ,rust-winapi-0.2))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-0.3)
        ("rust-env-logger" ,rust-env-logger-0.4)
        ("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-mio-aio-0.9
  (package
    (name "rust-mio-aio")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio-aio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zrp159m5nc1j23awbrn9rmx7c5lh47z9szg65s3zj4h95b0v5wl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; unresolved import `nix::sys::event`
       #:cargo-inputs (("rust-mio" ,rust-mio-0.8)
                       ("rust-nix" ,rust-nix-0.29)
                       ("rust-pin-utils" ,rust-pin-utils-0.1))
       #:cargo-development-inputs (("rust-assert-impl" ,rust-assert-impl-0.1)
                                   ("rust-mio" ,rust-mio-0.8)
                                   ("rust-nix" ,rust-nix-0.29)
                                   ("rust-sysctl" ,rust-sysctl-0.1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/asomers/mio-aio")
    (synopsis "POSIX AIO bindings for mio")
    (description "This package provides POSIX AIO bindings for mio.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mio-aio-0.8
  (package
    (inherit rust-mio-aio-0.9)
    (name "rust-mio-aio")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio-aio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ynga39vd3r7i3bjqsiv8b6b9z8ympby88l7vkk5cvhp6kn3livj"))))
    (arguments
     `(#:skip-build? #t     ; unresolved import `nix::sys::event`
       #:cargo-inputs (("rust-mio" ,rust-mio-0.8)
                       ("rust-nix" ,rust-nix-0.27)
                       ("rust-pin-utils" ,rust-pin-utils-0.1))
       #:cargo-development-inputs (("rust-assert-impl" ,rust-assert-impl-0.1)
                                   ("rust-mio" ,rust-mio-0.8)
                                   ("rust-nix" ,rust-nix-0.27)
                                   ("rust-sysctl" ,rust-sysctl-0.1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-mio-extras-2
  (package
    (name "rust-mio-extras")
    (version "2.0.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio-extras" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "069gfhlv0wlwfx1k2sriwfws490kjp490rv2qivyfb01j3i3yh2j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazycell" ,rust-lazycell-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-slab" ,rust-slab-0.4))))
    (home-page "https://github.com/dimbleby/mio-extras")
    (synopsis "Extra components for use with Mio")
    (description "Extra components for use with Mio.")
    (license (list license:expat license:asl2.0))))

(define-public rust-mio-named-pipes-0.1
  (package
    (name "rust-mio-named-pipes")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio-named-pipes" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1cwwfx1yr9vws8x971x34ijnirs377vcxi47frdirki5yppp9qzm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-miow" ,rust-miow-0.3)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.4)
        ("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/alexcrichton/mio-named-pipes")
    (synopsis "Windows named pipe bindings for mio")
    (description
     "A library for integrating Windows Named Pipes with mio.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-mio-uds-0.6
  (package
    (name "rust-mio-uds")
    (version "0.6.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mio-uds" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09gimdbnj7b9yca99pk8lxh9jhl79msj795c8fxi2sqr9slmfqln"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-iovec" ,rust-iovec-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/alexcrichton/mio-uds")
    (synopsis "Unix domain socket bindings for mio")
    (description
     "Unix domain socket bindings for mio.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-mirai-annotations-1
  (package
    (name "rust-mirai-annotations")
    (version "1.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mirai-annotations" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lfkgarmzd7mdr739s9yidh0xhc9d3g4jjiwh246mwmkq5i0ign9"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/facebookexperimental/MIRAI")
    (synopsis "Macros that provide source code annotations for MIRAI")
    (description "Macros that provide source code annotations for MIRAI")
    (license license:expat)))

(define-public rust-mktemp-0.4
  (package
    (name "rust-mktemp")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mktemp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18hd84l7k7i1mbjylagwg1miczh78cjrs55r0kggqcc28ivfcpcp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://docs.rs/mktemp")
    (synopsis "Mktemp files and directories")
    (description "This package provides mktemp files and directories.")
    (license license:mpl2.0)))

(define-public rust-mmap-fixed-0.1
  (package
    (name "rust-mmap-fixed")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mmap-fixed" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "106lbziidb8bwi3bs4hx5znjlwkh7x6x08qdg0914rpcd2w1qw1v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/khang06/rust-mmap-fixed-fixed")
    (synopsis "Library for dealing with memory-mapped I/O")
    (description
     "This package provides a library for dealing with memory-mapped I/O.")
    (license license:expat)))

(define-public rust-modifier-0.1
  (package
    (name "rust-modifier")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "modifier" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/reem/rust-modifier")
    (synopsis
      "Chaining APIs for both self -> Self and &mut self methods")
    (description
      "Chaining APIs for both self -> Self and &mut self methods.")
    (license license:expat)))

(define-public rust-more-asserts-0.3
  (package
    (name "rust-more-asserts")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "more-asserts" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zj0f9z73nsn1zxk2y21f0mmafvz7dz5v93prlxwdndb3jbadbqz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/thomcc/rust-more-asserts")
    (synopsis "Library providing additional assert_* and debug_assert_* macros")
    (description
     "This package provides a small library providing additional assert_* and
debug_assert_* macros.")
    (license (list license:unlicense license:expat license:asl2.0 license:cc0))))

(define-public rust-more-asserts-0.2
  (package
    (inherit rust-more-asserts-0.3)
    (name "rust-more-asserts")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "more-asserts" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12b3fypg2sr4qmxy6wiyx6k9sdg573f5ij98cdmbrg00whnyqhvq"))))
    (license license:cc0)))

(define-public rust-mozim-0.2
  (package
    (name "rust-mozim")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mozim" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bg8xkvcpxr06a1kp1dp78gjkgsgq5a9i1qzcf43az007l8k83k1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests can't run in the build environment.
       #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-dhcproto" ,rust-dhcproto-0.9)
                       ("rust-etherparse" ,rust-etherparse-0.13)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nispor" ,rust-nispor-1)
                       ("rust-nix" ,rust-nix-0.27)
                       ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/nispor/mozim")
    (synopsis "DHCP Client Library")
    (description "This package provides a DHCP Client Library.")
    (license license:asl2.0)))

(define-public rust-mptcp-pm-0.1
  (package
    (name "rust-mptcp-pm")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mptcp-pm" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ma2r9ffp2164s1msfjw78553xccy4i9lvrkbsvhgr6wcgyaibry"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_mptcp_empty_addresses_and_limits")
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-genetlink" ,rust-genetlink-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
        ("rust-netlink-packet-generic" ,rust-netlink-packet-generic-0.3)
        ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
        ("rust-netlink-proto" ,rust-netlink-proto-0.11)
        ("rust-netlink-sys" ,rust-netlink-sys-0.8)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-netlink/mptcp-pm")
    (synopsis "Linux kernel MPTCP path manager netlink Library")
    (description "Linux kernel MPTCP path manager netlink Library.")
    (license license:expat)))

(define-public rust-msvc-demangler-0.9
  (package
    (name "rust-msvc-demangler")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "msvc-demangler" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j7kkmbd9yvhk7dmvd29pqcg9mcjdw5p1ia1kihh16zss1nprdmz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://github.com/mstange/msvc-demangler-rust")
    (synopsis "Rust library that demangles C++ symbols mangled by MSVC")
    (description
     "This package provides a rust library that demangles (undecorates)
C++ symbols mangled by MSVC.")
    (license (list license:expat license:ncsa))))

(define-public rust-muldiv-1
  (package
    (name "rust-muldiv")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "muldiv" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1c6ljsp41n8ijsx7zicwfm135drgyhcms12668ivvsbm1r98frwm"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs `(("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/sdroege/rust-muldiv")
    (synopsis "Trait for numeric types to combine multiplication and division")
    (description
     "This package provides a trait for numeric types to perform combined
multiplication and division with overflow protection.")
    (license license:expat)))

(define-public rust-multer-3
  (package
    (name "rust-multer")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06ajkcp0cjf66qxbp7swvdxkhmlg2wnjfbk3s9py9hx9w0mm4pd1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-http" ,rust-http-1)
                       ("rust-httparse" ,rust-httparse-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-mime" ,rust-mime-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-spin" ,rust-spin-0.9)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-util" ,rust-tokio-util-0.7)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs (("rust-http-body-util" ,rust-http-body-util-0.1)
                                   ("rust-hyper" ,rust-hyper-1)
                                   ("rust-hyper-util" ,rust-hyper-util-0.1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rwf2/multer-rs")
    (synopsis "Async parser for @code{multipart/form-data} content-type in Rust")
    (description
     "An async parser for @code{multipart/form-data} content-type in Rust.

It accepts a Stream of Bytes as a source, so that it can be plugged into any
async Rust environment e.g. any async server.")
    (license license:expat)))

(define-public rust-multer-2
  (package
    (inherit rust-multer-3)
    (name "rust-multer")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hjiphaypj3phqaj5igrzcia9xfmf4rr4ddigbh8zzb96k1bvb01"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-http" ,rust-http-0.2)
                       ("rust-httparse" ,rust-httparse-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-mime" ,rust-mime-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-spin" ,rust-spin-0.9)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-util" ,rust-tokio-util-0.7)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs (("rust-hyper" ,rust-hyper-0.14)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-multimap-0.8
  (package
    (name "rust-multimap")
    (version "0.8.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multimap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sicyz4n500vdhgcxn4g8jz97cp1ijir1rnbgph3pmx9ckz4dkp5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/havarnov/multimap")
    (synopsis "Multimap implementation")
    (description "This package provides a multimap implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-multipart-rs-0.1
  (package
    (name "rust-multipart-rs")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multipart-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wj5jgbrq7svcqdahxi17j8vws8nsz6a5y9f6ir51ajjgq7f1jk4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-mime" ,rust-mime-0.3)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-futures-test" ,rust-futures-test-0.3))))
    (home-page "https://github.com/feliwir/multipart-rs")
    (synopsis "Async multipart reader & writer for Rust")
    (description
     "This package provides a simple, zero-allocation, streaming, async multipart
reader & writer for Rust.")
    (license license:expat)))

(define-public rust-multiversion-0.7
  (package
    (name "rust-multiversion")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multiversion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0al7yrf489lqzxx291sx9566n7slk2njwlqrxbjhqxk1zvbvkixj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-multiversion-macros" ,rust-multiversion-macros-0.7)
                       ("rust-target-features" ,rust-target-features-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-rustversion" ,rust-rustversion-1))))
    (home-page "https://github.com/calebzulawski/multiversion")
    (synopsis "Function multiversioning attribute macros for Rust")
    (description "This crate provides function multiversioning attribute
macros for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-multiversion-0.6
  (package
    (inherit rust-multiversion-0.7)
    (name "rust-multiversion")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multiversion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wsk9ykdqjd6c54rf5l6yb6ps4hx409cda8aa875xk6k7lm9cp02"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-multiversion-macros" ,rust-multiversion-macros-0.6))))))

(define-public rust-multiversion-macros-0.7
  (package
    (name "rust-multiversion-macros")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multiversion-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j1avbxw7jscyi7dmnywhlwbiny1fvg1vpp9fy4dc1pd022kva16"))))
    (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)
                       ("rust-target-features" ,rust-target-features-0.1))))
    (home-page "https://github.com/calebzulawski/multiversion")
    (synopsis "Implementation crate for multiversion")
    (description "This is an implementation crate for multiversion Rust
library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-multiversion-macros-0.6
  (package
    (inherit rust-multiversion-macros-0.7)
    (name "rust-multiversion-macros")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "multiversion-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bzkmxgyiwsanqf4lsdzx5gn4harza4rdrzkq5hgksw2wfyy58x8"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-mustache-0.9
  (package
    (name "rust-mustache")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "mustache" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dfakqld6zf995nnkgs9ybccgps4zcbfd4adaa2162njqpqnx5ai"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.3)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/nickel-org/rust-mustache")
    (synopsis "Rust implementation of Mustache")
    (description "This package provides a Rust implementation of Mustache.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nalgebra-0.32
  (package
    (name "rust-nalgebra")
    (version "0.32.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nalgebra" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ahwmg15v2qschc1y64hg5r2hdp7m0izv11zx0lkyhn2ijqxjzih"))))
    (build-system cargo-build-system)
    (arguments
     `(;#:features '("debug" "compare" "rand" "macros")
       #:cargo-test-flags
         ;; Feature list as requested by the test suite.
       '("--release" "--features" "debug,compare,rand,macros")
       #:cargo-inputs
       (("rust-alga" ,rust-alga-0.9)
        ("rust-approx" ,rust-approx-0.5)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-cust-core" ,rust-cust-core-0.1)
        ("rust-glam" ,rust-glam-0.24)
        ("rust-glam" ,rust-glam-0.23)
        ("rust-glam" ,rust-glam-0.22)
        ("rust-glam" ,rust-glam-0.21)
        ("rust-glam" ,rust-glam-0.20)
        ("rust-glam" ,rust-glam-0.19)
        ("rust-glam" ,rust-glam-0.18)
        ("rust-glam" ,rust-glam-0.17)
        ("rust-glam" ,rust-glam-0.16)
        ("rust-glam" ,rust-glam-0.15)
        ("rust-glam" ,rust-glam-0.14)
        ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-nalgebra-macros" ,rust-nalgebra-macros-0.2)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-rational" ,rust-num-rational-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-distr" ,rust-rand-distr-0.4)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-simba" ,rust-simba-0.8)
        ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-matrixcompare" ,rust-matrixcompare-0.3)
        ("rust-rand-isaac" ,rust-rand-isaac-0.3)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://nalgebra.org")
    (synopsis "Linear algebra library")
    (description
     "This package provides a general-purpose linear algebra library with
transformations and statically-sized or dynamically-sized matrices.")
    (license license:bsd-3)))

(define-public rust-nalgebra-0.30
  (package
    (inherit rust-nalgebra-0.32)
    (name "rust-nalgebra")
    (version "0.30.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nalgebra" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1glqd63v8n2a7i66yc4czrmmf21hxqc2q8906f4fsjv913gd1cjg"))))
    (arguments
     `(#:cargo-test-flags
       ;; Feature list as requested by the test suite.
       '("--release" "--features" "debug,compare,rand,macros" "--lib")
       #:cargo-inputs (("rust-abomonation" ,rust-abomonation-0.7)
                       ("rust-alga" ,rust-alga-0.9)
                       ("rust-approx" ,rust-approx-0.5)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-cust" ,rust-cust-0.2)
                       ("rust-glam" ,rust-glam-0.20)
                       ("rust-glam" ,rust-glam-0.19)
                       ("rust-glam" ,rust-glam-0.18)
                       ("rust-glam" ,rust-glam-0.17)
                       ("rust-glam" ,rust-glam-0.16)
                       ("rust-glam" ,rust-glam-0.15)
                       ("rust-glam" ,rust-glam-0.14)
                       ("rust-glam" ,rust-glam-0.13)
                       ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
                       ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
                       ("rust-mint" ,rust-mint-0.5)
                       ("rust-nalgebra-macros" ,rust-nalgebra-macros-0.1)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-rational" ,rust-num-rational-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-proptest" ,rust-proptest-1)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rand-distr" ,rust-rand-distr-0.4)
                       ("rust-rkyv" ,rust-rkyv-0.6)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-simba" ,rust-simba-0.7)
                       ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-itertools" ,rust-itertools-0.10)
                                   ("rust-matrixcompare" ,rust-matrixcompare-0.3)
                                   ("rust-rand-isaac" ,rust-rand-isaac-0.3)
                                   ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-nalgebra-0.29
  (package
    (inherit rust-nalgebra-0.32)
    (name "rust-nalgebra")
    (version "0.29.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nalgebra" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1zri11vkrbk3ayvy8xqcdvvyjvfcbl5a18x8z82racnn11zfn1nm"))))
    (arguments
      `(#:tests? #f       ;TODO: how to enable required features?
        #:cargo-inputs
        (("rust-abomonation" ,rust-abomonation-0.7)
         ("rust-alga" ,rust-alga-0.9)
         ("rust-approx" ,rust-approx-0.5)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-glam" ,rust-glam-0.17)
         ("rust-glam" ,rust-glam-0.16)
         ("rust-glam" ,rust-glam-0.15)
         ("rust-glam" ,rust-glam-0.14)
         ("rust-glam" ,rust-glam-0.13)
         ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
         ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-nalgebra-macros" ,rust-nalgebra-macros-0.1)
         ("rust-num-complex" ,rust-num-complex-0.4)
         ("rust-num-rational" ,rust-num-rational-0.4)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-pest" ,rust-pest-2)
         ("rust-pest-derive" ,rust-pest-derive-2)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-quickcheck" ,rust-quickcheck-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rand-distr" ,rust-rand-distr-0.4)
         ("rust-rkyv" ,rust-rkyv-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-simba" ,rust-simba-0.6)
         ("rust-typenum" ,rust-typenum-1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-itertools" ,rust-itertools-0.10)
         ("rust-matrixcompare" ,rust-matrixcompare-0.3)
         ("rust-rand-isaac" ,rust-rand-isaac-0.3)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
         ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-nalgebra-0.27
  (package
    (inherit rust-nalgebra-0.29)
    (name "rust-nalgebra")
    (version "0.27.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nalgebra" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0811vksy1ls1m41gqkh1i5cy3h3g3b615kwxd8gjwkrg03jgybs6"))))
    (build-system cargo-build-system)
    (arguments
     `(;;TODO: fails to compile with "Please enable the `debug`, `compare`,
       ;;`rand` and `macros` features".
       #:tests? #f
       #:cargo-inputs
       (("rust-abomonation" ,rust-abomonation-0.7)
        ("rust-alga" ,rust-alga-0.9)
        ("rust-approx" ,rust-approx-0.5)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-glam" ,rust-glam-0.15)
        ("rust-glam" ,rust-glam-0.13)
        ("rust-glam" ,rust-glam-0.14)
        ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-nalgebra-macros" ,rust-nalgebra-macros-0.1)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-rational" ,rust-num-rational-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-distr" ,rust-rand-distr-0.4)
        ("rust-rkyv" ,rust-rkyv-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-simba" ,rust-simba-0.5)
        ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-matrixcompare" ,rust-matrixcompare-0.3)
        ("rust-rand-isaac" ,rust-rand-isaac-0.3)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-nalgebra-0.26
  (package
    (inherit rust-nalgebra-0.29)
    (name "rust-nalgebra")
    (version "0.26.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nalgebra" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "01hxksmgg17c4k2rzjx1h8kkjbw9rm81dsancg459zh2zrcisva7"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "Cargo.toml"
             ;; The resolver feature is not supported by our versions of Cargo.
             (("resolver = \"2\".*") ""))))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-abomonation" ,rust-abomonation-0.7)
         ("rust-alga" ,rust-alga-0.9)
         ("rust-approx" ,rust-approx-0.4)
         ("rust-bytemuck" ,rust-bytemuck-1)
         ("rust-glam" ,rust-glam-0.13)
         ("rust-matrixcompare-core" ,rust-matrixcompare-core-0.1)
         ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-complex" ,rust-num-complex-0.3)
         ("rust-num-rational" ,rust-num-rational-0.3)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-pest" ,rust-pest-2)
         ("rust-pest-derive" ,rust-pest-derive-2)
         ("rust-proptest" ,rust-proptest-1)
         ("rust-quickcheck" ,rust-quickcheck-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-rand-distr" ,rust-rand-distr-0.4)
         ("rust-serde" ,rust-serde-1)
         ("rust-simba" ,rust-simba-0.4)
         ("rust-typenum" ,rust-typenum-1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.2)
         ("rust-itertools" ,rust-itertools-0.10)
         ("rust-matrixcompare" ,rust-matrixcompare-0.2)
         ("rust-rand-isaac" ,rust-rand-isaac-0.3)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
         ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-nalgebra-0.21
  (package
    (name "rust-nalgebra")
    (version "0.21.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nalgebra" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "11ili22n4ffgcjbgvbjqmpbd67qrl2acqbpymg6z7d2h7my19dnn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags       ; Skip the doctests.
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-abomonation" ,rust-abomonation-0.7)
        ("rust-alga" ,rust-alga-0.9)
        ("rust-approx" ,rust-approx-0.3)
        ("rust-generic-array" ,rust-generic-array-0.13)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-rational" ,rust-num-rational-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rand-distr" ,rust-rand-distr-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-simba" ,rust-simba-0.1)
        ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-rand-isaac" ,rust-rand-isaac-0.2)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://nalgebra.org")
    (synopsis "Linear algebra library")
    (description
     "This package provides a linear algebra library with transformations and
statically-sized or dynamically-sized matrices.")
    (license license:bsd-3)))

(define-public rust-nalgebra-0.19
  (package
    (inherit rust-nalgebra-0.21)
    (name "rust-nalgebra")
    (version "0.19.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nalgebra" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0i87k57nav221lnr9z7ljlwxh8073qsx33bajdm146y00q805fqa"))))
    (arguments
     `(#:cargo-test-flags       ; Skip the doctests.
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-abomonation" ,rust-abomonation-0.7)
        ("rust-alga" ,rust-alga-0.9)
        ("rust-approx" ,rust-approx-0.3)
        ("rust-generic-array" ,rust-generic-array-0.13)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-rational" ,rust-num-rational-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rand-distr" ,rust-rand-distr-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-nalgebra-macros-0.2
  (package
    (name "rust-nalgebra-macros")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nalgebra-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "166rzbzi1hcyjfvwxmrdimrcmflvxxifjfkqxxkdjfnhcznilxli"))))
    (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))
       #:cargo-development-inputs
       (("rust-nalgebra" ,rust-nalgebra-0.32)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://nalgebra.org")
    (synopsis "Procedural macros for nalgebra")
    (description "This package provides procedural macros for the nalgebra
linear algebra library.")
    (license license:asl2.0)))

(define-public rust-nalgebra-macros-0.1
  (package
    (inherit rust-nalgebra-macros-0.2)
    (name "rust-nalgebra-macros")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nalgebra-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "063jvvvlwmzzxfr4wyiil2cn1yqj3arvghwsr2nk4ilv2jwc1z01"))))
    (arguments
     `(;; no function or associated item named `from_array_storage` found for struct
       ;; `Matrix` in the current scope
       #:tests? #f
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-nalgebra" ,rust-nalgebra-0.26)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-nanorand-0.7
  (package
    (name "rust-nanorand")
    (version "0.7.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nanorand" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1hr60b8zlfy7mxjcwx2wfmhpkx7vfr3v9x12shmv1c10b0y32lba"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-hex" ,rust-hex-0.4))))
    (home-page "https://github.com/Absolucy/nanorand-rs")
    (synopsis "Tiny, fast, zero-dep library for random number generation")
    (description
     "This library is meant for fast, random number generation with
quick compile time, and minimal dependencies.")
    (license license:zlib)))

(define-public rust-nanorand-0.5
  (package
    (inherit rust-nanorand-0.7)
    (name "rust-nanorand")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nanorand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ryi6jdfsfij4di33f269099g7m32rlr7sv7j4pklnjcj2xxfwri"))))
    (arguments
     `(#:skip-build? #true              ;error with pre-release randomize
       #:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fastrand" ,rust-fastrand-1)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-random-fast-rng" ,rust-random-fast-rng-0.1)
        ("rust-randomize" ,rust-randomize-4))))))

(define-public rust-nanorand-0.4
  (package
    (inherit rust-nanorand-0.5)
    (name "rust-nanorand")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nanorand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ifpjgir1a6lw64jkb6la5hb8j5jvqq70nmxgzjj0cjf13jd3kys"))))
    (arguments
     `(#:skip-build? #true              ;error with pre-release randomize
       #:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fastrand" ,rust-fastrand-1)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-random-fast-rng" ,rust-random-fast-rng-0.1)
        ("rust-randomize" ,rust-randomize-4))))))

(define-public rust-nanoserde-0.1
  (package
    (name "rust-nanoserde")
    (version "0.1.37")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nanoserde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "168vga2z8inldwahsjps2mi3m149p16dfnsjac1mmqmi9a2czsax"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.12)
                       ("rust-nanoserde-derive" ,rust-nanoserde-derive-0.1))))
    (home-page "https://github.com/not-fl3/nanoserde")
    (synopsis "Fork of makepad-tinyserde without any external dependencies")
    (description
     "This package provides Fork of makepad-tinyserde without any external
dependencies.  It supports json, binary and ron.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nanoserde-derive-0.1
  (package
    (name "rust-nanoserde-derive")
    (version "0.1.22")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nanoserde-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "011211f0flikd4sg4mylk9ivfhf7rn3hcl3qcvnf7drp2g1b4hz9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.12))))
    (home-page "https://github.com/not-fl3/nanoserde")
    (synopsis
     "Fork of makepad-tinyserde derive without any external dependencies")
    (description
     "This package provides a fork of makepad-tinyserde derive without any
external dependencies.")
    (license license:expat)))

(define-public rust-napi-2
  (package
    (name "rust-napi")
    (version "2.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "napi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lcj4k1q89bv75spssg202hkf98d0w8zpkgppd0w8p5qpkhrigzg"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   ;; Stats was removed from tokio-1 around tokio-1.33.0.
                   ((".*tokio_stats.*") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bitflags" ,rust-bitflags-2)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-ctor" ,rust-ctor-0.2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-napi-derive" ,rust-napi-derive-2)
        ("rust-napi-sys" ,rust-napi-sys-2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/napi-rs/napi-rs")
    (synopsis "N-API bindings")
    (description "This package provides N-API bindings.")
    (license license:expat)))

(define-public rust-napi-build-1
  (package
    (name "rust-napi-build")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "napi-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0asjspv0gkg6lgdz3d6gl9ab7hbc9z2hc51m637j6x3jfa8l3m7b"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (delete-file-recursively "src/libs")
                 ;; Don't try to read the removed files.
                 (substitute* "src/windows.rs"
                   (("include_bytes.*")
                    "unreachable!(),\n"))))))
    (build-system cargo-build-system)
    (home-page "https://github.com/napi-rs/napi-rs")
    (synopsis "N-API build support")
    (description "This package provides N-API build support.")
    (license license:expat)))

(define-public rust-napi-derive-2
  (package
    (name "rust-napi-derive")
    (version "2.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "napi-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "056mmgqhqc4gmpql3j49r69lzsfywvp70j6nrpdg52lnw3dz08kn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-convert-case" ,rust-convert-case-0.6)
        ("rust-napi-derive-backend" ,rust-napi-derive-backend-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/napi-rs/napi-rs")
    (synopsis "N-API procedural macros")
    (description "This package provides N-API procedural macros.")
    (license license:expat)))

(define-public rust-napi-derive-backend-1
  (package
    (name "rust-napi-derive-backend")
    (version "1.0.59")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "napi-derive-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17ld99dgsxxpbbi0k6xm1y2wpil9mj1zdrsmprcsj66fbzb19icf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-convert-case" ,rust-convert-case-0.6)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-semver" ,rust-semver-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://napi.rs")
    (synopsis "Codegen backend for napi procedural macro")
    (description "Codegen backend for napi procedural macro.")
    (license license:expat)))

(define-public rust-napi-sys-2
  (package
    (name "rust-napi-sys")
    (version "2.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "napi-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12vb35l0rimi4h2dixys6y6vacz9mwi8ppw892vkzj2dydmgl0r5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libloading" ,rust-libloading-0.8))))
    (home-page "https://github.com/napi-rs/napi-rs")
    (synopsis "NodeJS N-API raw binding")
    (description "This package provides a NodeJS N-API raw binding.")
    (license license:expat)))

(define-public rust-nasm-rs-0.3
  (package
    (name "rust-nasm-rs")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nasm-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nfrmnfvc1rcpghi14zbrdx3x5jr7gl2pv873pn440wyshdzmz0j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-jobserver" ,rust-jobserver-0.1))))
    (home-page "https://github.com/medek/nasm-rs")
    (synopsis "Run NASM during your Cargo build")
    (description "This package provides NASM during your Cargo build.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nasm-rs-0.2
  (package
    (inherit rust-nasm-rs-0.3)
    (name "rust-nasm-rs")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nasm-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lgc3gg32hj4pcbfp07vzwy013smdm27469fyy4rqgyil3x46vx7"))))
    (arguments
     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.5)
                       ("rust-rayon" ,rust-rayon-1))))))

(define-public rust-natord-1
  (package
    (name "rust-natord")
    (version "1.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "natord" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0z75spwag3ch20841pvfwhh3892i2z2sli4pzp1jgizbipdrd39h"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/lifthrasiir/rust-natord")
    (synopsis "Natural ordering for Rust")
    (description
     "This package provides a crate to perform natural ordering for Rust.")
    (license license:expat)))

(define-public rust-nb-connect-1
  (package
    (name "rust-nb-connect")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nb-connect" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05fadcyxaz0r8pbh498y24xay3b2gb73ih3fj7hwylggqq6m9fxi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-socket2" ,rust-socket2-0.4))
       #:cargo-development-inputs
       (("rust-polling" ,rust-polling-2))))
    (home-page "https://github.com/smol-rs/nb-connect")
    (synopsis "Non-blocking TCP or Unix connect")
    (description
     "This crate allows you to create a TcpStream or a UnixStream in
a non-blocking way, without waiting for the connection to become fully
established.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ndarray-0.16
  (package
    (name "rust-ndarray")
    (version "0.16.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndarray" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ha8sg5ad501pgkxw0wczh8myc2ma3gyxgcny4mq8rckrqnxfbl8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `ndarray_gen`
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-cblas-sys" ,rust-cblas-sys-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-portable-atomic" ,rust-portable-atomic-1)
        ("rust-portable-atomic-util" ,rust-portable-atomic-util-0.2)
        ("rust-rawpointer" ,rust-rawpointer-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5)
                                   ("rust-defmac" ,rust-defmac-0.2)
                                   ("rust-itertools" ,rust-itertools-0.13)
                                   ("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/rust-ndarray/ndarray")
    (synopsis "N-dimensional container for general elements and for numerics")
    (description
     "This package implements an n-dimensional array for general elements and
for numerics.  Lightweight array views and slicing; views support chunking and
splitting.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndarray-0.15
  (package
    (inherit rust-ndarray-0.16)
    (name "rust-ndarray")
    (version "0.15.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndarray" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cpsm28hyk8qfjs4g9649dprv3hm53z12qqwyyjqbi3yjr72vcdd"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-approx" ,rust-approx-0.5)
        ("rust-cblas-sys" ,rust-cblas-sys-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.3)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rawpointer" ,rust-rawpointer-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-defmac" ,rust-defmac-0.2)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-quickcheck" ,rust-quickcheck-1))))))

(define-public rust-ndarray-0.14
  (package
    (inherit rust-ndarray-0.15)
    (name "rust-ndarray")
    (version "0.14.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndarray" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "011wqzmrd9gpfcfvy1xfbskqfiahn96pmi2d0r9x34d682amq3bc"))
        (patches (search-patches "rust-ndarray-0.14-remove-blas-src.patch"))))
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-cblas-sys" ,rust-cblas-sys-0.1)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
        ("rust-num-complex" ,rust-num-complex-0.3)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rawpointer" ,rust-rawpointer-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-defmac" ,rust-defmac-0.2)
        ("rust-itertools" ,rust-itertools-0.9)
        ("rust-quickcheck" ,rust-quickcheck-0.9))))))

(define-public rust-ndarray-0.13
  (package
    (inherit rust-ndarray-0.15)
    (name "rust-ndarray")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndarray" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "02dbwj3b7d0cpy29nhw31n51h3cwm4s1q6narl7fwiigxh1xn1mc"))
       (patches
        (search-patches "rust-ndarray-0.13-remove-blas-src.patch"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-cblas-sys" ,rust-cblas-sys-0.1)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rawpointer" ,rust-rawpointer-0.2)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-defmac" ,rust-defmac-0.2)
        ("rust-itertools" ,rust-itertools-0.8)
        ("rust-quickcheck" ,rust-quickcheck-0.9))))))

(define-public rust-ndarray-0.12
  (package
    (inherit rust-ndarray-0.13)
    (name "rust-ndarray")
    (version "0.12.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ndarray" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0a5rfwcbqnvbwi3nw5sfz6kf0flhmjxs64s0b4kxc6lhmyl81wvw"))
        (patches (search-patches "rust-ndarray-remove-blas-src-dep.patch"))))
    (arguments
     `(#:cargo-inputs
       (("rust-itertools" ,rust-itertools-0.7)
        ("rust-matrixmultiply" ,rust-matrixmultiply-0.1)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-cblas-sys" ,rust-cblas-sys-0.1)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-defmac" ,rust-defmac-0.1)
        ("rust-quickcheck" ,rust-quickcheck-0.7)
        ("rust-rawpointer" ,rust-rawpointer-0.1))))))

(define-public rust-ndarray-npy-0.9
  (package
    (name "rust-ndarray-npy")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndarray-npy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1abqnbfn9xhq5q5nli78yip3wh2zq4gi7dnrm50r3i38qj43fcbv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-ndarray" ,rust-ndarray-0.16)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-py-literal" ,rust-py-literal-0.4)
        ("rust-zip" ,rust-zip-2))))
    (home-page "https://github.com/jturner314/ndarray-npy")
    (synopsis ".npy and .npz file format support for ndarray")
    (description
     "This package provides @file{.npy} and @file{.npz} file format support
for @code{ndarray}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndarray-rand-0.15
  (package
    (name "rust-ndarray-rand")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndarray-rand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n15dm0x9g6s69vwqgsfj2pdw5wlha6bv9pfrn6p356idzdv74zh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-ndarray" ,rust-ndarray-0.16)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rand-distr" ,rust-rand-distr-0.4))))
    (home-page "https://github.com/rust-ndarray/ndarray")
    (synopsis "Constructors for randomized arrays")
    (description
     "This package provides constructors for randomized arrays.  It provides
@{rand} integration for @{ndarray}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-0.9
  (package
    (name "rust-ndk")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m32zpmi5w1pf3j47k6k5fw395dc7aj8d0mdpsv53lqkprxjxx63"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; error: ndk-sys only supports compiling for Android
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-jni" ,rust-jni-0.21)
                       ("rust-jni-sys" ,rust-jni-sys-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ndk-sys" ,rust-ndk-sys-0.6)
                       ("rust-num-enum" ,rust-num-enum-0.7)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.6)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/rust-mobile/ndk")
    (synopsis "Safe Rust bindings to the Android NDK")
    (description
     "This package provides safe Rust bindings to the Android NDK.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-0.8
  (package
    (inherit rust-ndk-0.9)
    (name "rust-ndk")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dx5yyqh32bi161mipg4br4i33syjidw81qrq0w7mc8hf0ds6xi0"))))
    (arguments
     `(#:skip-build? #t     ; ndk-sys only supports compiling for Android
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-jni" ,rust-jni-0.21)
                       ("rust-jni-sys" ,rust-jni-sys-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ndk-sys" ,rust-ndk-sys-0.5)
                       ("rust-num-enum" ,rust-num-enum-0.7)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.6)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.4)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2))))))

(define-public rust-ndk-0.7
  (package
    (inherit rust-ndk-0.8)
    (name "rust-ndk")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "180sjpyf1ylqgqw4ni8jcg3kv96vvrddzamknp4730kiwjvj4525"))))
    (arguments
     `(#:skip-build? #true              ;XXX: Android only
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-jni" ,rust-jni-0.19)
        ("rust-jni-glue" ,rust-jni-glue-0.0.10)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-ndk-sys" ,rust-ndk-sys-0.4)
        ("rust-num-enum" ,rust-num-enum-0.5)
        ("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-ndk-0.6
  (package
    (inherit rust-ndk-0.7)
    (name "rust-ndk")
    (version "0.6.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ndk" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1m1dfjw35qpys1hr4qib6mm3zacd01k439l7cx5f7phd0dzcfci0"))))
    (arguments
     `(#:skip-build? #t     ; Android only
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-jni" ,rust-jni-0.18)
                       ("rust-jni-glue" ,rust-jni-glue-0.0.10)
                       ("rust-jni-sys" ,rust-jni-sys-0.3)
                       ("rust-ndk-sys" ,rust-ndk-sys-0.3)
                       ("rust-num-enum" ,rust-num-enum-0.5)
                       ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-ndk-0.5
  (package
    (inherit rust-ndk-0.7)
    (name "rust-ndk")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17b9imdmv6cffr12bdpvxw1myxdyvaf6jwkmd3w7abn7akv6in4n"))))
    (arguments
     `(#:skip-build? #true              ;XXX: Android only
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-jni" ,rust-jni-0.18)
        ("rust-jni-glue" ,rust-jni-glue-0.0.10)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-ndk-sys" ,rust-ndk-sys-0.2)
        ("rust-num-enum" ,rust-num-enum-0.5)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-ndk-0.2
  (package
    (inherit rust-ndk-0.5)
    (name "rust-ndk")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wvf4hy18lpfkr4bap846qv2cx1vdg3x0d4hcfba9l5yzv0ngcay"))))
    (arguments
     `(#:skip-build? #true              ;XXX: Android only
       #:cargo-inputs
       (("rust-jni" ,rust-jni-0.14)
        ("rust-jni-glue" ,rust-jni-glue-0.0.10)
        ("rust-jni-sys" ,rust-jni-sys-0.3)
        ("rust-ndk-sys" ,rust-ndk-sys-0.2)
        ("rust-num-enum" ,rust-num-enum-0.4)
        ("rust-thiserror" ,rust-thiserror-1))))))

(define-public rust-ndk-context-0.1
  (package
    (name "rust-ndk-context")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ndk-context" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "12sai3dqsblsvfd1l1zab0z6xsnlha3xsfl7kagdnmj3an3jvc17"))))
    (build-system cargo-build-system)
    (arguments
     '(#:tests? #f))                 ;TODO: requires many dependencies + setup
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Handles for accessing Android APIs")
    (description
     "This package provides handles for accessing Android APIs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-glue-0.7
  (package
    (name "rust-ndk-glue")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-glue" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zyniqkkrzx3l3akf87h7kq1fdrkgddiv8wcfsmhlpn1sayzld04"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ;XXX: Android only
       #:cargo-inputs (("rust-android-logger" ,rust-android-logger-0.11)
                       ("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-macro" ,rust-ndk-macro-0.3)
                       ("rust-ndk-sys" ,rust-ndk-sys-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-parking-lot" ,rust-parking-lot-0.12))))
    (home-page "https://github.com/rust-windowing/android-ndk-rs")
    (synopsis "Startup code for Android binaries")
    (description "This package provides startup code for Android binaries.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-glue-0.6
  (package
    (inherit rust-ndk-glue-0.7)
    (name "rust-ndk-glue")
    (version "0.6.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ndk-glue" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0pz6cdmmlzsb2jhrfvkma5d5vw2i331dlghqnkk2c0l6hdxll30d"))))
    (arguments
     (list #:skip-build? #t ;XXX: Android only
           #:cargo-inputs `(("rust-android-logger" ,rust-android-logger-0.10)
                            ("rust-lazy-static" ,rust-lazy-static-1)
                            ("rust-libc" ,rust-libc-0.2)
                            ("rust-log" ,rust-log-0.4)
                            ("rust-ndk" ,rust-ndk-0.6)
                            ("rust-ndk-context" ,rust-ndk-context-0.1)
                            ("rust-ndk-macro" ,rust-ndk-macro-0.3)
                            ("rust-ndk-sys" ,rust-ndk-sys-0.3))))))

(define-public rust-ndk-glue-0.5
  (package
    (inherit rust-ndk-glue-0.6)
    (name "rust-ndk-glue")
    (version "0.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ndk-glue" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1m44jh4f9sirs757ikc8sracg6dzw77h9l4bw9vm8s1dly7fw6y7"))))
    (arguments
     (list #:skip-build? #t ;XXX: Android only
           #:cargo-inputs `(("rust-android-logger" ,rust-android-logger-0.10)
                            ("rust-lazy-static" ,rust-lazy-static-1)
                            ("rust-libc" ,rust-libc-0.2)
                            ("rust-log" ,rust-log-0.4)
                            ("rust-ndk" ,rust-ndk-0.5)
                            ("rust-ndk-context" ,rust-ndk-context-0.1)
                            ("rust-ndk-macro" ,rust-ndk-macro-0.3)
                            ("rust-ndk-sys" ,rust-ndk-sys-0.2))))))

(define-public rust-ndk-glue-0.2
  (package
    (inherit rust-ndk-glue-0.5)
    (name "rust-ndk-glue")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-glue" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hajn6nsg6i3khi7yr2ayafpiznm5z3k5v64afqnz753nyw9kwxx"))))
    (arguments
     `(#:skip-build? #true              ;XXX: Android only
       #:cargo-inputs
       (("rust-android-logger" ,rust-android-logger-0.8)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-ndk" ,rust-ndk-0.2)
        ("rust-ndk-macro" ,rust-ndk-macro-0.2)
        ("rust-ndk-sys" ,rust-ndk-sys-0.2))))))

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

(define-public rust-ndk-macro-0.2
  (package
    (inherit rust-ndk-macro-0.3)
    (name "rust-ndk-macro")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07a8vjr4fpksssgp453bf82n73i4i17yj1lvbgvd0964glqcdl85"))))
    (arguments
     `(#:cargo-inputs
       (("rust-darling" ,rust-darling-0.10)
        ("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ndk-sys-0.6
  (package
    (name "rust-ndk-sys")
    (version "0.6.0+11769913")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wx8r6pji20if4xs04g73gxl98nmjrfc73z0v6w1ypv6a4qdlv7f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; error: ndk-sys only supports compiling for Android
       #:cargo-inputs (("rust-jni-sys" ,rust-jni-sys-0.3))))
    (home-page "https://github.com/rust-mobile/ndk")
    (synopsis "FFI bindings for the Android NDK")
    (description "This package provides FFI bindings for the Android NDK.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ndk-sys-0.5
  (package
    (inherit rust-ndk-sys-0.6)
    (name "rust-ndk-sys")
    (version "0.5.0+25.2.9519653")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14bnxww0f17xl8pyn6j5kpkl98snjl9lin8i7qv4zzb0vmlnf6cc"))))
    (arguments
     `(#:skip-build? #t ; ndk-sys only supports compiling for Android
       #:cargo-inputs (("rust-jni-sys" ,rust-jni-sys-0.3))))))

(define-public rust-ndk-sys-0.4
  (package
    (inherit rust-ndk-sys-0.5)
    (name "rust-ndk-sys")
    (version "0.4.1+23.1.7779620")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18z5xsnrnpq65aspavb8cg925m3scs8hb1b9a2n2q8xxb3lsmwiw"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-jni-sys" ,rust-jni-sys-0.3))))))

(define-public rust-ndk-sys-0.3
  (package
    (inherit rust-ndk-sys-0.4)
    (name "rust-ndk-sys")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ndk-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "15zsq4p6k5asf4mc0rknd8cz9wxrwvi50qdspgf87qcfgkknlnkf"))))))

(define-public rust-ndk-sys-0.2
  (package
    (inherit rust-ndk-sys-0.4)
    (name "rust-ndk-sys")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ndk-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08915adplysmvx0ha12if1v7zxzx82xgj3nnmiddkm8aq9sdvg71"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-needletail-0.4
  (package
    (name "rust-needletail")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "needletail" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1k535wlg0khac2gz3q84rlcqc5r89jyw73ww25vfgc04plzc9d3z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests" "--"
         "--skip=parser::fastq::test::test_bad_headers"
         "--skip=parser::fastq::test::test_fastq_with_random_tsv_inside")
       #:cargo-inputs
       (("rust-buf-redux" ,rust-buf-redux-0.8)
        ("rust-bytecount" ,rust-bytecount-0.6)
        ("rust-bzip2" ,rust-bzip2-0.4)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-pyo3" ,rust-pyo3-0.13)
        ("rust-xz2" ,rust-xz2-0.1))
       #:cargo-development-inputs
       (("rust-assert-cmd" ,rust-assert-cmd-1)
        ("rust-bio" ,rust-bio-0.33)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-escargot" ,rust-escargot-0.5)
        ("rust-predicates" ,rust-predicates-1)
        ("rust-seq-io" ,rust-seq-io-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-toml" ,rust-toml-0.5))))
    (inputs (list xz))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/onecodex/needletail")
    (synopsis "FASTX parsing and k-mer methods")
    (description "Needletail is a minimal-copying FASTA/FASTQ parser and k-mer
processing library for Rust.")
    (license license:expat)))

(define-public rust-neli-0.6
  (package
    (name "rust-neli")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "neli" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hzg86zg8rj14yklwm2r2yzg6w2wbnba8qfdpsrm0hb00sg2400i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-neli-proc-macros" ,rust-neli-proc-macros-0.1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/jbaublitz/neli")
    (synopsis "Type safe netlink library written in Rust")
    (description
     "This crate is a type safe netlink library written in Rust.")
    (license license:bsd-3)))

(define-public rust-neli-0.5
  (package
    (inherit rust-neli-0.6)
    (name "rust-neli")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "neli" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "020m4axf6dd05i9l3lyhspp71s5xcmlj1cfskh6y3dywnm75alwh"))))
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-simple-logger" ,rust-simple-logger-1)
                       ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-neli-0.4
  (package
    (inherit rust-neli-0.5)
    (name "rust-neli")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "neli" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lxnns9vfrsiwksscjgr7yvgpc5658lw07d745ir37r5pn19fpp8"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-buffering" ,rust-buffering-0.4)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-tokio" ,rust-tokio-0.1))))))

(define-public rust-neli-proc-macros-0.1
  (package
    (name "rust-neli-proc-macros")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "neli-proc-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m06j6vgy5zzr6dvnbpacpai6mgwwzd20h17hr3i67iv6x6ijs61"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-either" ,rust-either-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/jbaublitz/neli")
    (synopsis "Procedural macros for neli")
    (description "This crate provides procedural macros for neli.")
    (license license:bsd-3)))

(define-public rust-neli-wifi-0.6
  (package
    (name "rust-neli-wifi")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "neli-wifi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w5wkg8vzdzmsy8g1g5f65fxdnxxb9nbvfi47m9fjqnsrwr2584y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-neli" ,rust-neli-0.6)
                       ("rust-neli-proc-macros" ,rust-neli-proc-macros-0.1))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/MaxVerevkin/neli-wifi")
    (synopsis "Communicate with nl80211")
    (description "This package provides communication with nl80211.")
    (license license:expat)))

(define-public rust-neso-0.5
  (package
    (name "rust-neso")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "neso" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j78iyrv3r46n7jdayvgwarpq9iaikc7yhqqvdii226bzgg32g3b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
    (home-page "https://gitlab.com/jeffrey-xiao/neso-rs")
    (synopsis "Nintendo Entertainment System (NES) emulator")
    (description
     "NES Oxidized (NESO) is a Nintendo Entertainment System emulator written
in Rust that can compile to WebAssembly.")
    (license (list license:expat license:asl2.0))))

(define-public rust-net2-0.2
  (package
    (name "rust-net2")
    (version "0.2.38")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "net2" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0cf66y4415qc1i9sr0rrn9my5f1pgxzf3xllwsr309fdrycxzl3l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rust-lang-nursery/net2-rs")
    (synopsis "Extensions to the standard library's networking types")
    (description
     "This library contains extensions to the standard library's networking
types as proposed in RFC 1158.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-netlink-packet-audit-0.5
  (package
    (name "rust-netlink-packet-audit")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-audit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i2imw6qpdbafc7bczc7c92gx1pxvz2x0a41qdi20wn85y0589xg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
                       ("rust-netlink-proto" ,rust-netlink-proto-0.11))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/rust-netlink/netlink-packet-audit")
    (synopsis "Netlink packet types")
    (description "This package provides netlink packet types.")
    (license license:expat)))

(define-public rust-netlink-packet-core-0.7
  (package
    (name "rust-netlink-packet-core")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "197dh9c5570135kv5q770n2ih5prhsql58cd71xxcya4f2plywkj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Needs old netlink-packet-route for tests.
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5))))
    (home-page "https://github.com/rust-netlink/netlink-packet-core")
    (synopsis "Netlink packet types")
    (description "The @code{netlink-packet-core} is the glue for all the other
@code{netlink-packet-*} crates.  It provides a @code{NetlinkMessage<T>} type
that represent any netlink message for any sub-protocol.")
    (license license:expat)))

(define-public rust-netlink-packet-generic-0.3
  (package
    (name "rust-netlink-packet-generic")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-generic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12rhb95ayx63zb55mz8z5vc5lghk92s8bxmpiimlrj1isf5fpmqw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
        ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5))
       #:cargo-development-inputs (("rust-netlink-sys" ,rust-netlink-sys-0.8))))
    (home-page "https://github.com/rust-netlink/netlink-packet-generic")
    (synopsis "Generic netlink packet types")
    (description "Generic netlink packet types.")
    (license license:expat)))

(define-public rust-netlink-packet-route-0.21
  (package
    (name "rust-netlink-packet-route")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-route" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vh6qc3c87ihbwb7s1z7ik1i5f2fa1yhk3w52j96jrggpza2acs8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5))
       #:cargo-development-inputs
       (("rust-netlink-sys" ,rust-netlink-sys-0.8)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7))))
    (home-page "https://github.com/rust-netlink/netlink-packet-route")
    (synopsis "Netlink packet types")
    (description "The netlink-packet-route crate is designed to abstract
Netlink route protocol(rtnetlink) packet into Rust data types.  The goal of
this crate is saving netlink user from reading Kernel Netlink codes.")
    (license license:expat)))

(define-public rust-netlink-packet-route-0.19
  (package
    (inherit rust-netlink-packet-route-0.21)
    (name "rust-netlink-packet-route")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-route" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x4bjc97nq6ckvn25l8qysybf324jbinqx6s11vqrvmlfz6p3hbl"))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency tree
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5))
       #:cargo-development-inputs
       (("rust-netlink-sys" ,rust-netlink-sys-0.8)
        ;("rust-pcap-file" ,rust-pcap-file-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7))))))

(define-public rust-netlink-packet-route-0.18
  (package
    (inherit rust-netlink-packet-route-0.19)
    (name "rust-netlink-packet-route")
    (version "0.18.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-route" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i9z89dy3p2jbs5rclvc6yxly81a4qwynrhyqv3hazj5pgxcv76x"))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency tree
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5))
       #:cargo-development-inputs
       (("rust-netlink-sys" ,rust-netlink-sys-0.8)
        ;("rust-pcap-file" ,rust-pcap-file-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7))))))

(define-public rust-netlink-packet-utils-0.5
  (package
    (name "rust-netlink-packet-utils")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-packet-utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d3xfh9zg0x2hbmh8iws0dvhj69prpx54khfvmfakm8sqw48mphf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/rust-netlink/netlink-packet-utils")
    (synopsis "Macros and helpers for parsing netlink messages")
    (description "Macros and helpers for parsing netlink messages.")
    (license license:expat)))

(define-public rust-netlink-proto-0.11
  (package
    (name "rust-netlink-proto")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-proto" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "089zwrf5l30cwqgjlcy3k9x97nz6zixl914n6jnvys09vhj3bcw6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-sys" ,rust-netlink-sys-0.8)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-env-logger" ,rust-env-logger-0.8)
        ("rust-netlink-packet-audit" ,rust-netlink-packet-audit-0.5)
        ("rust-netlink-packet-route" ,rust-netlink-packet-route-0.18)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-netlink/netlink-proto")
    (synopsis "Async netlink protocol")
    (description "The @code{netlink-proto} crate is an asynchronous
implementation of the netlink protocol.")
    (license license:expat)))

(define-public rust-netlink-sys-0.8
  (package
    (name "rust-netlink-sys")
    (version "0.8.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netlink-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08xxx1ng7fxkvqrh81y95hni5mnir1ksg5xzj4vbj32rf2m07j8n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-async-io" ,rust-async-io-2)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-mio" ,rust-mio-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ;("rust-netlink-packet-audit" ,rust-netlink-packet-audit-0.4)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-netlink/netlink-sys")
    (synopsis "Netlink sockets, with optional integration with tokio")
    (description "The @code{netlink_sys} crate provides netlink sockets.
Integration with mio and tokio is optional.")
    (license license:expat)))

(define-public rust-netmap-sys-0.1
  (package
    (name "rust-netmap-sys")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "netmap_sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wgwjx2hdqbjvdpccqb0cg4gjxazgxfz8s966bq5g8z56xik95a5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "http://info.iet.unipi.it/~luigi/netmap/")
    (synopsis "Bindings to netmap")
    (description
     "This crate provides bindings to netmap, the fast packet I/O framework.")
    (license license:bsd-2)))

(define-public rust-new-debug-unreachable-1
  (package
    (name "rust-new-debug-unreachable")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "new_debug_unreachable" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0m1bg3wz3nvxdryg78x4i8hh9fys4wp2bi0zg821dhvf44v4g8p4"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page
     "https://github.com/mbrubeck/rust-debug-unreachable")
    (synopsis
     "Panic in debug, @code{intrinsics::unreachable()} in release")
    (description
     "Panic in debug, @code{intrinsics::unreachable()} in
release (fork of debug_unreachable)")
    (license license:expat)))

(define-public rust-new-string-template-1
  (package
    (name "rust-new-string-template")
    (version "1.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "new_string_template" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1svmx6a6qqz70mhrgz77bi9ifpnlpwpslqzvdbw557jc6d9ih3y5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/hasezoey/new_string_template")
    (synopsis "Customizable String-Templating Library for Rust")
    (description
     "This package provides a customizable string-templating library for Rust.")
    (license license:expat)))

;; Keep this package for future packaging of NewsFlash.
(define-public rust-news-flash-1
  (package
    (name "rust-news-flash")
    (version "1.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "news-flash" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0r3hz725kblxr6mhl8rkf2bffzmyya0ib3xr3jk5zm8x2jlpvlq6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ; FIXME: "error reading DNS system conf" from reqwest
       #:cargo-inputs
       (("rust-article-scraper" ,rust-article-scraper-1)
        ("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-base64" ,rust-base64-0.13)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-diesel" ,rust-diesel-1)
        ("rust-diesel-migrations"
         ,rust-diesel-migrations-1)
        ("rust-escaper" ,rust-escaper-0.1)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-feed-rs" ,rust-feed-rs-0.6)
        ("rust-feedbin-api" ,rust-feedbin-api-0.1)
        ("rust-feedly-api" ,rust-feedly-api-0.4)
        ("rust-fever-api" ,rust-fever-api-0.2)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-hmac" ,rust-hmac-0.11)
        ("rust-image" ,rust-image-0.23)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libxml" ,rust-libxml-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-magic-crypt" ,rust-magic-crypt-3)
        ("rust-mime" ,rust-mime-0.3)
        ("rust-mime-guess" ,rust-mime-guess-2)
        ("rust-miniflux-api" ,rust-miniflux-api-0.3)
        ("rust-newsblur-api" ,rust-newsblur-api-0.1)
        ("rust-obfstr" ,rust-obfstr-0.3)
        ("rust-opml" ,rust-opml-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-rust-embed" ,rust-rust-embed-5)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sha-1" ,rust-sha-1-0.9)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list libxml2 openssl sqlite))
    (home-page "https://gitlab.com/news-flash/news_flash")
    (synopsis "Base library for NewsFlash")
    (description "This package provides the base library for the NewsFlash
feed reader.")
    ;; No copyright headers in the source code.  LICENSE indicates gpl3.
    (license license:gpl3)))

(define-public rust-newsblur-api-0.1
  (package
    (name "rust-newsblur-api")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "newsblur_api" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lh5njrrk4fjc168npk1q3962dzsgmvz4fzvha46g9b83cf3jxzx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests use the network
       #:cargo-inputs
       (("rust-failure" ,rust-failure-0.1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-dotenv" ,rust-dotenv-0.15)
        ("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://gitlab.com/news-flash/newsblur_api/")
    (synopsis "Rust implementation of the NewsBlur API")
    (description
     "This package provides a Rust implementation of the NewsBlur API.")
    ;; No copyright headers in the source code.  LICENSE indicates gpl3.
    (license license:gpl3)))

(define-public rust-newtype-derive-0.1
  (package
    (name "rust-newtype-derive")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "newtype_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v3170xscs65gjx5vl1zjnqp86wngbzw3n2q74ibfnqqkx6x535c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rustc-version" ,rust-rustc-version-0.1))
       #:cargo-development-inputs
       (("rust-custom-derive" ,rust-custom-derive-0.1))))
    (home-page "https://github.com/DanielKeep/rust-custom-derive")
    (synopsis "Macros for deriving common traits for newtype structures")
    (description
     "This crate provides macros for deriving common traits for newtype
structures.")
    (license (list license:expat
                   license:asl2.0))))

(define-public rust-nftables-0.5
  (package
    (name "rust-nftables")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nftables" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mz6i4cm5qbc11zdrzghixvml2j9vxdf97nqjbkqc471kvg8hwkc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1)
                       ("rust-strum" ,rust-strum-0.26)
                       ("rust-strum-macros" ,rust-strum-macros-0.26)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-3))))
    (home-page "https://namib.me/")
    (synopsis "Safe abstraction for nftables JSON API")
    (description
     "Safe abstraction for nftables JSON API.  It can be used to create nftables
rulesets in Rust and parse existing nftables rulesets from JSON.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nibble-vec-0.1
  (package
    (name "rust-nibble-vec")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nibble_vec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hsdp3s724s30hkqz74ky6sqnadhp2xwcj1n1hzy4vzkz4yxi9bp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/michaelsproul/rust_nibble_vec")
    (synopsis "Vector data-structure for half-byte values")
    (description "NibbleVec is a data structure for storing a sequence of half-bytes.")
    (license license:expat)))

(define-public rust-nispor-1
  (package
    (name "rust-nispor")
    (version "1.2.21")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nispor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j8nw3i4cxgglizrkp8vcd1ghr1hd8rkclg56b3gc17zy0ml4g2l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests can't run in the build environment.
       #:cargo-inputs (("rust-ethtool" ,rust-ethtool-0.2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-mptcp-pm" ,rust-mptcp-pm-0.1)
                       ("rust-netlink-packet-route" ,rust-netlink-packet-route-0.19)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
                       ("rust-netlink-sys" ,rust-netlink-sys-0.8)
                       ("rust-rtnetlink" ,rust-rtnetlink-0.14)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-wl-nl80211" ,rust-wl-nl80211-0.2))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.9))))
    (home-page "https://github.com/nispor/nispor")
    (synopsis "Unified interface for Linux network state querying")
    (description "Unified interface for Linux network state querying.")
    (license license:asl2.0)))

(define-public rust-nitrokey-0.9
  (package
    (name "rust-nitrokey")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nitrokey" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0c8mj52ckvy1311vwxs6jpw16b2bihp5cc811isb96j9slcjvsyx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy_static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-nitrokey-sys" ,rust-nitrokey-sys-3)
        ("rust-rand_core" ,rust-rand-core-0.5))
       #:cargo-development-inputs
       (("rust-nitrokey-test" ,rust-nitrokey-test-0.3)
        ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1))))
    (inputs (list hidapi))
    (home-page "https://git.sr.ht/~ireas/nitrokey-rs")
    (synopsis "Rust bindings to libnitrokey")
    (description
     "This package provides bindings to libnitrokey for communication
with Nitrokey devices.")
    (license license:expat)))

(define-public rust-nitrokey-sys-3
  (package
    (name "rust-nitrokey-sys")
    (version "3.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nitrokey-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hcns32sclzf8xbdjg5iqndbn1b66l3j61zbgbl8ds8n6nind16q"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bindgen" ,rust-bindgen-0.55)
         ("rust-cc" ,rust-cc-1))))
    (inputs (list hidapi))
    (home-page "https://git.sr.ht/~ireas/nitrokey-sys-rs")
    (synopsis "Low-level Rust bindings for libnitrokey")
    (description
     "This package provides low-level bindings to libnitrokey for
communication with Nitrokey devices.")
    (license license:lgpl3)))

(define-public rust-nitrokey-test-0.5
  (package
    (name "rust-nitrokey-test")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nitrokey-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "197j9r2s4ydzbqfydza6v31mgcsgd29jpidz4psqawjdm49f8lg6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Wants an older version of rust-nitrokey.
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("quote" ,rust-quote-1)
        ("syn" ,rust-syn-1))))
    (home-page "https://github.com/d-e-s-o/nitrokey-test")
    (synopsis "Supporting test infrastructure for the nitrokey crate")
    (description
     "This package provides supporting test infrastructure for the
nitrokey crate and others using it.")
    (license license:gpl3+)))

(define-public rust-nitrokey-test-0.3
  (package
    (inherit rust-nitrokey-test-0.5)
    (name "rust-nitrokey-test")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nitrokey-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dzy0lfz2zwn7f1d126avig6risj78a4bvf3zdwjyldaxln0rnpk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-nitrokey" ,rust-nitrokey-0.9)
        ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1))))
    (inputs (list hidapi))))

(define-public rust-nitrokey-test-state-0.1
  (package
    (name "rust-nitrokey-test-state")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nitrokey-test-state" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "00w817kl8q3sna924pzl72ybqljny14rdv1ixlj288fmsqp776x5"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/d-e-s-o/nitrokey-test")
    (synopsis "State required and used by the nitrokey-test crate")
    (description "This package provides state required and used by the
nitrokey-test crate.")
    (license license:gpl3+)))

(define-public rust-nix-0.29
  (package
    (name "rust-nix")
    (version "0.29.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ikvn7s9r2lrfdm3mx1h7nbfjvcc6s9vxdzw7j5xfkd2qdnp9qki"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `nix::sys::aio`
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-cfg-aliases" ,rust-cfg-aliases-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memoffset" ,rust-memoffset-0.9)
                       ("rust-pin-utils" ,rust-pin-utils-0.1))
       #:cargo-development-inputs (("rust-assert-impl" ,rust-assert-impl-0.1)
                                   ("rust-caps" ,rust-caps-0.5)
                                   ("rust-parking-lot" ,rust-parking-lot-0.12)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-semver" ,rust-semver-1)
                                   ("rust-sysctl" ,rust-sysctl-0.4)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/nix-rust/nix")
    (synopsis "Rust friendly bindings to *nix APIs")
    (description
     "Nix seeks to provide friendly bindings to various *nix platform APIs.
The goal is to not provide a 100% unified interface, but to unify what can be
while still providing platform specific APIs.")
    (license license:expat)))

(define-public rust-nix-0.28
  (package
    (inherit rust-nix-0.29)
    (name "rust-nix")
    (version "0.28.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r0rylax4ycx3iqakwjvaa178jrrwiiwghcw95ndzy72zk25c8db"))))
    (arguments
     `(#:cargo-test-flags
       '("--all-features"
         "--"
         ; The following tests do not seem to terminate
         "--skip=test_unistd::test_execveat_empty::test_cstr_ref"
         "--skip=test_unistd::test_execveat_empty::test_cstring"
         "--skip=test_unistd::test_execveat_relative::test_cstr_ref"
         "--skip=test_unistd::test_execveat_relative::test_cstring"
         "--skip=test_unistd::test_fexecve::test_cstr_ref"
         "--skip=test_unistd::test_fexecve::test_cstring"
         ; The following tests are failing
         "--skip=test_unistd::test_execve::test_cstr_ref"
         "--skip=test_unistd::test_execve::test_cstring"
         "--skip=test_unistd::test_execveat_absolute::test_cstr_ref"
         "--skip=test_unistd::test_execveat_absolute::test_cstring"
         ; The following tests are panicking
         "--skip=sys::personality::set"
         "--skip=sys::socket::sendmsg"
         "--skip=unistd::Group::from_gid"
         "--skip=unistd::Group::from_name"
         "--skip=unistd::User::from_name"
         "--skip=unistd::User::from_uid")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-cfg-aliases" ,rust-cfg-aliases-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memoffset" ,rust-memoffset-0.9)
                       ("rust-pin-utils" ,rust-pin-utils-0.1))
       #:cargo-development-inputs (("rust-assert-impl" ,rust-assert-impl-0.1)
                                   ("rust-caps" ,rust-caps-0.5)
                                   ("rust-parking-lot" ,rust-parking-lot-0.12)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-semver" ,rust-semver-1)
                                   ("rust-sysctl" ,rust-sysctl-0.4)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.27
  (package
    (inherit rust-nix-0.28)
    (name "rust-nix")
    (version "0.27.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ly0kkmij5f0sqz35lx9czlbk6zpihb7yh1bsy4irzwfd2f4xc1f"))))
    (arguments
     `(#:tests? #f      ; unresolved import `nix::sys::aio`
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.9)
        ("rust-pin-utils" ,rust-pin-utils-0.1))
       #:cargo-development-inputs
       (("rust-assert-impl" ,rust-assert-impl-0.1)
        ("rust-caps" ,rust-caps-0.5)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-semver" ,rust-semver-1)
        ("rust-sysctl" ,rust-sysctl-0.4)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.26
  (package
    (inherit rust-nix-0.27)
    (name "rust-nix")
    (version "0.26.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06xgl4ybb8pvjrbmc3xggbgk3kbs1j0c4c0nzdfrmpbgrkrym2sr"))))
    (arguments
     (list #:cargo-test-flags
           `(list "--release" "--"
                  "--skip=sys::resource::test::test_self_cpu_time"
                  "--skip=test_unistd::test_execve::test_cstr_ref"
                  "--skip=test_unistd::test_execve::test_cstring"
                  "--skip=test_unistd::test_execveat_absolute::test_cstr_ref"
                  "--skip=test_unistd::test_execveat_absolute::test_cstring"
                  ;; Some of the tests hang.
                  "--skip=test_unistd::test_execveat_empty::test_cstr_ref"
                  "--skip=test_unistd::test_execveat_empty::test_cstring"
                  "--skip=test_unistd::test_execveat_relative::test_cstr_ref"
                  "--skip=test_unistd::test_execveat_relative::test_cstring"
                  "--skip=test_unistd::test_fexecve::test_cstr_ref"
                  "--skip=test_unistd::test_fexecve::test_cstring"
                  ;; Some doctests segfault.
                  "--skip=sys::personality::set"
                  "--skip=sys::socket::sendmsg"
                  "--skip=unistd::Group::from_gid"
                  "--skip=unistd::Group::from_name"
                  "--skip=unistd::User::from_name"
                  "--skip=unistd::User::from_uid")
           #:cargo-inputs
           `(("rust-bitflags" ,rust-bitflags-1)
             ("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-memoffset" ,rust-memoffset-0.7)
             ("rust-pin-utils" ,rust-pin-utils-0.1))
           #:cargo-development-inputs
           `(("rust-assert-impl" ,rust-assert-impl-0.1)
             ("rust-caps" ,rust-caps-0.5)
             ("rust-lazy-static" ,rust-lazy-static-1)
             ("rust-parking-lot" ,rust-parking-lot-0.12)
             ("rust-rand" ,rust-rand-0.8)
             ("rust-semver" ,rust-semver-1)
             ("rust-sysctl" ,rust-sysctl-0.4)
             ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.25
  (package
    (inherit rust-nix-0.26)
    (name "rust-nix")
    (version "0.25.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nix" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1r4vyp5g1lxzpig31bkrhxdf2bggb4nvk405x5gngzfvwxqgyipk"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.6)
        ("rust-pin-utils" ,rust-pin-utils-0.1))))))

(define-public rust-nix-0.24
  (package
    (inherit rust-nix-0.26)
    (name "rust-nix")
    (version "0.24.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sc0yzdl51b49bqd9l9cmimp1sw1hxb8iyv4d35ww6d7m5rfjlps"))))
    (arguments
     (list #:tests? #f      ; Test suite hangs.
           #:cargo-inputs
           `(("rust-bitflags" ,rust-bitflags-1)
             ("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-memoffset" ,rust-memoffset-0.6))
           #:cargo-development-inputs
           `(("rust-assert-impl" ,rust-assert-impl-0.1)
             ("rust-caps" ,rust-caps-0.5)
             ("rust-lazy-static" ,rust-lazy-static-1)
             ("rust-parking-lot" ,rust-parking-lot-0.11)
             ("rust-rand" ,rust-rand-0.8)
             ("rust-semver" ,rust-semver-1)
             ("rust-sysctl" ,rust-sysctl-0.1)
             ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.23
  (package
    (inherit rust-nix-0.24)
    (name "rust-nix")
    (version "0.23.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nix" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0p5kxhm5d8lry0szqbsllpcb5i3z7lg1dkglw0ni2l011b090dwg"))))
    (arguments
     (list #:cargo-test-flags
           `(list "--release" "--"
                  "--skip=test_unistd::test_execve::test_cstr_ref"
                  "--skip=test_unistd::test_execve::test_cstring"
                  "--skip=test_unistd::test_execveat_absolute::test_cstr_ref"
                  "--skip=test_unistd::test_execveat_absolute::test_cstring"
                  ;; Some of the tests hang.
                  "--skip=test_unistd::test_execveat_empty::test_cstr_ref"
                  "--skip=test_unistd::test_execveat_empty::test_cstring"
                  "--skip=test_unistd::test_execveat_relative::test_cstr_ref"
                  "--skip=test_unistd::test_execveat_relative::test_cstring"
                  "--skip=test_unistd::test_fexecve::test_cstr_ref"
                  "--skip=test_unistd::test_fexecve::test_cstring"
                  ;; Some doctests segfault.
                  "--skip=sys::personality::set"
                  "--skip=unistd::Group::from_gid"
                  "--skip=unistd::Group::from_name"
                  "--skip=unistd::User::from_name"
                  "--skip=unistd::User::from_uid")
           #:cargo-inputs
           `(("rust-bitflags" ,rust-bitflags-1)
             ("rust-cc" ,rust-cc-1)
             ("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-memoffset" ,rust-memoffset-0.6))
           #:cargo-development-inputs
           `(("rust-assert-impl" ,rust-assert-impl-0.1)
             ("rust-caps" ,rust-caps-0.5)
             ("rust-lazy-static" ,rust-lazy-static-1)
             ("rust-parking-lot" ,rust-parking-lot-0.11)
             ("rust-rand" ,rust-rand-0.8)
             ("rust-semver" ,rust-semver-1)
             ("rust-sysctl" ,rust-sysctl-0.1)
             ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.22
  (package
    (inherit rust-nix-0.23)
    (name "rust-nix")
    (version "0.22.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bsgc8vjq07a1wg9vz819bva3dvn58an4r87h80dxrfqkqanz4g4"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_unistd::test_execve::test_cstr_ref"
         "--skip=test_unistd::test_execve::test_cstring"
         "--skip=test_unistd::test_execveat_absolute::test_cstr_ref"
         "--skip=test_unistd::test_execveat_absolute::test_cstring"
         ;; Some of the tests hang.
         "--skip=sys::test_socket::test_af_alg_aead"
         "--skip=test_unistd::test_execveat_empty::test_cstr_ref"
         "--skip=test_unistd::test_execveat_empty::test_cstring"
         "--skip=test_unistd::test_execveat_relative::test_cstr_ref"
         "--skip=test_unistd::test_execveat_relative::test_cstring"
         "--skip=test_unistd::test_fexecve::test_cstr_ref"
         "--skip=test_unistd::test_fexecve::test_cstring"
         ;; cannot find macro `libc_bitflags` in this scope
         "--skip=macros::libc_bitflags"
         "--skip=macros::libc_enum"
         ;; Some doctests segfault.
         "--skip=sys::personality::set"
         "--skip=unistd::Group::from_gid"
         "--skip=unistd::Group::from_name"
         "--skip=unistd::User::from_name"
         "--skip=unistd::User::from_uid")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.6))
       #:cargo-development-inputs
       (("rust-assert-impl" ,rust-assert-impl-0.1)
        ("rust-caps" ,rust-caps-0.5)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-semver" ,rust-semver-1)
        ("rust-sysctl" ,rust-sysctl-0.1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.21
  (package
    (inherit rust-nix-0.22)
    (name "rust-nix")
    (version "0.21.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1iqj1mvf15bja6i3kmsfrmmg5jwd02pxsg1v2ld69q583r9g7nbp"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_unistd::test_execve::test_cstr_ref"
         "--skip=test_unistd::test_execve::test_cstring"
         "--skip=test_unistd::test_execveat_absolute::test_cstr_ref"
         "--skip=test_unistd::test_execveat_absolute::test_cstring"
         ;; Some of the tests hang.
         "--skip=sys::test_socket::test_af_alg_aead"
         "--skip=test_unistd::test_execveat_empty::test_cstr_ref"
         "--skip=test_unistd::test_execveat_empty::test_cstring"
         "--skip=test_unistd::test_execveat_relative::test_cstr_ref"
         "--skip=test_unistd::test_execveat_relative::test_cstring"
         "--skip=test_unistd::test_fexecve::test_cstr_ref"
         "--skip=test_unistd::test_fexecve::test_cstring"
         ;; cannot find macro `libc_bitflags` in this scope
         "--skip=macros::libc_bitflags"
         "--skip=macros::libc_enum"
         ;; Some doctests segfault.
         "--skip=sys::personality::set"
         "--skip=unistd::Group::from_gid"
         "--skip=unistd::Group::from_name"
         "--skip=unistd::User::from_name"
         "--skip=unistd::User::from_uid")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1.2)    ; Not a newer version.
        ("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.6))
       #:cargo-development-inputs
       (("rust-assert-impl" ,rust-assert-impl-0.1)
        ("rust-caps" ,rust-caps-0.5)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-semver" ,rust-semver-1)
        ("rust-sysctl" ,rust-sysctl-0.1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.20
  (package
    (inherit rust-nix-0.21)
    (name "rust-nix")
    (version "0.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ia96wf568sksplpcxzzf2m5jj974sri93469vpnh5b1zcln3q7m"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_unistd::test_execve::test_cstr_ref"
         "--skip=test_unistd::test_execve::test_cstring"
         "--skip=test_unistd::test_execveat_absolute::test_cstr_ref"
         "--skip=test_unistd::test_execveat_absolute::test_cstring"
         "--skip=sys::test_aio::test_liocb_listio_nowait"
         "--skip=sys::test_aio::test_liocb_listio_signal"
         "--skip=sys::test_aio::test_liocb_listio_wait"
         "--skip=sys::test_aio::test_write_sigev_signal"
         "--skip=sys::test_select::test_pselect"
         "--skip=sys::test_signal::test_old_sigaction_flags"
         "--skip=sys::test_signal::test_signal"
         "--skip=sys::test_signal::test_signal_sigaction"
         "--skip=sys::test_signal::test_sigprocmask"
         "--skip=sys::test_signalfd::test_signalfd"
         "--skip=test_unistd::test_alarm"
         "--skip=test_unistd::test_canceling_alarm"
         ;; Some of the tests hang.
         "--skip=sys::test_socket::test_af_alg_aead"
         "--skip=test_unistd::test_execveat_empty::test_cstr_ref"
         "--skip=test_unistd::test_execveat_empty::test_cstring"
         "--skip=test_unistd::test_execveat_relative::test_cstr_ref"
         "--skip=test_unistd::test_execveat_relative::test_cstring"
         "--skip=test_unistd::test_fexecve::test_cstr_ref"
         "--skip=test_unistd::test_fexecve::test_cstring"
         ;; cannot find macro `libc_bitflags` in this scope
         "--skip=macros::libc_bitflags"
         "--skip=macros::libc_enum"
         ;; Some doctests segfault.
         "--skip=sys::aio::LioCb<'a>::listio"
         "--skip=sys::aio::aio_suspend"
         "--skip=sys::personality::set"
         "--skip=unistd::Group::from_gid"
         "--skip=unistd::Group::from_name"
         "--skip=unistd::User::from_name"
         "--skip=unistd::User::from_uid")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1.2)    ; Not a newer version.
        ("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.6))
       #:cargo-development-inputs (("rust-bytes" ,rust-bytes-0.4)
                                   ("rust-caps" ,rust-caps-0.5)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-rand" ,rust-rand-0.6)
                                   ("rust-semver" ,rust-semver-0.9)
                                   ("rust-sysctl" ,rust-sysctl-0.1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.19
  (package
    (inherit rust-nix-0.20)
    (name "rust-nix")
    (version "0.19.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wk1pmaf9pv84sc4jf19gm1as2yq3ydwcx0n5nc1bpsgzq6bmk5j"))))
    (arguments
     `(#:tests? #f                      ; test suite hangs
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-caps" ,rust-caps-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-semver" ,rust-semver-0.9)
        ("rust-sysctl" ,rust-sysctl-0.1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.18
  (package
    (inherit rust-nix-0.19)
    (name "rust-nix")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m8h9bskjjqx9sk687z8bxqg2kpwhdh78jq6zfaxsb8llvk0yic3"))))
    (arguments
     `(#:tests? #f                      ; test suite hangs
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-caps" ,rust-caps-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-semver" ,rust-semver-0.9)
        ("rust-sysctl" ,rust-sysctl-0.1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.15
  (package
    (inherit rust-nix-0.27)
    (name "rust-nix")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0aa2l7wg9pzx24ks4p97gdy09a4hhs1sr9drxnm75v906d7hnbiv"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Unpin the dependency on tempfile, as it was withheld for MSRV
           ;; concerns, which don't matter for Guix:
           ;; https://github.com/nix-rust/nix/commit/98531c8f04bc23fb632c08e06dc4e56284b9c027
           (substitute* "Cargo.toml"
             (("version = \">= 3.0.5, < 3.0.9\"") "version = \"3.0.5\""))
           #t))))
    (arguments
     `(#:tests? #f                      ; test suite hangs
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-void" ,rust-void-1))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-caps" ,rust-caps-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-sysctl" ,rust-sysctl-0.1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-nix-0.14
  (package
    (inherit rust-nix-0.15)
    (name "rust-nix")
    (version "0.14.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nix" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kmxdlmvnmq8cfpmr3g6wk37rwi2ybdvp1z6z3831m1p23p2nwkc"))))))

(define-public rust-nl80211-0.0.2
  (package
    (name "rust-nl80211")
    (version "0.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nl80211" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jgx12qy0a004sc4qpr3ahgn9gma3rln9gsxiq4cdw6dd8h4dmx0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-buffering" ,rust-buffering-0.3)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-neli" ,rust-neli-0.4))))
    (home-page "https://github.com/Eonm/nl80211")
    (synopsis "Send commands to nl80211 and receive messages")
    (description
     "This crate provides a low level access to nl80211.  It can send commands
to nl80211 and receive messages.")
    (license license:expat)))

(define-public rust-no-color-0.1
  (package
    (name "rust-no-color")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "no_color" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1m0x6i5q1jav2jgajkg4irrkfgv4lakpdvmj310b90wswdyy9xdx"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/sitkevij/no_color")
    (synopsis "Library to detect NO_COLOR environment variable")
    (description
"@code{no_color} is a rust library for detecting if the @code{NO_COLOR}
environment variable is set.")
    (license license:expat)))

(define-public rust-no-panic-0.1
  (package
    (name "rust-no-panic")
    (version "0.1.33")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "no-panic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1s4p4r6p6gv3fy2dm1cx19hmnxc9szvb5x3f51wn0i7ycrjahzcg"))))
    (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-rustversion" ,rust-rustversion-1)
        ("rust-scratch" ,rust-scratch-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/no-panic")
    (synopsis "Prove a function can't ever panic")
    (description
     "This package provides a rust attribute macro to require that the compiler
prove a function can't ever panic.")
    (license (list license:expat license:asl2.0))))

(define-public rust-no-std-compat-0.4
  (package
    (name "rust-no-std-compat")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "no-std-compat" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "132vrf710zsdp40yp1z3kgc2ss8pi0z4gmihsz3y7hl4dpd56f5r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-hashbrown" ,rust-hashbrown-0.8)
        ("rust-spin" ,rust-spin-0.5))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://gitlab.com/jD91mZM2/no-std-compat")
    (synopsis "No_std compatibility layer")
    (description
     "This package provides a @code{#![no_std]} compatibility layer that will
make porting your crate to no_std *easy*.")
    (license license:expat)))

(define-public rust-no-std-net-0.6
  (package
    (name "rust-no-std-net")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "no-std-net" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ravflgyh0q2142gjdz9iav5yqci3ga7gbnk4mmfcnqkrq54lya3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/dunmatt/no-std-net")
    (synopsis "Rust's @code{std::net} without the @code{std}")
    (description "This package provides Rust's @code{std::net} in an environment
without @code{std}.")
    (license license:expat)))

(define-public rust-no-std-net-0.5
  (package
    (inherit rust-no-std-net-0.6)
    (name "rust-no-std-net")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "no-std-net" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0lkilh0wc7big3m5lsn9wqiz2xvj21kgmpbc15z92j93n51wxkhv"))))))

(define-public rust-nodrop-0.1
  (package
    (name "rust-nodrop")
    (version "0.1.14")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nodrop" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1fz1v9r8ijacf0hlq0pdv5l9mz8vgqg1snmhvpjmi9aci1b4mvvj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nodrop-union" ,rust-nodrop-union-0.1))))
    (home-page "https://github.com/bluss/arrayvec")
    (synopsis "Wrapper type to inhibit drop (destructor)")
    (description "This package provides a wrapper type to inhibit drop
(destructor).  Use @code{std::mem::ManuallyDrop} instead!")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-nodrop-union-0.1
  (package
    (name "rust-nodrop-union")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "nodrop-union" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1h59pph19rxanyqcaid8pg73s7wmzdx3zhjv5snlim5qx606zxkc"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))   ; depends on features not in stable Rust
    (home-page "https://github.com/bluss/arrayvec")
    (synopsis "Wrapper type to inhibit drop (destructor)")
    (description "This package provides a wrapper type to inhibit drop
(destructor).  Implementation crate for @code{nodrop}, the untagged unions
implementation (which is unstable / requires nightly).")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-nom-7
  (package
    (name "rust-nom")
    (version "7.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jha9901wxam390jcf5pfa0qqfrgh8li787jx2ip0yk5b8y9hwyj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Tests require example directory, not included in tarball.
       #:cargo-inputs
       (("rust-memchr" ,rust-memchr-2)
        ("rust-minimal-lexical" ,rust-minimal-lexical-0.2))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/Geal/nom")
    (synopsis "Byte-oriented, zero-copy, parser combinators library")
    (description "This package provides a byte-oriented, zero-copy, parser
combinators library.")
    (license license:expat)))

(define-public rust-nom-6
  (package
    (inherit rust-nom-7)
    (name "rust-nom")
    (version "6.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i0dmnj7wfdskwjhcf2pn4c9rw4x8as8pdlnc5683mc4gijsk9y6"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Allow any version of memchr 2.
           (substitute* "Cargo.toml"
             ((">=2.0, <2.4") "2.0"))))))
    (arguments
     `(#:tests? #f  ; Tests require example directory, not included in tarball.
       #:cargo-inputs
       (("rust-bitvec" ,rust-bitvec-0.19)
        ("rust-funty" ,rust-funty-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lexical-core" ,rust-lexical-core-0.7)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-jemallocator" ,rust-jemallocator-0.3))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
             #t)))))
    (native-inputs (list jemalloc))))

(define-public rust-nom-5
  (package
    (inherit rust-nom-6)
    (name "rust-nom")
    (version "5.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jyxc4d3pih60pp8hvzpg5ajh16s273cpnsdpzp04qv7g8w9m588"))))
    (arguments
     `(#:tests? #f  ; Tests require example directory, not included in tarball.
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lexical-core" ,rust-lexical-core-0.7)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-jemallocator" ,rust-jemallocator-0.1))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))))

(define-public rust-nom-4
  (package
    (inherit rust-nom-5)
    (name "rust-nom")
    (version "4.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex" ,rust-regex-1)
        ("rust-version-check" ,rust-version-check-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-jemallocator" ,rust-jemallocator-0.1))))))

(define-public rust-nom-3
  (package
    (inherit rust-nom-4)
    (name "rust-nom")
    (version "3.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0yr8fazcspgawl6s7wmx5llz61s68jl88cnrph18fa7xf06cbbh5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; stream::tests::seeking_consumer fails
       #:cargo-inputs
       (("rust-compiler-error" ,rust-compiler-error-0.1)
        ("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-memchr" ,rust-memchr-1)
        ("rust-regex" ,rust-regex-0.2))))))

(define-public rust-nom-2
  (package
    (inherit rust-nom-4)
    (name "rust-nom")
    (version "2.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zv6ig7nw532rl4p35jsahglfhyyznjkblwa6si6c0plxhlsflfg"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" ; Cannot find file for tests.
         "--skip=stream::tests::seeking_consumer"
         "--skip=big_bunny_test"
         "--skip=small_test")
       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-0.2)
                       ("rust-regex" ,rust-regex-0.2))))))

(define-public rust-nom-derive-0.10
  (package
    (name "rust-nom-derive")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom-derive" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "19vrbhkn47zw5sks17ril7aryzx0ixg62n0ddrxbil48igb47y8z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nom" ,rust-nom-7)
        ("rust-nom-derive-impl" ,rust-nom-derive-impl-0.10)
        ("rust-rustversion" ,rust-rustversion-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/rust-bakery/nom-derive")
    (synopsis "Custom derive nom parsers from struct")
    (description "This package derives custom nom parsers from structs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nom-derive-impl-0.10
  (package
    (name "rust-nom-derive-impl")
    (version "0.10.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nom-derive-impl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0qnsvvg74wdpzhbkxrndr7x6vb1kvhrd60hfwz1kw3abm29rl2yd"))))
    (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/rust-bakery/nom-derive")
    (synopsis "Custom derive nom parsers from struct")
    (description "This package provides custom derive nom parsers from structs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nom-locate-4
  (package
    (name "rust-nom-locate")
    (version "4.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nom_locate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wx87c2pm84h63rb4rsjrqzgx574x1zy93av1jk3swdhag086g0y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-memchr" ,rust-memchr-1)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/fflorent/nom_locate")
    (synopsis "Special input type for @code{nom} to locate tokens")
    (description
     "This package provides a special input type for @code{nom} to locate
tokens.")
    (license license:expat)))

(define-public rust-nom8-0.2
  (package
    (name "rust-nom8")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nom8" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1y6jzabxyrl05vxnh63r66ac2fh0symg5fnynxm4ii3zkif580df"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all files included.
       #:cargo-inputs
       (("rust-memchr" ,rust-memchr-2))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/epage/nom-experimental")
    (synopsis "Byte-oriented, zero-copy, parser combinators library")
    (description "This package provides a byte-oriented, zero-copy, parser
combinators library (fork for proposals for v8)")
    (license license:expat)))

(define-public rust-nonempty-0.7
  (package
    (name "rust-nonempty")
    (version "0.7.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "nonempty" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1xynyd2mgjfc4lcishd6xky7cmkxgy4d7rawxfx6wpiq37kr3rg9"))))
    (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/cloudhead/nonempty")
    (synopsis "Correct by construction non-empty vector")
    (description "Correct by construction non-empty vector.")
    (license license:expat)))

(define-public rust-nonmax-0.5
  (package
    (name "rust-nonmax")
    (version "0.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nonmax" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lfvyfz4falgmc9g1cbfi2wkys9wka2nfmdyga87zikf636ml2k1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bindcode" ,rust-bincode-1))))
    (home-page "https://github.com/LPGhatguy/nonmax")
    (synopsis "Numeric types that cannot hold maximum values")
    (description
     "This package provides numeric types that cannot hold maximum values.")
    (license (list license:expat license:asl2.0))))

(define-public rust-noop-proc-macro-0.3
  (package
    (name "rust-noop-proc-macro")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "noop_proc_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j2v1c6ric4w9v12h34jghzmngcwmn0hll1ywly4h6lcm4rbnxh6"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/lu-zero/noop_proc_macro")
    (synopsis "No-op procedural macro, literally does nothing")
    (description
     "This package provides a no-op procedural macro, which literally does
nothing.")
    (license license:expat)))

(define-public rust-normalize-line-endings-0.3
  (package
    (name "rust-normalize-line-endings")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "normalize-line-endings" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1gp52dfn2glz26a352zra8h04351icf0fkqzw1shkwrgh1vpz031"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/derekdreery/normalize-line-endings")
    (synopsis
     "Iterate over chars and returns a new iterator with all line endings")
    (description
     "This package takes an iterator over characters and returns a new iterator
with all line endings.")
    (license license:asl2.0)))

(define-public rust-normalize-line-endings-0.2
  (package
    (inherit rust-normalize-line-endings-0.3)
    (name "rust-normalize-line-endings")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "normalize-line-endings" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1a1knz9j1w5a1pl2q6whmjphm3z6p64r5njnam7syp5rx8wil2if"))))))

(define-public rust-normalize-path-0.2
  (package
    (name "rust-normalize-path")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "normalize-path" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bc919zp34b9312wqd92jbi3xa9gxljxh8nfw7v6sk7znb98shzm"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/cargo-bins/cargo-binstall")
    (synopsis "Like canonicalize, but without performing I/O")
    (description "This package provides a rust function like canonicalize, but
without performing I/O.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-normpath-1
  (package
    (name "rust-normpath")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "normpath" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1xcpznc827hwn3rjrckyv574ddmz68r0gpvfbmpih9ijd45ccq7c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-print-bytes" ,rust-print-bytes-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-uniquote" ,rust-uniquote-3)
        ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/dylni/normpath")
    (synopsis "More reliable path manipulation")
    (description "This package provides more reliable path manipulation in rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-normpath-0.3
  (package
    (inherit rust-normpath-1)
    (name "rust-normpath")
    (version "0.3.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "normpath" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1bxwffmqqhic8rfb711009w9hsprrpm5jca2q0y8igqgrglzbah4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-print-bytes" ,rust-print-bytes-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-normpath-0.2
  (package
    (inherit rust-normpath-1)
    (name "rust-normpath")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "normpath" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y354v327vbcxap7ag88j81y4zifzhnjgxvn7l1s2d9cjb4si79a"))))
    (arguments
     `(#:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-notify-6
  (package
    (name "rust-notify")
    (version "6.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "notify" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bad98r0ilkhhq2jg3zs11zcqasgbvxia8224wpasm74n65vs1b2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-fsevent-sys" ,rust-fsevent-sys-4)
                       ("rust-inotify" ,rust-inotify-0.9)
                       ("rust-kqueue" ,rust-kqueue-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-mio" ,rust-mio-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs (("rust-nix" ,rust-nix-0.23)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/notify-rs/notify")
    (synopsis "Cross-platform filesystem notification library")
    (description "This package contains a cross-platform filesystem
notification library.")
    (license license:cc0)))

(define-public rust-notify-5
  (package
    (inherit rust-notify-6)
    (name "rust-notify")
    (version "5.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "notify" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1a8vxbyh3aghyyvg76x4zzdwhr0d9p20x706vf7y81lalq58bsjq"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-fsevent-sys" ,rust-fsevent-sys-4)
        ("rust-inotify" ,rust-inotify-0.9)
        ("rust-kqueue" ,rust-kqueue-1)
        ("rust-kqueue" ,rust-kqueue-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-windows-sys" ,rust-windows-sys-0.42))
       #:cargo-development-inputs
       (("rust-nix" ,rust-nix-0.23)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (license (list license:cc0 license:artistic2.0))))

(define-public rust-notify-4
  (package
    (inherit rust-notify-5)
    (name "rust-notify")
    (version "4.0.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "notify" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0msjyj1l30l12v6q9mjc1ascx7dwyz7z07sp7v9bz9yvag4ch0xf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-fsevent" ,rust-fsevent-0.4)
        ("rust-fsevent-sys" ,rust-fsevent-sys-2)
        ("rust-inotify" ,rust-inotify-0.7)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-extras" ,rust-mio-extras-2)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (license license:cc0)))

(define-public rust-notify-debouncer-full-0.3
  (package
    (name "rust-notify-debouncer-full")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "notify-debouncer-full" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m31ad5wv0lhrncn6qqk4zmryf0fl9h1j9kzrx89p2rlkjsxmxa9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-file-id" ,rust-file-id-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-notify" ,rust-notify-6)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs
       (("rust-deser-hjson" ,rust-deser-hjson-1)
        ("rust-mock-instant" ,rust-mock-instant-0.3)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.17)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/notify-rs/notify")
    (synopsis "Notify event debouncer optimized for ease of use")
    (description
     "This package provides a notify event debouncer optimized for ease of use.")
    (license (list license:expat license:asl2.0))))

(define-public rust-notify-debouncer-mini-0.4
  (package
    (name "rust-notify-debouncer-mini")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "notify-debouncer-mini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hwxdbzyx01pzwyld1dk7sc7ak5k3xkjz2l59ppwa7rajwhv4h2x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-notify" ,rust-notify-6)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/notify-rs/notify")
    (synopsis "Notify mini debouncer")
    (description "This crate is notify mini debouncer for events.")
    (license (list license:expat license:asl2.0))))

(define-public rust-notify-rust-4
  (package
    (name "rust-notify-rust")
    (version "4.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "notify-rust" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18ykiijr0c452hxlpvciac0wqvsan4dfh08vz2zpicbhqlnsfd2i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Missing test files
                            "--skip=realworld::burst"
                            "--skip=realworld::capabilities"
                            "--skip=realworld::category"
                            "--skip=realworld::closing"
                            "--skip=realworld::init"
                            "--skip=realworld::persistent"
                            "--skip=realworld::urgency")
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-dbus" ,rust-dbus-0.9)
        ("rust-env-logger" ,rust-env-logger-0.11)
        ("rust-image" ,rust-image-0.25)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-mac-notification-sys" ,rust-mac-notification-sys-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-tauri-winrt-notification" ,rust-tauri-winrt-notification-0.2)
        ("rust-zbus" ,rust-zbus-4))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-color-backtrace" ,rust-color-backtrace-0.6)
        ("rust-ctor" ,rust-ctor-0.2)
        ("rust-maplit" ,rust-maplit-1))))
    (home-page "https://github.com/hoodie/notify-rust")
    (synopsis "Show desktop notifications (linux, bsd, mac). Pure Rust dbus
client and server")
    (description
     "This package provides Show desktop notifications (linux, bsd, mac).  Pure
Rust dbus client and server.")
    (license (list license:expat license:asl2.0))))

(define-public rust-notmuch-0.8
  (package
    (name "rust-notmuch")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "notmuch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i6xc7lv10m2sq6vlpjr5wxmlxihvd0v4f5if75r2kwz8ji12pg2"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   ;; Use a newer maildir.
                   (("version = \"0.3.2\"") "version = \"0.5.0\""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-from-variants" ,rust-from-variants-0.6)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-dirs" ,rust-dirs-1)
        ("rust-gethostname" ,rust-gethostname-0.2)
        ("rust-lettre" ,rust-lettre-0.9)
        ("rust-lettre-email" ,rust-lettre-email-0.9)
        ("rust-maildir" ,rust-maildir-0.5)
        ("rust-tempfile" ,rust-tempfile-3))))
    (native-inputs (list pkg-config))
    (inputs (list openssl notmuch))
    (home-page "https://github.com/vhdirk/notmuch-rs")
    (synopsis "Rust interface and bindings for Notmuch")
    (description
     "This crate provides a Rust interface and bindings for Notmuch.")
    (license license:gpl3+)))

(define-public rust-now-0.1
  (package
    (name "rust-now")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "now" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l135786rb43rjfhwfdj7hi3b5zxxyl9gwf15yjz18cp8f3yk2bd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4))
       #:cargo-development-inputs (("rust-cargo-husky" ,rust-cargo-husky-1)
                                   ("rust-criterion" ,rust-criterion-0.4))))
    (home-page "https://github.com/Kilerd/now")
    (synopsis "Time toolkit for chrono")
    (description "This package provides a time toolkit for chrono.")
    (license license:expat)))

(define-public rust-ntapi-0.4
  (package
    (name "rust-ntapi")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ntapi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1r38zhbwdvkis2mzs6671cm1p6djgsl49i7bwxzrvhwicdf8k8z8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/MSxDOS/ntapi")
    (synopsis "FFI bindings for Native API")
    (description "FFI bindings for Native API")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ntapi-0.3
  (package
    (inherit rust-ntapi-0.4)
    (name "rust-ntapi")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntapi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i5daj9sr8wyi5jkpwpybln2jqpn59z0mqfc0dpdidipwh1bjsrz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-ntest-0.9
  (package
    (name "rust-ntest")
    (version "0.9.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ntest" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0c03bhsbksx89cvk3maji8mzayvjvdz7pvp5fbv3gad73l53y67v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.9)
        ("rust-ntest-timeout" ,rust-ntest-timeout-0.9))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/becheran/ntest")
    (synopsis "Testing framework for Rust")
    (description "This package provides a testing framework for Rust which
enhances the built-in library with some useful features.")
    (license license:expat)))

(define-public rust-ntest-0.8
  (package
    (inherit rust-ntest-0.9)
    (name "rust-ntest")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1yyih3b0bcr9gj11m9xj330as2sjihblkmb2bmv10lp38q5m0rg8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.8)
        ("rust-ntest-test-cases" ,rust-ntest-test-cases-0.8)
        ("rust-ntest-timeout" ,rust-ntest-timeout-0.8))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-1))))))

(define-public rust-ntest-0.7
  (package
    (inherit rust-ntest-0.8)
    (name "rust-ntest")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i4xsvx52hmcnga2xbjl74hdylz4jy8bc2swcichlvw1di4lwm2w"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.7)
        ("rust-ntest-test-cases" ,rust-ntest-test-cases-0.7)
        ("rust-ntest-timeout" ,rust-ntest-timeout-0.7))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))))

(define-public rust-ntest-proc-macro-helper-0.8
  (package
    (name "rust-ntest-proc-macro-helper")
    (version "0.8.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ntest_proc_macro_helper" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "154r3r9nnnp6qjzlayc54213bdrgdk8b68jjnn1xcyd6cz92iqx0"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/becheran/ntest")
    (synopsis "Helper functions for the procedural macros used in ntest")
    (description "This package provides helper functions for the procedural
macros used in ntest.")
    (license license:expat)))

(define-public rust-ntest-proc-macro-helper-0.7
  (package
    (inherit rust-ntest-proc-macro-helper-0.8)
    (name "rust-ntest-proc-macro-helper")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest_proc_macro_helper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lkyfx97aynbm7cnhzyc9cr0rpq1xzng1hwmzizbf1a6855y6llg"))))))

(define-public rust-ntest-test-cases-0.9
  (package
    (name "rust-ntest-test-cases")
    (version "0.9.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ntest_test_cases" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14xa1qalxn5lyl0x5ykf2l9sli0xgxp9kgpbd19jwnc8lkrd7l0n"))))
    (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/becheran/ntest")
    (synopsis "Test cases for ntest framework")
    (description "This package provides test cases for ntest framework.")
    (license license:expat)))

(define-public rust-ntest-test-cases-0.8
  (package
    (inherit rust-ntest-test-cases-0.9)
    (name "rust-ntest-test-cases")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest_test_cases" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03ip2dpi7fd2wyz99yd17w302nci3b05slbl3rr6dfs2683ayz3g"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ntest-test-cases-0.7
  (package
    (inherit rust-ntest-test-cases-0.8)
    (name "rust-ntest-test-cases")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest_test_cases" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ghal2rb03cnj7ciqgdq0dvifdf8qp2hnmi9z1ip1j5b02s1xa4r"))))))

(define-public rust-ntest-timeout-0.9
  (package
    (name "rust-ntest-timeout")
    (version "0.9.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ntest_timeout" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1db3dzgcj2xyr4vcji90mwh8937nvj0mwbrk9adzg5qc34pwkizw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/becheran/ntest")
    (synopsis "Timeout attribute for the ntest framework")
    (description "This package provides a timeout attribute for the ntest
framework.")
    (license license:expat)))

(define-public rust-ntest-timeout-0.8
  (package
    (inherit rust-ntest-timeout-0.9)
    (name "rust-ntest-timeout")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest_timeout" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01vcdlz9xj471z5knk2qynm7adz3p614glf6n0pgn161qynym9mw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.8)
        ("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ntest-timeout-0.7
  (package
    (inherit rust-ntest-timeout-0.8)
    (name "rust-ntest-timeout")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ntest_timeout" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08v3r6hggh43qabl887pkz88k6lg6hrc62mppxyabb0pw44v03di"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.7)
        ("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ntex-bytes-0.1
  (package
    (name "rust-ntex-bytes")
    (version "0.1.19")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ntex-bytes" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0kpj93rkm9xknhkk31n21d7dwdx0y4jwc1y3nvnh1kx2l8p7razm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut off the dependency tree of ntex here.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-simdutf8" ,rust-simdutf8-0.1))))
    (home-page "https://github.com/ntex-rs")
    (synopsis "Types and traits for working with bytes (bytes crate fork)")
    (description "Types and traits for working with bytes (bytes crate fork)")
    (license license:expat)))

(define-public rust-nucleo-0.2
  (package
    (name "rust-nucleo")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nucleo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wzx32bz4n68dcd3yw57195sz49hdhv9b75jikr5qiyfpks32lxf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nucleo-matcher" ,rust-nucleo-matcher-0.2)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/helix-editor/nucleo")
    (synopsis "Plug and play high performance fuzzy matcher")
    (description
     "This package provides plug and play high performance fuzzy matcher.")
    (license license:mpl2.0)))

(define-public rust-nucleo-matcher-0.2
  (package
    (name "rust-nucleo-matcher")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nucleo-matcher" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mxxz58acszkgxha4wy459fkcx6f8sh55d803wnid1p25x02nw0v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cov-mark" ,rust-cov-mark-1)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
       #:cargo-development-inputs (("rust-cov-mark" ,rust-cov-mark-1))))
    (home-page "https://github.com/helix-editor/nucleo")
    (synopsis "Plug and play high performance fuzzy matcher")
    (description
     "This package provides plug and play high performance fuzzy matcher.")
    (license license:mpl2.0)))

(define-public rust-num-0.4
  (package
    (name "rust-num")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08yb2fc1psig7pkzaplm495yp7c30m4pykpkwmi5bxrgid705g9m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-iter" ,rust-num-iter-0.1)
        ("rust-num-rational" ,rust-num-rational-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/rust-num/num")
    (synopsis "Collection of numeric types and traits for Rust")
    (description
     "This package provides a collection of numeric types and traits for Rust,
including bigint, complex, rational, range iterators, generic integers, and
more.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-0.3
  (package
    (inherit rust-num-0.4)
    (name "rust-num")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13vsnqr0kasn7rwfq5r1vqdd0sy0y5ar3x4xhvzy4fg0wndqwylb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.3)
        ("rust-num-complex" ,rust-num-complex-0.3)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-iter" ,rust-num-iter-0.1)
        ("rust-num-rational" ,rust-num-rational-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-num-0.2
  (package
    (inherit rust-num-0.3)
    (name "rust-num")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0dhcvhprvvx1iaaq7sxlgxw5awmj8dibni8vhizi59zyz4q60lxq"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.2)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-iter" ,rust-num-iter-0.1)
        ("rust-num-rational" ,rust-num-rational-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-num-0.1
  (package
    (inherit rust-num-0.2)
    (name "rust-num")
    (version "0.1.42")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0vhmyvfan380f86895z0f8rjscjc6qvwcmyvm15370ik2mjas0s7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.1)
        ("rust-num-complex" ,rust-num-complex-0.1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-iter" ,rust-num-iter-0.1)
        ("rust-num-rational" ,rust-num-rational-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-num-bigint-0.4
  (package
    (name "rust-num-bigint")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-bigint" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f903zd33i6hkjpsgwhqwi2wffnvkxbn6rv4mkgcjcqi7xr4zr55"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-num/num-bigint")
    (synopsis "Big integer implementation for Rust")
    (description
     "This package provides a big integer implementation for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-bigint-0.3
  (package
    (inherit rust-num-bigint-0.4)
    (name "rust-num-bigint")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-bigint" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hxjawydfbnxqyqza0n2sh5sk9rslm0wsn7xdh53dwnby8rphvsz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-0.4)
        ("rust-autocfg" ,rust-autocfg-1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-num-bigint-0.2
  (package
    (inherit rust-num-bigint-0.3)
    (name "rust-num-bigint")
    (version "0.2.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-bigint" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "015k3wixdi4w698sappvy43pf8bvkw0f88xplmdgc3zfk2cpy309"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.8)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-0.8)
        ("rust-rand" ,rust-rand-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-autocfg" ,rust-autocfg-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-num-bigint-0.1
  (package
    (inherit rust-num-bigint-0.2)
    (name "rust-num-bigint")
    (version "0.1.44")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-bigint" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1hg80xd7vd5yqzks1h0zk2fcgqnf84m2cdj9q4cffk581nnrjf76"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-0.8))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4))))))

(define-public rust-num-bigint-dig-0.8
  (package
    (name "rust-num-bigint-dig")
    (version "0.8.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "num-bigint-dig" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0lb12df24wgxxbspz4gw1sf1kdqwvpdcpwq4fdlwg4gj41c1k16w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-iter" ,rust-num-iter-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-rand-isaac" ,rust-rand-isaac-0.3)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/dignifiedquire/num-bigint")
    (synopsis "Big integer implementation for Rust")
    (description "This package provides a big integer implementation for
Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-bigint-dig-0.7
  (package
    (inherit rust-num-bigint-dig-0.8)
    (name "rust-num-bigint-dig")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-bigint-dig" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k7sd30r6flkk8xpqqcbb9pn34g9w0js8r4wsm7h0gk8zlv3xg7r"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-iter" ,rust-num-iter-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-rand-isaac" ,rust-rand-isaac-0.3)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-num-cmp-0.1
  (package
    (name "rust-num-cmp")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-cmp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1alavi36shn32b3cwbmkncj1wal3y3cwzkm21bxy5yil5hp5ncv3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/lifthrasiir/num-cmp")
    (synopsis "Comparison between differently typed numbers")
    (description
     "This crate provides tools for comparison between differently typed
numbers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-complex-0.4
  (package
    (name "rust-num-complex")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-complex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15cla16mnw12xzf5g041nxbjjm9m85hdgadd5dl5d0b30w9qmy3k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytecheck" ,rust-bytecheck-0.6)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-num/num-complex")
    (synopsis "Complex numbers implementation for Rust")
    (description
     "This crate provides complex numbers implementation for Rust.")
    (license (list license:expat license:asl2.0))))

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

(define-public rust-num-complex-0.2
  (package
    (inherit rust-num-complex-0.3)
    (name "rust-num-complex")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-complex" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "15dwaksw729r3v14sgzc9723s3fnfixiir8jzwx7b7kim48r9cdn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-autocfg" ,rust-autocfg-1))))))

(define-public rust-num-complex-0.1
  (package
    (inherit rust-num-complex-0.2)
    (name "rust-num-complex")
    (version "0.1.43")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-complex" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0mln3h018lar511hadjwfkbyq1561s8kdzfg8aagbakqg0fn725j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-0.8))))))

(define-public rust-num-conv-0.1
  (package
    (name "rust-num-conv")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-conv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ndiyg82q73783jq18isi71a7mjh56wxrk52rlvyx0mi5z9ibmai"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/jhpratt/num-conv")
    (synopsis "Convert between integer types")
    (description
     "@code{num_conv} is a crate to convert between integer types without using
@code{as} casts.  This provides better certainty when refactoring, makes the
exact behavior of code more explicit, and allows using turbofish syntax.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-cpus-1
  (package
    (name "rust-num-cpus")
    (version "1.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_cpus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hra6ihpnh06dvfvz9ipscys0xfqa9ca9hzp384d5m02ssvgqqa1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-hermit-abi" ,rust-hermit-abi-0.3)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/seanmonstar/num_cpus")
    (synopsis "Get the number of CPUs on a machine")
    (description
     "Get the number of CPUs on a machine.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-num-derive-0.4
  (package
    (name "rust-num-derive")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00p2am9ma8jgd2v6xpsz621wc7wbn1yqi71g15gc3h67m7qmafgd"))))
    (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-num" ,rust-num-0.4)
                                   ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/rust-num/num-derive")
    (synopsis "Numeric syntax extensions")
    (description "This package provides numeric syntax extensions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-derive-0.3
  (package
    (inherit rust-num-derive-0.4)
    (name "rust-num-derive")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0gbl94ckzqjdzy4j8b1p55mz01g6n1l9bckllqvaj0wfz7zm6sl7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-quote" ,rust-quote-1))
       #:cargo-development-inputs
       (("rust-num" ,rust-num-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-num-derive-0.2
  (package
    (name "rust-num-derive")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-derive" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1wnv7776fh4i40r3zfxcxcmm0dh029skx7gp4sjknz2kqm2hpzga"))))
    (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))
       #:cargo-development-inputs
       (("rust-num" ,rust-num-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/rust-num/num-derive")
    (synopsis "Numeric syntax extensions")
    (description "Numeric syntax extensions in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-enum-0.7
  (package
    (name "rust-num-enum")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_enum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yai0vafhy85mvhknzfqd7lm04hzaln7i5c599rhy8mj831kyqaf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=no_std"
                            "--skip=std")
       #:cargo-inputs (("rust-num-enum-derive" ,rust-num-enum-derive-0.7))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-paste" ,rust-paste-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1)
                                   ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/illicitonion/num_enum")
    (synopsis "Macros easing inter-operation between primitives and enums")
    (description
     "This library provides procedural macros to make inter-operation between
primitives and enums easier.")
    (license (list license:bsd-3 license:expat license:asl2.0))))

(define-public rust-num-enum-0.5
  (package
    (inherit rust-num-enum-0.7)
    (name "rust-num-enum")
    (version "0.5.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_enum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1japmqhcxwn1d3k7q8jw58y7xfby51s16nzd6dkj483cj2pnqr0z"))))
    (arguments
     `(#:tests? #false                  ;missing files
       #:cargo-inputs
       (("rust-num-enum-derive" ,rust-num-enum-derive-0.5))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-num-enum-0.4
  (package
    (inherit rust-num-enum-0.5)
    (name "rust-num-enum")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_enum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r1nisdzm9m7xm0389nwyi85jhx1bnh5pwllai44ngbgy1ymlmna"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false                  ;missing files
       #:cargo-inputs
       (("rust-derivative" ,rust-derivative-2)
        ("rust-num-enum" ,rust-num-enum-0.4)
        ("rust-num-enum-derive" ,rust-num-enum-derive-0.4))))
    (license license:bsd-3)))

(define-public rust-num-enum-derive-0.7
  (package
    (name "rust-num-enum-derive")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_enum_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mksna1jj87ydh146gn6jcqkvvs920c3dgh0p4f3xk184kpl865g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=derive_default"
                            "--skip=derive_from_primitive"
                            "--skip=derive_into_primitive"
                            "--skip=derive_try_from_primitive"
                            "--skip=derive_unsafe_from_primitive")
       #:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/illicitonion/num_enum")
    (synopsis "Procedural macros to ease operation between primitives and enums")
    (description
     "This package provides procedural macros to make inter-operation between
primitives and enums easier.")
    (license (list license:bsd-3 license:expat license:asl2.0))))

(define-public rust-num-enum-derive-0.5
  (package
    (inherit rust-num-enum-derive-0.7)
    (name "rust-num-enum-derive")
    (version "0.5.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_enum_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16f7r4jila0ckcgdnfgqyhhb90w9m2pdbwayyqmwcci0j6ygkgyw"))))
    (arguments
     `(#:tests? #f                      ;FIXME: some doc tests fail
       #:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-num-enum-derive-0.4
  (package
    (inherit rust-num-enum-derive-0.5)
    (name "rust-num-enum-derive")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num_enum_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17fvb7xpxq2dsqp5nsz98w1qhkk3gnc56xis53009vnzvlys79gz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;FIXME: some doc tests fail
       #:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-num-format-0.4
  (package
    (name "rust-num-format")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hvjmib117jspyixfr76f900mhz5zfn71dnyqg9iywb339vxjlm6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-format-windows" ,rust-num-format-windows-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-widestring" ,rust-widestring-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/bcmyers/num-format")
    (synopsis "Produce string-representations of numbers")
    (description
     "This package provides a Rust crate for producing string-representations
of numbers, formatted according to international standards.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-format-windows-0.4
  (package
    (name "rust-num-format-windows")
    (version "0.4.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "num-format-windows" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1yic2lcv3gngyshzmnqjhaq1z736j8jgghhn3n8yph95fbv0f7lv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.63))))
    (home-page "https://github.com/bcmyers/num-format/num-format-windows")
    (synopsis "Helper crate for @code{num-format}")
    (description
     "This package provides a helper crate for num-format.  Do not use it
directly.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-integer-0.1
  (package
    (name "rust-num-integer")
    (version "0.1.46")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-integer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13w5g54a9184cqlbsq80rnxw4jj4s0d8wv75jsq5r2lms8gncsbr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/rust-num/num-integer")
    (synopsis "Integer traits and functions")
    (description "This package provides Integer traits and functions.")
    ;; Dual licensed.
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-num-iter-0.1
  (package
    (name "rust-num-iter")
    (version "0.1.45")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-iter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1gzm7vc5g9qsjjl3bqk9rz1h6raxhygbrcpbfl04swlh0i506a8l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/rust-num/num-iter")
    (synopsis "External iterators for generic mathematics")
    (description
     "This crate provides external iterators for generic mathematics.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-num-rational-0.4
  (package
    (name "rust-num-rational")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-rational" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "093qndy02817vpgcqjnj139im3jl7vkq4h68kykdqqh577d18ggq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-num/num-rational")
    (synopsis "Rational numbers implementation for Rust")
    (description
     "This crate provides a rational numbers implementation for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-rational-0.3
  (package
    (inherit rust-num-rational-0.4)
    (name "rust-num-rational")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-rational" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "01sgiwny9iflyxh2xz02sak71v2isc3x608hfdpwwzxi3j5l5b0j"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-num-bigint" ,rust-num-bigint-0.3)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-num-rational-0.2
  (package
    (inherit rust-num-rational-0.3)
    (name "rust-num-rational")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-rational" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1vsaz96chxcgpqd5a0dq8hb3b4sj6dnlhwmpbkf4mx6vnls0202w"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-autocfg" ,rust-autocfg-1))))))

(define-public rust-num-rational-0.1
  (package
    (inherit rust-num-rational-0.2)
    (name "rust-num-rational")
    (version "0.1.42")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-rational" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0kkqb8j3b3nis9hs4ww4hkrmb4a6v9sr9al08xmwhgvmpms4qcgf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.1)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-0.8))))))

(define-public rust-num-threads-0.1
  (package
    (name "rust-num-threads")
    (version "0.1.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "num_threads" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1ngajbmhrgyhzrlc4d5ga9ych1vrfcvfsiqz6zv0h2dpr2wrhwsw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all files included.
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/jhpratt/num_threads")
    (synopsis "Determine the number of running threads for the current process")
    (description "This package provides a minimal library that determines the
number of running threads for the current process.")
    (license (list license:expat license:asl2.0))))

(define-public rust-num-traits-0.2
  (package
    (name "rust-num-traits")
    (version "0.2.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "num-traits" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h984rhdkkqd4ny9cif7y2azl3xdfb7768hb9irhpsch4q3gq787"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-libm" ,rust-libm-0.2))))
    (home-page "https://github.com/rust-num/num-traits")
    (synopsis "Numeric traits for generic mathematics")
    (description "This package provides numeric traits for generic
mathematics.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-num-traits-0.1
  (package
    (inherit rust-num-traits-0.2)
    (name "rust-num-traits")
    (version "0.1.43")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-traits" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" , rust-num-traits-0.2))))))

(define-public rust-number-prefix-0.4
  (package
    (name "rust-number-prefix")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "number_prefix" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ogham/rust-number-prefix")
    (synopsis "Format numeric prefixes: kilo, giga, kibi")
    (description
     "This package provides a library for formatting numeric prefixes: kilo,
giga, kibi.")
    (license license:expat)))

(define-public rust-number-prefix-0.3
  (package
    (name "rust-number-prefix")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "number_prefix" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0slm4mqmpgs6hvz22ycny9lvyvl9ivs80a1lncslp7lszz02zc0p"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ogham/rust-number-prefix")
    (synopsis "Format numeric prefixes: kilo, giga, kibi")
    (description
     "This package provides a library for formatting numeric prefixes: kilo,
giga, kibi.")
    (license license:expat)))

(define-public rust-numpy-0.22
  (package
    (name "rust-numpy")
    (version "0.22.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "numpy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kpii5mvz4ag29qw4zrqzfmi3m2kmbg882kcxn2ls6m91ny2kfgd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-half" ,rust-half-2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-nalgebra" ,rust-nalgebra-0.32)
                       ("rust-ndarray" ,rust-ndarray-0.15)
                       ("rust-num-complex" ,rust-num-complex-0.2)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-pyo3" ,rust-pyo3-0.22)
                       ("rust-rustc-hash" ,rust-rustc-hash-1))))
    (home-page "https://github.com/PyO3/rust-numpy")
    (synopsis "PyO3-based Rust bindings of the NumPy C-API")
    (description
     "This package provides PyO3-based Rust bindings of the @code{NumPy}
C-API.")
    (license license:bsd-2)))

(define-public rust-numtoa-0.2
  (package
    (name "rust-numtoa")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "numtoa" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03yhkhjb3d1zx22m3pgcbpk8baj0zzvaxqc25c584sdq77jw98ka"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=base10_i128_array_too_small"
         "--skip=base10_i16_array_too_small"
         "--skip=base10_i32_array_too_small"
         "--skip=base10_i64_array_too_small"
         "--skip=base10_i8_array_too_small"
         "--skip=base10_u128_array_too_small"
         "--skip=base10_u16_array_too_small"
         "--skip=base10_u32_array_too_small"
         "--skip=base10_u64_array_too_small"
         "--skip=base10_u8_array_too_small")))
    (home-page "https://gitlab.com/mmstick/numtoa")
    (synopsis "Convert numbers into stack-allocated byte arrays")
    (description
     "This package can convert numbers into stack-allocated byte arrays.")
    (license (list license:expat license:asl2.0))))

(define-public rust-numtoa-0.1
  (package
    (inherit rust-numtoa-0.2)
    (name "rust-numtoa")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "numtoa" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q"))))
    (arguments '(#:tests? #f))))

(define-public rust-nvml-wrapper-0.10
  (package
    (name "rust-nvml-wrapper")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nvml-wrapper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i9q80f8x5zy646wvz1wkaydryvnfnwsi8jy72hh92fll45gz6qc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests expect libnvidia-ml.so from the NVIDIA driver
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-libloading" ,rust-libloading-0.8)
                       ("rust-nvml-wrapper-sys" ,rust-nvml-wrapper-sys-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-static-assertions" ,rust-static-assertions-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-wrapcenum-derive" ,rust-wrapcenum-derive-0.4))
       #:cargo-development-inputs (("rust-pretty-bytes" ,rust-pretty-bytes-0.2))))
    (home-page "https://github.com/Cldfire/nvml-wrapper")
    (synopsis "Rust wrapper for the NVIDIA Management Library")
    (description
     "This package provides a safe and ergonomic Rust wrapper for the NVIDIA
Management Library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-nvml-wrapper-sys-0.8
  (package
    (name "rust-nvml-wrapper-sys")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "nvml-wrapper-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dgw2dpldxik2gn3m3aqgl2qj1da5sz6wav5g571ly18dwalb3b9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libloading" ,rust-libloading-0.8))))
    (home-page "https://github.com/Cldfire/nvml-wrapper")
    (synopsis "Generated bindings to the NVIDIA Management Library")
    (description
     "This package provides generated bindings to the NVIDIA Management Library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-oauth2-types-0.7
  (package
    (name "rust-oauth2-types")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "oauth2-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08pis87992xd6gj072k4kr4inlaaviq6as5h65pnjmk86siky37x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-data-encoding" ,rust-data-encoding-2)
                       ("rust-http" ,rust-http-0.2)
                       ("rust-language-tags" ,rust-language-tags-0.3)
                       ("rust-mas-iana" ,rust-mas-iana-0.7)
                       ("rust-mas-jose" ,rust-mas-jose-0.7)
                       ("rust-parse-display" ,rust-parse-display-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-with" ,rust-serde-with-3)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1))))
    (home-page "https://matrix-org.github.io/matrix-authentication-service/")
    (synopsis "OAuth 2.0 types used by the Matrix Authentication Service")
    (description "This package provides OAuth 2.0 types used by the Matrix
Authentication Service.")
    (license license:asl2.0)))

(define-public rust-obfstr-0.3
  (package
    (name "rust-obfstr")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "obfstr" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y5azgk8ds43m1sd5pc4hhakxzxkfcfscl24y8gsbvwdznxjqavv"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/CasualX/obfstr")
    (synopsis "Compile time string constant obfuscation for Rust")
    (description "This package provides a compile time string constant
obfuscation for Rust.  The string constant itself is embedded in obfuscated
form and deobfuscated locally.")
    (license license:expat)))

(define-public rust-obj-0.10
  (package
    (name "rust-obj")
    (version "0.10.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "obj" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0jks8qzjn59na40dv9m0q2j540i04cddbkbq02scgk9qawj9b705"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false ;missing files
       #:cargo-inputs (("rust-genmesh" ,rust-genmesh-0.6))))
    (home-page "https://github.com/kvark/obj")
    (synopsis "Package for loading Wavefront .obj files")
    (description
     "This package provides a package for loading Wavefront @code{.obj} files.")
    (license license:asl2.0)))

(define-public rust-obj-0.9
  (package
    (name "rust-obj")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "obj" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10z1r2r0xyhr4j1n07135kz4bc0zhqy98vabs99vz0x171bi8gy0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-genmesh" ,rust-genmesh-0.6))))
    (home-page "https://github.com/kvark/obj")
    (synopsis "Package for loading Wavefront .obj files")
    (description
     "This package provides a package for loading Wavefront @code{.obj} files.")
    (license license:asl2.0)))

(define-public rust-object-0.36
  (package
    (name "rust-object")
    (version "0.36.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "object" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gk8lhbs229c68lapq6w6qmnm4jkj48hrcw5ilfyswy514nhmpxf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       ;; The parse_self test correspond to the unit tests; the integration
       ;; tests have some failures for unknown reasons.
       '("--release" "parse_self" "--")
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-crc32fast" ,rust-crc32fast-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-hashbrown" ,rust-hashbrown-0.15)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-ruzstd" ,rust-ruzstd-0.7)
        ("rust-wasmparser" ,rust-wasmparser-0.218))))
    (home-page "https://github.com/gimli-rs/object")
    (synopsis "Unified interface for reading and writing object file formats")
    (description
     "This package provides a unified interface for reading and writing object
file formats.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-object-0.32
  (package
    (inherit rust-object-0.36)
    (name "rust-object")
    (version "0.32.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "object" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hc4cjwyngiy6k51hlzrlsxgv5z25vv7c2cp0ky1lckfic0259m6"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files are included
         "--skip=read::coff::coff_extended_relocations")
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-crc32fast" ,rust-crc32fast-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-ruzstd" ,rust-ruzstd-0.5)
        ("rust-wasmparser" ,rust-wasmparser-0.118))))))

(define-public rust-object-0.30
  (package
    (inherit rust-object-0.32)
    (name "rust-object")
    (version "0.30.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "object" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11f3cfd7b54ij1rwvrp9837nhszjdndxr4f4iyxazkyrhq5nid03"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files are included
         "--skip=read::coff::coff_extended_relocations")
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-crc32fast" ,rust-crc32fast-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-hashbrown" ,rust-hashbrown-0.13)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-wasmparser" ,rust-wasmparser-0.57))))))

(define-public rust-object-0.29
  (package
    (inherit rust-object-0.30)
    (name "rust-object")
    (version "0.29.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "object" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0lzblxwxcih7j4z2cfx9094caax97hlfm9n0y5hlavda6cn8n591"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-crc32fast" ,rust-crc32fast-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-hashbrown" ,rust-hashbrown-0.12)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-wasmparser" ,rust-wasmparser-0.57))))))

(define-public rust-object-pool-0.5
  (package
    (name "rust-object-pool")
    (version "0.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "object-pool" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s4d6bap4b4fazz4izgqvrc6si4fdrbz2fdr09hci7nhjrqkx6pf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags       ; Skip the doctests.
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs (("rust-parking-lot" ,rust-parking-lot-0.11))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-criterion-plot" ,rust-criterion-plot-0.4))))
    (home-page "https://github.com/CJP10/object-pool")
    (synopsis
     "Thread-safe object pool with automatic return and attach/detach semantics")
    (description
     "This package provides a thread-safe object pool with automatic return and
attach/detach semantics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-object-store-0.11
  (package
    (name "rust-object-store")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "object_store" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bywk2bbjpvr26581rs44csl6myiw0cr6gqnw76zlmhsjrlcpz1w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-base64" ,rust-base64-0.22)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-httparse" ,rust-httparse-1)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-hyper" ,rust-hyper-1)
        ("rust-itertools" ,rust-itertools-0.13)
        ("rust-md-5" ,rust-md-5-0.10)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-quick-xml" ,rust-quick-xml-0.37)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-reqwest" ,rust-reqwest-0.12)
        ("rust-ring" ,rust-ring-0.17)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snafu" ,rust-snafu-0.8)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-url" ,rust-url-2)
        ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/apache/arrow-rs/tree/main/object_store")
    (synopsis "Generic object store interface")
    (description
     "This package provides a generic object store interface for uniformly
interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and local
files.")
    (license (list license:expat license:asl2.0))))

(define-public rust-object-store-0.9
  (package
    (name "rust-object-store")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "object_store" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cwx0xg57cp3z6xjgrqwp0gxgxsagls4h5cd212pmxpxcn5qywdq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-base64" ,rust-base64-0.21)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-humantime" ,rust-humantime-2)
                       ("rust-hyper" ,rust-hyper-0.14)
                       ("rust-itertools" ,rust-itertools-0.12)
                       ("rust-md-5" ,rust-md-5-0.10)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-quick-xml" ,rust-quick-xml-0.31)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-reqwest" ,rust-reqwest-0.11)
                       ("rust-ring" ,rust-ring-0.17)
                       ("rust-rustls-pemfile" ,rust-rustls-pemfile-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-snafu" ,rust-snafu-0.7)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-url" ,rust-url-2)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-futures-test" ,rust-futures-test-0.3)
                                   ("rust-hyper" ,rust-hyper-0.14)
                                   ("rust-nix" ,rust-nix-0.28)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/apache/arrow-rs/tree/master/object_store")
    (synopsis "Generic object store interface")
    (description "This package provides a generic object store interface for
uniformly interacting with AWS S3, Google Cloud Storage, Azure Blob Storage and
local files.")
    (license (list license:expat license:asl2.0))))

(define-public rust-octocrab-0.41
  (package
    (name "rust-octocrab")
    (version "0.41.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "octocrab" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vzsvbhc8cfnamnb4wqvs3i4avqbdx4n8f0ssy8r9lzvdqgx3pz2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
                       ("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-base64" ,rust-base64-0.22)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-either" ,rust-either-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-http" ,rust-http-1)
                       ("rust-http-body" ,rust-http-body-1)
                       ("rust-http-body-util" ,rust-http-body-util-0.1)
                       ("rust-hyper" ,rust-hyper-1)
                       ("rust-hyper-rustls" ,rust-hyper-rustls-0.27)
                       ("rust-hyper-timeout" ,rust-hyper-timeout-0.5)
                       ("rust-hyper-tls" ,rust-hyper-tls-0.6)
                       ("rust-hyper-util" ,rust-hyper-util-0.1)
                       ("rust-jsonwebtoken" ,rust-jsonwebtoken-9)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-pin-project" ,rust-pin-project-1)
                       ("rust-secrecy" ,rust-secrecy-0.10)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-path-to-error" ,rust-serde-path-to-error-0.1)
                       ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7)
                       ("rust-snafu" ,rust-snafu-0.8)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tower" ,rust-tower-0.5)
                       ("rust-tower-http" ,rust-tower-http-0.6)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-base64" ,rust-base64-0.22)
        ("rust-crypto-box" ,rust-crypto-box-0.8)
        ("rust-graphql-client" ,rust-graphql-client-0.14)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4)
        ("rust-wiremock" ,rust-wiremock-0.6))))
    (native-inputs (list nss-certs-for-test))
    (home-page "https://github.com/XAMPPRocky/octocrab")
    (synopsis "Extensible GitHub API client")
    (description
     "This package provides a modern, extensible @code{GitHub} API client.")
    (license (list license:expat license:asl2.0))))

(define-public rust-odbc-api-0.36
  (package
    (name "rust-odbc-api")
    (version "0.36.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "odbc-api" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04xcqqhm7w24b1gj6v4b24z9j65r1zzyxjadlv3xf73fm92cmnd3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests expect a running odbc server.
       #:cargo-inputs (("rust-force-send-sync" ,rust-force-send-sync-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-odbc-sys" ,rust-odbc-sys-0.21)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-widestring" ,rust-widestring-0.5)
                       ("rust-winit" ,rust-winit-0.26))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-csv" ,rust-csv-1)
                                   ("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-test-case" ,rust-test-case-2))))
    (inputs (list unixodbc))
    (home-page "https://github.com/pacman82/odbc-api")
    (synopsis "Write ODBC Applications in (mostly) safe Rust")
    (description "Write ODBC Applications in (mostly) safe Rust.")
    (license license:expat)))

(define-public rust-odbc-sys-0.21
  (package
    (name "rust-odbc-sys")
    (version "0.21.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "odbc-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "024gylzq3q7s6b10qhbb8cjis6aj8a83jay553jdsiwgwm65qb2r"))))
    (build-system cargo-build-system)
    (inputs (list unixodbc))
    (home-page "https://github.com/pacman82/odbc-sys")
    (synopsis "ODBC FFI bindings")
    (description "This package provides ODBC FFI bindings.")
    (license license:expat)))

(define-public rust-odds-0.4
  (package
    (name "rust-odds")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "odds" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17jd5fjcrlya7dbnnj0v8s83l3jhlajyljmkcy49pxsvxj9zdsdz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.2)
                       ("rust-rawslice" ,rust-rawslice-0.1)
                       ("rust-unchecked-index" ,rust-unchecked-index-0.2))
       #:cargo-development-inputs (("rust-itertools" ,rust-itertools-0.8)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-memchr" ,rust-memchr-2)
                                   ("rust-quickcheck" ,rust-quickcheck-0.9))))
    (home-page "https://github.com/bluss/odds")
    (synopsis "Extra functionality for slices, strings and other things")
    (description
     "Odds and ends collection miscellania.  Extra functionality for
slices (@code{.find()}, @code{RevSlice}), strings and other things.
Things in odds may move to more appropriate crates if we find them.")
    (license (list license:expat license:asl2.0))))

(define-public rust-odds-0.3
  (package
    (inherit rust-odds-0.4)
    (name "rust-odds")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "odds" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rdnxa0na4897yb0svb3figz35g4imxjv61yfm2j21gbh5q8v8d9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rawpointer" ,rust-rawpointer-0.1)
        ("rust-rawslice" ,rust-rawslice-0.1)
        ("rust-unchecked-index" ,rust-unchecked-index-0.2))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.7)
        ("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-quickcheck" ,rust-quickcheck-0.4))))))

(define-public rust-odds-0.2
  (package
    (inherit rust-odds-0.3)
    (name "rust-odds")
    (version "0.2.26")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "odds" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "08pvngx0nf7yl9cgk4bahn1a0s8na5g9knbhq7y29kysp58h3bjf"))))
    (arguments
     `(#:tests? #f      ; doc tests fail
       #:cargo-inputs
       (("rust-rawpointer" ,rust-rawpointer-0.1)
        ("rust-rawslice" ,rust-rawslice-0.1)
        ("rust-unchecked-index" ,rust-unchecked-index-0.2))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.5)
        ("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-quickcheck" ,rust-quickcheck-0.4))))))

(define-public rust-oem-cp-2
  (package
    (name "rust-oem-cp")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "oem_cp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r0fn4bnmc78pkqhvzjjbm1zidgzvryspdz6hsdb1nml5a83h09k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-phf" ,rust-phf-0.11)
                       ("rust-phf-codegen" ,rust-phf-codegen-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-itertools" ,rust-itertools-0.5)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/tats-u/rust-oem-cp/")
    (synopsis
     "Handle OEM code pages (e.g. CP{437,737,850}) for single byte character sets")
    (description
     "This package provides a rust library that handles OEM code pages (e.g.
CP{437,737,850}) for single byte character sets.")
    (license license:expat)))

(define-public rust-omnipath-0.1
  (package
    (name "rust-omnipath")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "omnipath" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xd5a4xwsfmhzk59v6wz65f59rk16d7gvkg90w1qhb0jg08b7bc0"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ChrisDenton/omnipath")
    (synopsis "Path utility library")
    (description "This package provides a path utility library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-once-cell-1
  (package
    (name "rust-once-cell")
    (version "1.20.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "once_cell" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xb7rw1aqr7pa4z3b00y7786gyf8awx2gca3md73afy76dzgwq8j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-critical-section" ,rust-critical-section-1)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.9)
        ("rust-portable-atomic" ,rust-portable-atomic-1))
       #:cargo-development-inputs
       (("rust-critical-section" ,rust-critical-section-1)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/matklad/once_cell")
    (synopsis "Single assignment cells and lazy values")
    (description
     "This package provides two new cell-like types, @code{unsync::OnceCell}
and @code{sync::OnceCell}.  OnceCell might store arbitrary non-copy types, can
be assigned to at most once and provide direct access to the stored
contents.")
    (license (list license:expat license:asl2.0))))

(define-public rust-oncemutex-0.1
  (package
    (name "rust-oncemutex")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "oncemutex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qmzibgx46k3xfh0mbljp46cfy9vx62frrx5x1ph18zlcvj1vla4"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f)) ; `#![feature]` may not be used on the stable release channel
    (home-page "https://github.com/reem/rust-once-mutex.git")
    (synopsis
     "Mutex providing one-time synchronized access, then safe unsynchronized access")
    (description
     "This package provides a mutex providing one-time synchronized access, then
safe unsynchronized access.")
    (license (list license:expat license:asl2.0))))

(define-public rust-onenote-parser-0.3
  (package
    (name "rust-onenote-parser")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "onenote_parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12rj3ixhnxvl2mpkad3ng4b8fx4ynxhdlwzxba36c8i98ls57zzf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
        ("rust-itertools" ,rust-itertools-0.9)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-paste" ,rust-paste-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-uuid" ,rust-uuid-0.8)
        ("rust-widestring" ,rust-widestring-0.4))
       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))
    (home-page "https://github.com/msiemens/onenote.rs")
    (synopsis "Parser for Microsoft OneNote files")
    (description
     "This package provides a parser for Microsoft OneNote files.")
    (license license:mpl2.0)))

(define-public rust-onenote-parser-for-clamav
  (package
    (inherit rust-onenote-parser-0.3)
    (name "rust-onenote-parser-for-clamav")
    (source (origin
              (inherit (package-source rust-onenote-parser-0.3))
              (patches
               (search-patches
                "rust-onenote-parser-for-clamav-deps.patch"
                "rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch"
                "rust-onenote-parser-for-clamav-property-type.patch"))
              (snippet #~(begin
                           (delete-file "Cargo.toml")
                           (rename-file "Cargo.toml.orig" "Cargo.toml")))))
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-paste" ,rust-paste-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-uuid" ,rust-uuid-1)
        ("rust-widestring" ,rust-widestring-1))
       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))))

(define-public rust-onig-6
  (package
    (name "rust-onig")
    (version "6.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "onig" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mcx125hh22kx2d0676hkk2gli6v8r6c4rp3wh5qy0dwxpcnzd1h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-onig-sys" ,rust-onig-sys-69.6))))
    (home-page "https://github.com/rust-onig/rust-onig")
    (synopsis "Rust bindings for the Oniguruma regular expression library")
    (description
     "Rust-Onig is a set of Rust bindings for the Oniguruma regular expression
library.")
    (license license:expat)))

(define-public rust-onig-sys-69.6
  (package
    (name "rust-onig-sys")
    (version "69.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "onig_sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xapbm4mrmyar1lbs3xrly2hm2mkb38hji1j15fjw3scryb3q1pd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.55)
        ("rust-cc" ,rust-cc-1)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/rust-onig/rust-onig")
    (synopsis "Rust bindings to the Oniguruma library")
    (description
     "This crate contains raw Rust bindings to the Oniguruma library.
This crate exposes a set of unsafe functions which can then be used by
other crates to create safe wrappers around Oniguruma.")
    (license license:expat)))

(define-public rust-oorandom-11
  (package
    (name "rust-oorandom")
    (version "11.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "oorandom" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0xdm4vd89aiwnrk1xjwzklnchjqvib4klcihlc2bsd4x50mbrc8a"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://hg.sr.ht/~icefox/oorandom")
    (synopsis "Tiny, robust PRNG implementation")
    (description
      "This package provides a tiny, robust PRNG implementation.")
    (license license:expat)))

(define-public rust-opaque-debug-0.3
  (package
    (name "rust-opaque-debug")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "opaque-debug" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1m8kzi4nd6shdqimn0mgb24f0hxslhnqd1whakyq06wcqd086jk2"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RustCrypto/utils")
    (synopsis "Macro for opaque debug trait implementation")
    (description
     "This package provides a macro for opaque debug trait implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-opaque-debug-0.2
  (package
    (inherit rust-opaque-debug-0.3)
    (name "rust-opaque-debug")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "opaque-debug" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "02942l2gc7w5r4js7i9063x99szic5mzzk1055j83v4diqpbpxck"))))))

(define-public rust-open-5
  (package
    (name "rust-open")
    (version "5.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "open" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "177npnl443gln9ypzcpsj5fjw0yyslg2bai093740p6ip3q55k9y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-is-wsl" ,rust-is-wsl-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pathdiff" ,rust-pathdiff-0.2))))
    (home-page "https://github.com/Byron/open-rs")
    (synopsis "Open a path or URL using the program configured on the system")
    (description
     "Use this library to open a path or URL using the program configured on
the system.")
    (license license:expat)))

(define-public rust-open-4
  (package
    (inherit rust-open-5)
    (name "rust-open")
    (version "4.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "open" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04kw6xmsjm0wdqidjndhpzl79iksyrhwyik32z28wjjygq63q21s"))))
    (arguments
     `(#:cargo-inputs (("rust-is-wsl" ,rust-is-wsl-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pathdiff" ,rust-pathdiff-0.2))))))

(define-public rust-open-3
  (package
    (inherit rust-open-4)
    (name "rust-open")
    (version "3.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "open" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y3nhpgh444ns5vqy87jbcnlryqmw62akyi85k2a0m3akq1w0y10"))))
    (arguments
     `(#:cargo-inputs (("rust-pathdiff" ,rust-pathdiff-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.42))))))

(define-public rust-open-2
  (package
    (inherit rust-open-3)
    (name "rust-open")
    (version "2.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "open" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "137r49qinkxvw85z2cjlz03ds8w9jrakcm5iqdc2xf25ykxkyhpj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-pathdiff" ,rust-pathdiff-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.36))))))

(define-public rust-opener-0.7
  (package
    (name "rust-opener")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "opener" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10bn0m6pfv9mvv9lky0l48fb6vflx9pkg8sir1aa73gh9mg2x0fh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-dbus" ,rust-dbus-0.9)
                       ("rust-normpath" ,rust-normpath-1)
                       ("rust-url" ,rust-url-2)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/Seeker14491/opener")
    (synopsis "Open a file or link using the system default program")
    (description "This crate provides the ability to open a file or link with
the default program configured on the system.")
    (license (list license:expat license:asl2.0))))

(define-public rust-openssh-keys-0.6
  (package
    (name "rust-openssh-keys")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "openssh-keys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gkcflf89fdzpmy066larfwk8fxc77ldq3b2r4bsrclq52l31f5b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-base64" ,rust-base64-0.21)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-md-5" ,rust-md-5-0.10)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-home" ,rust-home-0.5))))
    (home-page "https://github.com/coreos/openssh-keys")
    (synopsis "Read and write OpenSSH public keys")
    (description
     "This package provides macros to read and write @code{OpenSSH} public keys.")
    (license (list license:expat license:asl2.0))))

(define-public rust-openssl-0.10
  (package
    (name "rust-openssl")
    (version "0.10.68")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "openssl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1xbiz2bmba2fibg70s462yk2fndp3f9vz11c7iw0ilh2y54bqx31"))
              (snippet
               #~(begin (use-modules (guix build utils))
                        (substitute* "Cargo.toml"
                          ((".*boringssl.*") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-foreign-types" ,rust-foreign-types-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-openssl-macros" ,rust-openssl-macros-0.1)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9))
       #:cargo-development-inputs
       (("rust-hex" ,rust-hex-0.4))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://github.com/sfackler/rust-openssl")
    (synopsis "OpenSSL bindings")
    (description "This package provides OpenSSL bindings for Rust.")
    (license license:asl2.0)))

(define-public rust-openssl-0.7
  (package
    (inherit rust-openssl-0.10)
    (name "rust-openssl")
    (version "0.7.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "openssl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cw767rbasg4dbsfcsnxqm3q5ljkv6s1jq0a2p82xi5a8ii7n4f4"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    ((", path =.*}") "}")))))
    (arguments
     `(#:skip-build? #t ; Build depends on openssl-1.0.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-0.7)
        ("rust-gcc" ,rust-gcc-0.3)
        ("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-openssl-sys" ,rust-openssl-sys-0.7)
        ("rust-openssl-sys-extras" ,rust-openssl-sys-extras-0.7))
       #:cargo-development-inputs
       (("rust-net2" ,rust-net2-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-winapi" ,rust-winapi-0.2)
        ("rust-ws2-32-sys" ,rust-ws2-32-sys-0.2))))))

(define-public rust-openssl-macros-0.1
  (package
    (name "rust-openssl-macros")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "openssl-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "173xxvfc63rr5ybwqwylsir0vq6xsj4kxiv4hmg4c3vscdmncj59"))))
    (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/sfackler/rust-openssl")
    (synopsis "Internal macros used by the openssl crate")
    (description "This package provides internal macros used by the openssl
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-openssl-probe-0.1
  (package
    (name "rust-openssl-probe")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "openssl-probe" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/alexcrichton/openssl-probe")
    (synopsis "Find SSL certificate locations")
    (description
     "This package provides a tool to find SSL certificate locations on the
system for OpenSSL.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-openssl-sys-0.9
  (package
    (name "rust-openssl-sys")
    (version "0.9.104")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "openssl-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0hf712xcxmycnlc09r8d446b3mwqchsbfrjv374fp7grrc3g7as5"))
        (snippet
         #~(begin
             (use-modules (guix build utils))
             ;; Remove dependency on boringssl and vendor openssl source.
             (substitute* "Cargo.toml.orig"
               (("vendored = .*") "vendored = []\n")
               ((".*bssl.*") "")
               ((".*openssl-src.*") "")
               ;; Allow any version of bindgen.
               (("(bindgen = \\{ version =) \".*\"," _ bindgen)
                (string-append bindgen "\"*\",")))
             (copy-file "Cargo.toml.orig" "Cargo.toml")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.69)
        ("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-vcpkg" ,rust-vcpkg-0.2))))
    (native-inputs
     (list pkg-config))
    (propagated-inputs
     (list openssl))
    (home-page "https://github.com/sfackler/rust-openssl")
    (synopsis "FFI bindings to OpenSSL")
    (description
     "This package provides FFI bindings to OpenSSL for use in rust crates.")
    (license license:expat)))

(define-public rust-openssl-sys-0.7
  (package
    (inherit rust-openssl-sys-0.9)
    (name "rust-openssl-sys")
    (version "0.7.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "openssl-sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0gswbbfkhhj8f9jifwvdssv3p2lpgyz69qzqvafylbim9klpxi49"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; rust-libressl-pnacl-sys vendors libressl.
           (substitute* "Cargo.toml"
             ((".*nacl.*") ""))
           #t))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-gdi32-sys" ,rust-gdi32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-user32-sys" ,rust-user32-sys-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))))

(define-public rust-openssl-sys-extras-0.7
  (package
    (name "rust-openssl-sys-extras")
    (version "0.7.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "openssl-sys-extras" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ymrmfnknyjji74fflbnnq9r5ihx25h0vgs5y203vl6klzdy3i8i"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    ((", path =.*}") "}")))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; Depends on openssl-1.0.
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-openssl-sys" ,rust-openssl-sys-0.7)
        ("rust-gcc" ,rust-gcc-0.3))))
    (home-page "https://github.com/sfackler/rust-openssl")
    (synopsis
     "Extra FFI bindings to OpenSSL that require a C shim")
    (description
     "Extra FFI bindings to OpenSSL that require a C shim.")
    (license license:expat)))

(define-public rust-opentelemetry-0.21
  (package
    (name "rust-opentelemetry")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "opentelemetry" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12jfmyx8k9q2sjlx4wp76ddzaf94i7lnkliv1c9mj164bnd36chy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-sink" ,rust-futures-sink-0.3)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-urlencoding" ,rust-urlencoding-2))))
    (home-page "https://github.com/open-telemetry/opentelemetry-rust")
    (synopsis "Metrics collection and distributed tracing framework")
    (description
     "This package provides a metrics collection and distributed tracing
framework.")
    (license license:asl2.0)))

(define-public rust-opml-1
  (package
    (name "rust-opml")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "opml" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zr7f101inkz3rknl0r3q0qkklfxhqrji7yxmqixajfn3m5mbjfa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-strong-xml" ,rust-strong-xml-0.6)
        ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/Holllo/opml")
    (synopsis "OPML parser for Rust")
    (description "This package provides an OPML parser for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-optfield-0.3
  (package
    (name "rust-optfield")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "optfield" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "079a5n7lhqsj444fkgk580vra5v2nhym7czwnky9iip9rljz0ngs"))))
    (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-paste" ,rust-paste-1)
                                   ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/roignpar/optfield")
    (synopsis "Macro that generates structs with optional fields")
    (description
     "This package provides a macro that generates structs with optional fields.")
    (license (list license:expat license:asl2.0))))

(define-public rust-optick-1
  (package
    (name "rust-optick")
    (version "1.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "optick" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j35dj8ggfpcc399h1ljm6xfz8kszqc4nrw3vcl9kfndd1hapryp"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (delete-file-recursively "external")))))
    (build-system cargo-build-system)
    (arguments
     '(#:tests? #f))        ; Needs optick library
    (home-page "https://github.com/bombomby/optick-rs")
    (synopsis "Lightweight Performance Profiler")
    (description "Super Lightweight Performance Profiler.")
    (license license:expat)))

(define-public rust-option-ext-0.2
  (package
    (name "rust-option-ext")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "option-ext" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0zbf7cx8ib99frnlanpyikm1bx8qn8x602sw1n7bg6p9x94lyx04"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/soc/option-ext")
    (synopsis "Extends `Option` with additional operations")
    (description "Extends `Option` with additional operations")
    (license license:mpl2.0)))

(define-public rust-option-operations-0.5
  (package
    (name "rust-option-operations")
    (version "0.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "option-operations" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1l13n9487gk6063zzjdwzqbig78n8mh6dxsbiq9nbaxfn5xx49kw"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs `(("rust-paste" ,rust-paste-1))))
    (home-page "https://github.com/fengalin/option-operations")
    (synopsis "Improved arithmetic operations when dealing with Rust Options")
    (description
     "Traits and auto-implementations to improve arithmetic operations
usability when dealing with Rust Options.")
    (license (list license:expat license:asl2.0))))

(define-public rust-option-operations-0.4
  (package
    (inherit rust-option-operations-0.5)
    (name "rust-option-operations")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "option-operations" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "18jhy5sc56gwdvqc3asr6az685zc9zkgv8p8n69s94bcj6bibc22"))))
    (arguments
     (list #:cargo-inputs `(("rust-paste" ,rust-paste-1))))))

(define-public rust-option-set-0.2
  (package
    (name "rust-option-set")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "option_set" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i6s3bmnrw44nffqbbcaiq7fyhz7j881lcgspb57jxsi752m11k0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.9))))
    (home-page "https://github.com/H2CO3/option_set.git")
    (synopsis "Bitflags on steroids")
    (description "This package provides an extended version of rust bitflags.")
    (license license:expat)))

(define-public rust-option-set-0.1
  (package
    (inherit rust-option-set-0.2)
    (name "rust-option-set")
    (version "0.1.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "option_set" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "16wsxh2qmjb2bf7mcq7dhlpzwkslzgjpg3nwzx97ia6gpnb2sfy8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8))))))

(define-public rust-orbclient-0.3
  (package
    (name "rust-orbclient")
    (version "0.3.48")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "orbclient" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0hzxjsvvsl5i9d3aqzc6kdcsch1i6flij5dkignhhkz2qb72c2xs"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                          (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Building requires SDL2 inputs.
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-libredox" ,rust-libredox-0.1)
        ("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
        ("rust-sdl2" ,rust-sdl2-0.35)
        ("rust-sdl2-sys" ,rust-sdl2-sys-0.35))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-toml" ,rust-toml-0.7))))
    (home-page "https://gitlab.redox-os.org/redox-os/orbclient")
    (synopsis "Orbital Client Library")
    (description
     "This package provides the Orbital Client Library, used for RedoxOS.")
    (license license:expat)))

(define-public rust-orc-format-0.3
  (package
    (name "rust-orc-format")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "orc-format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02qzqhy1zx9bmylvkmbjrc2mxyddjgn2sqiwwd7kr9zh2p7jsaj0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-fallible-streaming-iterator" ,rust-fallible-streaming-iterator-0.1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-prost" ,rust-prost-0.9))))
    (home-page "https://github.com/DataEngineeringLabs/orc-format")
    (synopsis "Unofficial implementation of Apache ORC spec in safe Rust")
    (description "Unofficial implementation of Apache ORC spec in safe Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ord-subset-3
  (package
    (name "rust-ord-subset")
    (version "3.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ord_subset" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1vvb6zmz279nb59dki7kbsvixbk8zpg2gxvgcpsjfnxg9ik19knp"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/emerentius/ord_subset")
    (synopsis "Tools for working with the Ord subset of certain PartialOrd types")
    (description
     "This package provides tools for working with the Ord subset of certain
PartialOrd types, like floats.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ordered-float-4
  (package
    (name "rust-ordered-float")
    (version "4.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-float" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ppqpjrri5r5vdz06na24d00cjaz67ambd1hcq13iy8vf3wy2pn6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-borsh" ,rust-borsh-1)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-derive-visitor" ,rust-derive-visitor-0.4)
                       ("rust-num-cmp" ,rust-num-cmp-0.1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-proptest" ,rust-proptest-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rkyv" ,rust-rkyv-0.7)
                       ("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-speedy" ,rust-speedy-0.8))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/reem/rust-ordered-float")
    (synopsis "Wrappers for total ordering on floats")
    (description
     "This package provides wrappers for total ordering on floats in Rust.")
    (license license:expat)))

(define-public rust-ordered-float-3
  (package
    (inherit rust-ordered-float-4)
    (name "rust-ordered-float")
    (version "3.9.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ordered-float" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1p3jkxlz89ndm4lmwr2n5kdnckhm5pcmqqkihkag259dff8c7qgi"))))
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-proptest" ,rust-proptest-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rkyv" ,rust-rkyv-0.7)
                       ("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-speedy" ,rust-speedy-0.8))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-ordered-float-2
  (package
    (inherit rust-ordered-float-3)
    (name "rust-ordered-float")
    (version "2.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-float" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "075i108hr95pr7hy4fgxivib5pky3b6b22rywya5qyd2wmkrvwb8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-schemars" ,rust-schemars-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-ordered-float-1
  (package
    (inherit rust-ordered-float-2)
    (name "rust-ordered-float")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-float" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1drp3v9jsm1mn0wqp4p5y19j3bmz3w5rw4yxzi39zlld4wssy19k"))))
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-ordered-multimap-0.7
  (package
    (name "rust-ordered-multimap")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-multimap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ygg08g2h381r3zbclba4zx4amm25zd2hsqqmlxljc00mvf3q829"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dlv-list" ,rust-dlv-list-0.5)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-coverage-helper" ,rust-coverage-helper-0.2)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/sgodwincs/ordered-multimap-rs")
    (synopsis "Insertion ordered multimap")
    (description "This crate provides a multimap type object that maintains
insertion order across all keys and values.")
    (license license:expat)))

(define-public rust-ordered-multimap-0.4
  (package
    (inherit rust-ordered-multimap-0.7)
    (name "rust-ordered-multimap")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-multimap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jljv1257pfyf855jlwwas5mqkzk40b9lqfx40f73qbpf7ildmyc"))))
    (arguments
     `(#:cargo-inputs (("rust-dlv-list" ,rust-dlv-list-0.3)
                       ("rust-hashbrown" ,rust-hashbrown-0.12)
                       ("rust-serde" ,rust-serde-1))))))

(define-public rust-ordered-multimap-0.3
  (package
    (inherit rust-ordered-multimap-0.4)
    (name "rust-ordered-multimap")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-multimap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1194q7sb2d6chbllsn7237dhhvx04iqr3sq0ii16w1pcv5x2qrqw"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-dlv-list" ,rust-dlv-list-0.2)
        ("rust-hashbrown" ,rust-hashbrown-0.9)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-ordered-stream-0.2
  (package
    (name "rust-ordered-stream")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordered-stream" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l0xxp697q7wiix1gnfn66xsss7fdhfivl2k7bvpjs4i3lgb18ls"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
       #:cargo-development-inputs
       (("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3))))
    (home-page "https://github.com/danieldg/ordered-stream")
    (synopsis "Streams that are ordered relative to external events")
    (description "This package provides streams that are ordered relative to
external events in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ordermap-0.3
  (package
    (name "rust-ordermap")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordermap" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0qr0a50l0qakbjcck93qdayd0xl8gzpp42x0n7b75cs4ybsx6vm8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-itertools" ,rust-itertools-0.8)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-0.8)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/bluss/indexmap")
    (synopsis "Hash table with consistent order and fast iteration")
    (description
     "This package provides a hash table with consistent order and fast
iteration.  NOTE: This crate was renamed to @code{indexmap}.  Please use it
under its new name.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ordermap-0.2
  (package
    (inherit rust-ordermap-0.3)
    (name "rust-ordermap")
    (version "0.2.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ordermap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12wy6zbndxp6wi5lg3dsahlfr7yh12bxrz7dpdrhxalnrfwg675q"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1)
                                   ("rust-itertools" ,rust-itertools-0.5)
                                   ("rust-lazy-static" ,rust-lazy-static-0.2)
                                   ("rust-quickcheck" ,rust-quickcheck-0.4)
                                   ("rust-rand" ,rust-rand-0.3)
                                   ("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-orgize-0.9
  (package
    (name "rust-orgize")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "orgize" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ynpryx33yzhfb8dsnzflzsh37p39lyfv0wgw430rh33z2l9hj8y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-indextree" ,rust-indextree-4)
                       ("rust-jetscii" ,rust-jetscii-0.5)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-wasm-bindgen" ,rust-serde-wasm-bindgen-0.3)
                       ("rust-serde-indextree" ,rust-serde-indextree-0.2)
                       ("rust-syntect" ,rust-syntect-4)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-wee-alloc" ,rust-wee-alloc-0.4))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-slugify" ,rust-slugify-0.1))))
    (home-page "https://github.com/PoiScript/orgize")
    (synopsis "Rust library for parsing orgmode files")
    (description
     "This package provides a Rust library for parsing orgmode files.")
    (license license:expat)))

(define-public rust-os-display-0.1
  (package
    (name "rust-os-display")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "os_display" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xfgfqvfg5nyidv5p85fb87l0mif1nniisxarw6npd4jv2x2jqks"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/blyxxyz/os_display")
    (synopsis "Display strings in a safe platform-appropriate way")
    (description "Display strings in a safe platform-appropriate way.")
    (license license:expat)))

(define-public rust-os-info-3
  (package
    (name "rust-os-info")
    (version "3.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "os_info" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14hhnnln768z7zhdpc2rhqpmlmcg9y05w27cw6ppr36kdpxcg6df"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://github.com/stanislav-tkach/os_info")
    (synopsis "Detect the operating system type and version")
    (description
     "This library detects the operating system type and version.")
    (license license:expat)))

(define-public rust-os-pipe-1
  (package
    (name "rust-os-pipe")
    (version "1.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "os_pipe" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "10nrh0i507560rsiy4c79fajdmqgbr6dha2pbl9mncrlaq52pzaz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (native-inputs
     (list python-minimal-wrapper))     ; For the tests.
    (home-page "https://github.com/oconnor663/os_pipe.rs")
    (synopsis "Library for opening OS pipes")
    (description
     "This package provides a cross-platform library for opening OS pipes.")
    (license license:expat)))

(define-public rust-os-pipe-0.9
  (package
    (inherit rust-os-pipe-1)
    (name "rust-os-pipe")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "os_pipe" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04yjs1hf88jjm17g8a2lr7ibxyyg460rzbgcw9f1yzihq833y8zv"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (native-inputs (list))))

(define-public rust-os-release-0.1
  (package
    (name "rust-os-release")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "os-release" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09zckcazggm33cbhjgdajm8rg41x9y75yf13rhcyqlqvyzi9mwl2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/pop-os/os-release")
    (synopsis "Parse @code{/etc/os-release} files on Linux distributions")
    (description "This package provides parsing @code{/etc/os-release} files
on Linux distributions.")
    (license license:expat)))

(define-public rust-os-str-bytes-6
  (package
    (name "rust-os-str-bytes")
    (version "6.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "os_str_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0rz2711gl575ng6vm9a97q42wqnf4wk1165wn221jb8gn17z9vff"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2)
        ("rust-print-bytes" ,rust-print-bytes-1)
        ("rust-uniquote" ,rust-uniquote-3))
       #:cargo-development-inputs
       (("rust-fastrand" ,rust-fastrand-1))))
    (home-page "https://github.com/dylni/os_str_bytes")
    (synopsis
     "Traits for converting between byte sequences and platform-native strings")
    (description
     "This package provides a trait for converting between byte sequences and
platform-native strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-os-str-bytes-4
  (package
    (inherit rust-os-str-bytes-6)
    (name "rust-os-str-bytes")
    (version "4.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "os_str_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "16d70qzd2g18i28i6znjcpck0r9hjd5gz5qcr1cl2l9s6d1sknmd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2)
        ("rust-print-bytes" ,rust-print-bytes-0.4)
        ("rust-uniquote" ,rust-uniquote-3))
       #:cargo-development-inputs
       (("rust-getrandom" ,rust-getrandom-0.2))))))

(define-public rust-os-str-bytes-2
  (package
    (inherit rust-os-str-bytes-4)
    (name "rust-os-str-bytes")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "os_str_bytes" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "11agh8n3x2l4sr3sxvx6byc1j3ryb1g6flb1ywn0qhq7xv1y3cmg"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-ouroboros-0.18
  (package
    (name "rust-ouroboros")
    (version "0.18.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rsazk2hh2w626585scb7ylaf500y5insp3rnkbdwnm2jq4s4kwl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-aliasable" ,rust-aliasable-0.1)
                       ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.18)
                       ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/someguynamedjosh/ouroboros")
    (synopsis "Self-referential struct generation")
    (description "Easy, safe self-referential struct generation for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ouroboros-0.17
  (package
    (inherit rust-ouroboros-0.18)
    (name "rust-ouroboros")
    (version "0.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m69j8288k3b3iyblngdfgraahnk9d5maw5a5y4fmprr1lr0gfp2"))))
    (arguments
     `(#:cargo-inputs (("rust-aliasable" ,rust-aliasable-0.1)
                       ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.17)
                       ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-ouroboros-0.15
  (package
    (inherit rust-ouroboros-0.17)
    (name "rust-ouroboros")
    (version "0.15.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nvjra9dana2g6kxv3397qrgpyw6lknzya6lzs1s1llbap8qndg1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-aliasable" ,rust-aliasable-0.1)
        ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.15))))))

(define-public rust-ouroboros-0.14
  (package
    (inherit rust-ouroboros-0.15)
    (name "rust-ouroboros")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ih1lna1d2is3a6aicmc7lpfhqmg046kssxpryk24kwg8j42ymh6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-aliasable" ,rust-aliasable-0.1)
        ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.14)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))

(define-public rust-ouroboros-macro-0.18
  (package
    (name "rust-ouroboros-macro")
    (version "0.18.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gb5njxh9clp9krjc7kfbz17g5racjlld1bsjkjx13sjs7mdxc1r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-itertools" ,rust-itertools-0.12)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-proc-macro2-diagnostics" ,rust-proc-macro2-diagnostics-0.10)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/someguynamedjosh/ouroboros")
    (synopsis "Proc macro for ouroboros")
    (description
     "This package provides a proc macro for the @code{ouroboros} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ouroboros-macro-0.17
  (package
    (inherit rust-ouroboros-macro-0.18)
    (name "rust-ouroboros-macro")
    (version "0.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y5nmgnng4i23g333cvp8p7j3i3438r9g85fq1wafk4vqqjn4k7c"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("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-2))))))

(define-public rust-ouroboros-macro-0.15
  (package
    (inherit rust-ouroboros-macro-0.17)
    (name "rust-ouroboros-macro")
    (version "0.15.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dsn37vds4qpkzscmwaw17dv3m5m7a7j9qby8dsac19ks3622zaz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-inflector" ,rust-inflector-0.11)
        ("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))))))

(define-public rust-ouroboros-macro-0.14
  (package
    (inherit rust-ouroboros-macro-0.15)
    (name "rust-ouroboros-macro")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ouroboros_macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11cav04x82liknlrv50lpl1i1ln2jw4isdqzdjnjsg0pcpvwik9r"))))))

(define-public rust-overload-0.1
  (package
    (name "rust-overload")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "overload" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fdgbaqwknillagy1xq7xfgv60qdbk010diwl7s1p0qx7hb16n5i"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/danaugrs/overload")
    (synopsis "Macro to simplify operator overloading")
    (description
     "This package provides a macro to simplify operator overloading.")
    (license license:expat)))

(define-public rust-owned-ttf-parser-0.25
  (package
    (name "rust-owned-ttf-parser")
    (version "0.25.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "owned_ttf_parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i5jhazmm87nf8wbqm76vjvncmcv28ghpqm4170q2aivpydp3v12"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ttf-parser" ,rust-ttf-parser-0.25))))
    (home-page "https://github.com/alexheretic/owned-ttf-parser")
    (synopsis "Ttf-parser plus support for owned data")
    (description
     "This package provides a ttf-parser plus support for owned data.")
    (license license:asl2.0)))

(define-public rust-owned-ttf-parser-0.19
  (package
    (inherit rust-owned-ttf-parser-0.25)
    (name "rust-owned-ttf-parser")
    (version "0.19.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "owned_ttf_parser" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "192v6mjgy2fv7z8n7wm6548pikngcc293l9qh8xdc4s147iffvbh"))))
    (arguments
     `(#:cargo-inputs (("rust-ttf-parser" ,rust-ttf-parser-0.19))))))

(define-public rust-owned-ttf-parser-0.6
  (package
    (name "rust-owned-ttf-parser")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "owned_ttf_parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qydjksjcllf0pnm0jkjvbg4n52wfcwv59dl5b06cqn40sw3z4lz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ttf-parser" ,rust-ttf-parser-0.6))))
    (home-page "https://github.com/alexheretic/owned-ttf-parser")
    (synopsis "TTF-parser plus support for owned data")
    (description
     "This package provides a TTF-parser plus support for owned data.")
    (license license:asl2.0)))

(define-public rust-owning-ref-0.4
  (package
    (name "rust-owning-ref")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "owning_ref" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1kjj9m28wjv452jw49p1mp3d8ql058x78v4bz00avr7rvsnmpxbg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/Kimundi/owning-ref-rs")
    (synopsis "Create references that carry their owner with them")
    (description
     "This package provides a library for creating references that carry their
owner with them.  This can sometimes be useful because Rust borrowing rules
normally prevent moving a type that has been borrowed from.")
    (license license:expat)))

(define-public rust-owning-ref-0.3
  (package
    (inherit rust-owning-ref-0.4)
    (name "rust-owning-ref")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "owning_ref" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dqgf5hwbmvkf2ffbik5xmhvaqvqi6iklhwk9x47n0wycd0lzy6d"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))

(define-public rust-owo-colors-4
  (package
    (name "rust-owo-colors")
    (version "4.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "owo-colors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mms4sbisxm1w8v08qz85m90sv861xg4ahil85587kb9cmzpcdzv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-supports-color" ,rust-supports-color-3)
                       ("rust-supports-color" ,rust-supports-color-2))))
    (home-page "https://github.com/jam1garner/owo-colors")
    (synopsis "Zero-allocation terminal colors that'll make people go owo")
    (description
     "This package provides zero-allocation terminal colors that'll make people go
owo.")
    (license license:expat)))

(define-public rust-owo-colors-3
  (package
    (inherit rust-owo-colors-4)
    (name "rust-owo-colors")
    (version "3.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "owo-colors" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0vyvry6ba1xmpd45hpi6savd8mbx09jpmvnnwkf6z62pk6s4zc61"))))
    (arguments
     `(#:cargo-inputs (("rust-supports-color" ,rust-supports-color-1))))))

(define-public rust-owo-colors-1
  (package
    (inherit rust-owo-colors-4)
    (name "rust-owo-colors")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "owo-colors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mbs3z0c6p48wh96paa230xf6c6h8nhyyk1d118pybqwx7mv91i3"))))
    (arguments
     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2))))))

(define-public rust-packed-simd-0.3
  (package
    (name "rust-packed-simd")
    (version "0.3.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "packed_simd" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0bck71ngyhx9icy7q3xzgmjxkylysxm6hgif5rqp2xc71jphi7qz"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     ;; `#![feature]` may not be used on the stable release channel
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-core-arch" ,rust-core-arch-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-sleef-sys" ,rust-sleef-sys-0.1))
       #:cargo-development-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-paste" ,rust-paste-0.1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/rust-lang/packed_simd")
    (synopsis "Portable Packed SIMD vectors")
    (description "Portable Packed SIMD vectors.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-packed-simd-2-0.3
  (package
    (name "rust-packed-simd-2")
    (version "0.3.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "packed-simd-2" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10p2bm0p57shg3arlpfwm6z0bbnlkyr4g0dlkmpwvz6qaba4r4d1"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Unpin the dependencies.
           (substitute* "Cargo.toml"
             (("version = \"=") "version = \"^"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-core-arch" ,rust-core-arch-0.1)
        ("rust-libm" ,rust-libm-0.1)
        ("rust-sleef-sys" ,rust-sleef-sys-0.1))
       #:cargo-development-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-paste" ,rust-paste-0.1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/rust-lang-nursery/packed_simd")
    (synopsis "Portable Packed SIMD vectors")
    (description "Portable Packed SIMD vectors.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pad-0.1
  (package
    (name "rust-pad")
    (version "0.1.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pad" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1qy0r26r52gp034fv252mmg0s599a55h9nr4xswy04hvky49pbfj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/ogham/rust-pad")
    (synopsis "Library for padding strings at runtime")
    (description
      "This package provides a library for padding strings at runtime.")
    (license license:expat)))

(define-public rust-page-size-0.6
  (package
    (name "rust-page-size")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "page_size" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nj0rrwpvagagssljbm29ww1iyrrg15p1q4sk70r2cfi9qcv5m9h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-spin" ,rust-spin-0.9)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Elzair/page_size_rs")
    (synopsis "Retrieve the memory page size")
    (description
     "This package provides an easy, fast, cross-platform way to retrieve the
memory page size.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pager-0.16
  (package
    (name "rust-pager")
    (version "0.16.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pager" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10188qgnsz988g30fvl4whkljh2zl4gpbp6kc48bpywpbhd23695"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-errno" ,rust-errno-0.2)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://gitlab.com/imp/pager-rs.git")
    (synopsis "Helps pipe your output through an external pager")
    (description
     "This package pipes your Rust output through an external pager.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pam-sys-0.5
  (package
    (name "rust-pam-sys")
    (version "0.5.6")
    (home-page "https://github.com/1wilkens/pam-sys")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pam-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0d14501d5vybjnzxfjf96321xa5wa36x1xvf02h02zq938qmhj6d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (inputs `(("linux-pam" ,linux-pam)))
    (synopsis
     "Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)")
    (description
     "This crate uses bindgen to generate the raw FFI definitions for PAM.  For a
rustified API consider using pam.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pandoc-0.8
  (package
    (name "rust-pandoc")
    (version "0.8.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pandoc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p56085drzwb143ximsvr5bni7k0cl9ld7dz7lh92hkslz8m6ga6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-itertools" ,rust-itertools-0.12))))
    (home-page "https://github.com/oli-obk/rust-pandoc")
    (synopsis "Library API that wraps calls to the pandoc executable")
    (description "A library API that wraps calls to the pandoc 2.x
executable.")
    (license (list license:expat license:asl2.0))))

(define-public rust-papergrid-0.12
  (package
    (name "rust-papergrid")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "papergrid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09b7x34znfnm7lyzk8vajbazpw9xzsh8a4716c6vdsbx5barlhf7"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `testing_table`
       #:cargo-inputs (("rust-ansi-str" ,rust-ansi-str-0.8)
                       ("rust-ansitok" ,rust-ansitok-0.2)
                       ("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-owo-colors" ,rust-owo-colors-3))))
    (home-page "https://github.com/zhiburt/tabled")
    (synopsis "Core library to print a table")
    (description
     "This package provides Papergrid is a core library to print a table.")
    (license license:expat)))

(define-public rust-papergrid-0.11
  (package
    (inherit rust-papergrid-0.12)
    (name "rust-papergrid")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "papergrid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yzppnq3v1ivwqbrp4f7b13ijxirfykb64072vwngxsf083krm4s"))))
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `testing_table`
       #:cargo-inputs (("rust-ansi-str" ,rust-ansi-str-0.8)
                       ("rust-ansitok" ,rust-ansitok-0.2)
                       ("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-owo-colors" ,rust-owo-colors-3))))))

(define-public rust-parasail-sys-0.2
  (package
    (name "rust-parasail-sys")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parasail-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "156fwfdbcfpzmx4k274jqdp8jzmllmdnhd1ibnh7kgd9cp7ni6ac"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-build-flags '("-vv")
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'set-shell-for-configure-script
           (lambda _
             (setenv "SHELL" (which "sh"))
             (setenv "CONFIG_SHELL" (which "sh")))))
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (inputs
     (list zlib))
    (native-inputs
     (list libtool))
    (home-page "https://github.com/anp/parasailors")
    (synopsis "Bindings to the parasail pairwise genetic sequence alignment library")
    (description
     "This packgae provides native bindings to the parasail pairwise genetic
sequence alignment library.")
    (license license:expat)))

(define-public rust-parasailors-0.3
  (package
    (name "rust-parasailors")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parasailors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qr1qwzrq289njc3aawih15n9a8yy169wyb1gzgwzga0r25dxi3g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-build-flags '("-vv")
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'set-shell-for-configure-script
           (lambda _
             (setenv "SHELL" (which "sh"))
             (setenv "CONFIG_SHELL" (which "sh")))))
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-parasail-sys" ,rust-parasail-sys-0.2))))
    (inputs
     (list zlib))
    (native-inputs
     (list libtool))
    (home-page "https://github.com/anp/parasailors")
    (synopsis "SIMD accelerated pairwise genetic sequence alignment")
    (description "This package provides SIMD accelerated pairwise genetic
sequence alignment tools.")
    (license license:expat)))

(define-public rust-paris-1
  (package
    (name "rust-paris")
    (version "1.5.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paris" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i8dy41v7malj279snap1z1awpyd7hfr1nc1s7kr2dvn8xhqb786"))))
    (build-system cargo-build-system)
    (arguments `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4))))
    (home-page "https://github.com/0x20F/paris")
    (synopsis "Simple logger for CLI apps or things you want in the terminal")
    (description
     "This package provides a simple logger for CLI apps or other things you
want in the terminal.")
    (license license:mpl2.0)))

(define-public rust-parity-scale-codec-2
  (package
    (name "rust-parity-scale-codec")
    (version "2.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parity-scale-codec" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "02g95fp56sfpxixpy3x2h2yvcnmbpl8klfx53wywvn9q2d61lfrp"))))
    (build-system cargo-build-system)
    (arguments
     ;; The tests fail with: error[E0432]: unresolved import
     ;; `parity_scale_codec_derive`. They also take a relatively long time.
     `(#:tests? #f
       #:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-bitvec" ,rust-bitvec-0.20)
        ("rust-byte-slice-cast" ,rust-byte-slice-cast-1)
        ("rust-generic-array" ,rust-generic-array-0.14)
        ("rust-impl-trait-for-tuples" ,rust-impl-trait-for-tuples-0.2)
        ("rust-parity-scale-codec-derive" ,rust-parity-scale-codec-derive-2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/paritytech/parity-scale-codec")
    (synopsis "SCALE - Simple Concatenating Aggregated Little Endians")
    (description "This package is a Rust library for SCALE - Simple
Concatenating Aggregated Little Endians.")
    (license license:asl2.0)))

(define-public rust-parity-scale-codec-derive-2
  (package
    (name "rust-parity-scale-codec-derive")
    (version "2.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parity-scale-codec-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09zdgdqalc8d2zsjc9v1ayqxwg5rh7xxq5ldasdmqng0fq202mqm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Could not find `parity-scale-codec` in `dependencies`
       #:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "")
    (synopsis
     "Serialization and deserialization derive macro for Parity SCALE Codec")
    (description "This is a Rust library for serialization and deserialization
derive macro for Parity SCALE Codec.")
    (license license:asl2.0)))

(define-public rust-parity-wasm-0.41
  (package
    (name "rust-parity-wasm")
    (version "0.41.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "parity-wasm" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0rfqgjyxrxrfjq5r5n81mdklahl8g4az6yhyyvw25nh0mj6qgz6x"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page
      "https://github.com/paritytech/parity-wasm")
    (synopsis "WebAssembly low-level format library")
    (description
      "WebAssembly low-level format library")
    (license (list license:expat license:asl2.0))))

(define-public rust-parking-2
  (package
    (name "rust-parking")
    (version "2.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1blwbkq6im1hfxp5wlbr475mw98rsyc0bbr2d5n16m38z253p0dv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-loom" ,rust-loom-0.7))
       #:cargo-development-inputs
       (("rust-easy-parallel" ,rust-easy-parallel-3))))
    (home-page "https://github.com/smol-rs/parking")
    (synopsis "Thread parking and unparking")
    (description
     "This package provides methods for thread parking and unparking.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-parking-1
  (package
    (inherit rust-parking-2)
    (name "rust-parking")
    (version "1.0.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z6q9rxm98vrp3fimw8b5syzwgf8l0pnn6y0cqm4lbblf7r01cvc"))))))

(define-public rust-parking-lot-0.12
  (package
    (name "rust-parking-lot")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09ws9g6245iiq8z975h8ycf818a66q3c6zv4b5h8skpm7hc1igzi"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-test-flags
           '(list "--release" "--"
                  "--skip=issue_392")
           #:cargo-inputs
           `(("rust-lock-api" ,rust-lock-api-0.4)
             ("rust-parking-lot-core" ,rust-parking-lot-core-0.9))
           #:cargo-development-inputs
           `(("rust-bincode" ,rust-bincode-1)
             ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis
     "Efficient implementations of the standard synchronization primitives")
    (description
     "This package provides more compact and efficient implementations
of the standard synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-parking-lot-0.11
  (package
    (inherit rust-parking-lot-0.12)
    (name "rust-parking-lot")
    (version "0.11.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "parking_lot" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "16gzf41bxmm10x82bla8d6wfppy9ym3fxsmdjyvn61m66s0bf5vx"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-instant" ,rust-instant-0.1)
             ("rust-lock-api" ,rust-lock-api-0.4)
             ("rust-parking-lot-core" ,rust-parking-lot-core-0.8))))))

(define-public rust-parking-lot-0.10
  (package
    (name "rust-parking-lot")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0pjhcbyk6n0g6jsr6s9nf4x8wribm1b2yf8fgc8drbqa77mh99yk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lock-api" ,rust-lock-api-0.3)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.7))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.7))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis "Compact standard synchronization primitives")
    (description
     "More compact and efficient implementations of the standard
synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-parking-lot-0.9
  (package
    (inherit rust-parking-lot-0.10)
    (name "rust-parking-lot")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0lk2vq3hp88ygpgsrypdr3ss71fidnqbykva0csgxhmn5scb2hpq"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lock-api" ,rust-lock-api-0.3)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.6))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-rustc-version" ,rust-rustc-version-0.2))))))

(define-public rust-parking-lot-0.8
  (package
    (inherit rust-parking-lot-0.9)
    (name "rust-parking-lot")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1rrcdalr8l5zx3bw28l376321l6dnd6rqnsqsl0ygk01fy0nfxzs"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lock-api" ,rust-lock-api-0.2)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.5))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-rustc-version" ,rust-rustc-version-0.2))))))

(define-public rust-parking-lot-0.7
  (package
    (inherit rust-parking-lot-0.9)
    (name "rust-parking-lot")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0dz32cqx9200n1lk3kwyb599vabfid3f8sj1aq85sw42s2pb8hdb"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lock-api" ,rust-lock-api-0.1)
        ("rust-parking-lot-core" ,rust-parking-lot-core-0.4))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.4)
        ("rust-rustc-version" ,rust-rustc-version-0.2))))))

(define-public rust-parking-lot-0.4
  (package
    (inherit rust-parking-lot-0.9)
    (name "rust-parking-lot")
    (version "0.4.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "parking_lot" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ph0kv3dfcxpjbi83wkzammqb7lm95j8in7w7hz17hgkjxdqz78l"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-parking-lot-core" ,rust-parking-lot-core-0.2)
             ("rust-owning-ref" ,rust-owning-ref-0.3))
           #:cargo-development-inputs
           `(("rust-rand" ,rust-rand-0.3))))))

(define-public rust-parking-lot-core-0.9
  (package
    (name "rust-parking-lot-core")
    (version "0.9.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "parking_lot_core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1y3cf9ld9ijf7i4igwzffcn0xl16dxyn4c5bwgjck1dkgabiyh0y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-petgraph" ,rust-petgraph-0.6)
        ("rust-redox-syscall" ,rust-redox-syscall-0.5)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thread-id" ,rust-thread-id-4)
        ("rust-windows-targets" ,rust-windows-targets-0.52))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis "API for creating custom synchronization primitives")
    (description "This package provides an advanced API for creating custom
synchronization primitives.")
    (license (list license:expat license:asl2.0))))

(define-public rust-parking-lot-core-0.8
  (package
    (name "rust-parking-lot-core")
    (version "0.8.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1p2nfcbr0b9lm9rglgm28k6mwyjwgm4knipsmqbgqaxdy3kcz8k0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-instant" ,rust-instant-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-petgraph" ,rust-petgraph-0.5)
        ("rust-redox-syscall" ,rust-redox-syscall-0.2)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thread-id" ,rust-thread-id-4)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/Amanieu/parking_lot")
    (synopsis "API for creating custom synchronization primitives")
    (description "This package provides an advanced API for creating custom
synchronization primitives.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-parking-lot-core-0.7
  (package
    (inherit rust-parking-lot-core-0.8)
    (name "rust-parking-lot-core")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "167wvxai4a5zhpy5zfgfbm5c566vfffjlr3fkrwkq21kn9mkhgxr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-cloudabi" ,rust-cloudabi-0.0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-petgraph" ,rust-petgraph-0.5)
        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thread-id" ,rust-thread-id-3)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-parking-lot-core-0.6
  (package
    (inherit rust-parking-lot-core-0.7)
    (name "rust-parking-lot-core")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02kbwqrr0w5mw0hkklqcg35aaiq1cck3g1w0d8bpbgk21a0np9mx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-cloudabi" ,rust-cloudabi-0.0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-petgraph" ,rust-petgraph-0.4)
        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-smallvec" ,rust-smallvec-0.6)
        ("rust-thread-id" ,rust-thread-id-3)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-parking-lot-core-0.5
  (package
    (inherit rust-parking-lot-core-0.6)
    (name "rust-parking-lot-core")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot_core" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1317j5a1yd03baza2kqqrxb4kr1vxa7rckw4frksl2vrncfcp26b"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-cloudabi" ,rust-cloudabi-0.0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-petgraph" ,rust-petgraph-0.4)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
        ("rust-smallvec" ,rust-smallvec-0.6)
        ("rust-thread-id" ,rust-thread-id-3)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-rustc-version" ,rust-rustc-version-0.2))))))

(define-public rust-parking-lot-core-0.4
  (package
    (inherit rust-parking-lot-core-0.6)
    (name "rust-parking-lot-core")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parking_lot_core" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-petgraph" ,rust-petgraph-0.4)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-smallvec" ,rust-smallvec-0.6)
        ("rust-thread-id" ,rust-thread-id-3)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-rustc-version" ,rust-rustc-version-0.2))))))

(define-public rust-parking-lot-core-0.2
  (package
    (inherit rust-parking-lot-core-0.6)
    (name "rust-parking-lot-core")
    (version "0.2.14")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "parking_lot_core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1yip8m6npxb87ilnn0q774psp1zd0vgv66fcjkkvr9rlyz6aicad"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-backtrace" ,rust-backtrace-0.3)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-petgraph" ,rust-petgraph-0.4)
             ("rust-rand" ,rust-rand-0.4)
             ("rust-smallvec" ,rust-smallvec-0.6)
             ("rust-thread-id" ,rust-thread-id-3)
             ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-parquet-format-async-temp-0.2
  (package
    (name "rust-parquet-format-async-temp")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parquet-format-async-temp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i7mn4x64d8g6d046y9kpb55dz8v0z67cz7lhgncxs9zr3ww5aq3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-integer-encoding" ,rust-integer-encoding-3)
        ("rust-ordered-float" ,rust-ordered-float-1))))
    (home-page "https://github.com/sunchao/parquet-format-rs")
    (synopsis "Temporary crate containing thrift library + parquet definitions")
    (description
     "This is a temporary crate containing thrift library and parquet
definitions compiled to support read+write async.")
    (license license:asl2.0)))

(define-public rust-parquet-format-safe-0.2
  (package
    (name "rust-parquet-format-safe")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parquet-format-safe" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07wf6wf4jrxlq5p3xldxsnabp7jl06my2qp7kiwy9m3x2r5wac8i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-futures" ,rust-futures-0.3))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/jorgecarleitao/parquet-format-safe")
    (synopsis "Safe Parquet and Thrift reader and writer (sync and async)")
    (description "Safe Parquet and Thrift reader and writer (sync and async).")
    (license (list license:expat license:asl2.0))))

(define-public rust-parquet2-0.17
  (package
    (name "rust-parquet2")
    (version "0.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parquet2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kiv50rj44y6flsa2879wi4kwsfldwhyvgrnybaz7kh2bxsfb7sp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-brotli" ,rust-brotli-3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-lz4-flex" ,rust-lz4-flex-0.9)
        ("rust-parquet-format-safe" ,rust-parquet-format-safe-0.2)
        ("rust-seq-macro" ,rust-seq-macro-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-snap" ,rust-snap-1)
        ("rust-streaming-decompression" ,rust-streaming-decompression-0.1)
        ("rust-xxhash-rust" ,rust-xxhash-rust-0.8)
        ("rust-zstd" ,rust-zstd-0.12))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tokio" ,rust-tokio-1))))
    (native-inputs (list pkg-config))
    (inputs (list (list zstd "lib")))
    (home-page "https://github.com/jorgecarleitao/parquet2")
    (synopsis "Safe implementation of Parquet IO")
    (description
     "Parquet2 is a re-write of the official Parquet crate with performance,
parallelism and safety in mind.")
    (license license:asl2.0)))

(define-public rust-parquet2-0.6
  (package
    (inherit rust-parquet2-0.17)
    (name "rust-parquet2")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parquet2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v9xc20wmn2r1pyaxqd8zf9vnschbf8r00c5kg9332fqrmadz0nv"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-bitpacking" ,rust-bitpacking-0.8)
        ("rust-brotli" ,rust-brotli-3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-parquet-format-async-temp" ,rust-parquet-format-async-temp-0.2)
        ("rust-snap" ,rust-snap-1)
        ("rust-streaming-decompression" ,rust-streaming-decompression-0.1)
        ("rust-zstd" ,rust-zstd-0.9))))
    (native-inputs '())
    (inputs '())))

(define-public rust-parse-datetime-0.6
  (package
    (name "rust-parse-datetime")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parse_datetime" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l4n9gsflf1fksfrvyhqyf8bdwxrk0s705l7x86g4jnxwds08wm8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/uutils/parse_datetime")
    (synopsis "Parse human-readable time strings and converting them to a DateTime")
    (description
     "This package provides parsing human-readable time strings and converting
them to a @code{DateTime}.")
    (license license:expat)))

(define-public rust-parse-display-0.8
  (package
    (name "rust-parse-display")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parse-display" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p5w8jmb05lp3s9m5crwp1fkmgnc49xh5wlpzvdfhlrbf849sl66"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-parse-display-derive" ,rust-parse-display-derive-0.8)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/frozenlib/parse-display")
    (synopsis
     "Procedural macro to implement Display and FromStr using common settings")
    (description
     "This package provides a procedural macro to implement @code{Display} and
@code{FromStr} using common settings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-parse-display-derive-0.8
  (package
    (name "rust-parse-display-derive")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parse-display-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hgkhjnk0xlaixql207p7vvg41vyq7y7gdqdijh8vxysr297hlb8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.7)
                       ("rust-structmeta" ,rust-structmeta-0.2)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/frozenlib/parse-display")
    (synopsis
     "Procedural macro to implement Display and FromStr using common settings")
    (description
     "This package provides a procedural macro to implement @code{Display} and
@code{FromStr} using common settings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-parse-zoneinfo-0.3
  (package
    (name "rust-parse-zoneinfo")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "parse-zoneinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h8g6jy4kckn2gk8sd5adaws180n1ip65xhzw5jxlq4w8ibg41f7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1))))
    (home-page "")
    (synopsis "Parse zoneinfo files from the IANA database")
    (description
     "This package parses zoneinfo files from the IANA database.")
    (license license:expat)))

(define-public rust-partial-io-0.5
  (package
    (name "rust-partial-io")
    (version "0.5.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "partial-io" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05hfdlbqwfkwmkws797b6nrlpaszxg50avfs161v8n4zchicz5dg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-pin-project" ,rust-pin-project-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.10)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/sunshowers-code/partial-io")
    (synopsis "Helpers to test partial, interrupted and would-block I/O operations")
    (description "This package provides helpers to test partial, interrupted
and would-block I/O operations.")
    (license license:expat)))

(define-public rust-partial-io-0.3
  (package
    (inherit rust-partial-io-0.5)
    (name "rust-partial-io")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "partial-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0b9a2bvqmaj2r4rkbshjsg8zzvp23b67qfvj2y6jwjckrn6zhb38"))))
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-tokio-io" ,rust-tokio-io-0.1))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-tokio-core" ,rust-tokio-core-0.1))))))

(define-public rust-partial-ref-0.3
  (package
    (name "rust-partial-ref")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "partial_ref" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "034i78nmzp2bdapvpz8fgh14932aj0s70l5s1kj5d5j7n74qnwhg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `partial_ref_tests`
       #:cargo-inputs (("rust-partial-ref-derive" ,rust-partial-ref-derive-0.3))))
    (home-page "https://github.com/jix/partial_ref")
    (synopsis "Type checked partial references")
    (description "This package provides type checked partial references.")
    (license (list license:expat license:asl2.0))))

(define-public rust-partial-ref-derive-0.3
  (package
    (name "rust-partial-ref-derive")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "partial_ref_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10bm0pxwjph40z9pqwdzkkkbyz9n1h6lx69f6jjvb65qnln1s3ih"))))
    (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/jix/partial_ref")
    (synopsis "Derives for partial_ref")
    (description "This package provides derives for partial_ref.")
    (license (list license:expat license:asl2.0))))

(define-public rust-partition-identity-0.3
  (package
    (name "rust-partition-identity")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "partition-identity" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08cymccnyf2b0pwc7x4wj889k1knqmrb8500idsjslybpvwjbacz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/pop-os/partition-identity")
    (synopsis
     "Find the ID of a device by its path, or find a device path by its ID")
    (description
     "This package provides the ability to find ID of a device by its path, or
find a device path by its ID.")
    (license license:expat)))

(define-public rust-pasetors-0.6
  (package
    (name "rust-pasetors")
    (version "0.6.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pasetors" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1fkdp4lya95nrkrds3i14288g4a85gxrlg8lnz8hs8zjcryd8dkb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ct-codecs" ,rust-ct-codecs-1)
        ("rust-ed25519-compact" ,rust-ed25519-compact-2)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-orion" ,rust-orion-0.17)
        ("rust-p384" ,rust-p384-0.13)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sha2" ,rust-sha2-0.10)
        ("rust-subtle" ,rust-subtle-2)
        ("rust-time" ,rust-time-0.3)
        ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-hex" ,rust-hex-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/brycx/pasetors")
    (synopsis "PASETO: Platform-Agnostic Security Tokens (in Rust)")
    (description "PASETO: Platform-Agnostic Security Tokens (in Rust)")
    (license license:expat)))

(define-public rust-password-hash-0.5
  (package
    (name "rust-password-hash")
    (version "0.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "password-hash" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ri1mim11zk0a9s40zdi288dfqvmdiryc7lw8vl46b59ifa08vrl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-base64ct" ,rust-base64ct-1)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-subtle" ,rust-subtle-2))))
    (home-page "https://github.com/RustCrypto/traits/tree/master/password-hash")
    (synopsis
     "Traits describing the functionality of password hashing algorithms")
    (description
     "This package provides traits which describe the functionality of
password hashing algorithms, as well as a `no_std`-friendly implementation of
the PHC string format (a well-defined subset of the Modular Crypt
Format (MCF).")
    (license (list license:expat license:asl2.0))))

(define-public rust-password-hash-0.4
  (package
    (inherit rust-password-hash-0.5)
    (name "rust-password-hash")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "password-hash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "003p2hssyrcaxyq9fs8x2wx5di8ny9byaakskrf352pfm963fxkn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-base64ct" ,rust-base64ct-1)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-subtle" ,rust-subtle-2))))))

(define-public rust-password-hash-0.3
  (package
    (inherit rust-password-hash-0.4)
    (name "rust-password-hash")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "password-hash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n7ig9j5x2q0fk12nny40faggrs0ra5bbxp6gz5yghfwlqw1ay8x"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (((string-append ">=([[:digit:]]+(\\.[[:digit:]]+)*),"
                                   " <([[:digit:]]+(\\.[[:digit:]]+)*)")
                    _ version _)
                   (string-append ">=" version)))))))
    (arguments
     `(#:cargo-inputs
       (("rust-base64ct" ,rust-base64ct-1)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-subtle" ,rust-subtle-2))))))

(define-public rust-password-hash-0.2
  (package
    (inherit rust-password-hash-0.5)
    (name "rust-password-hash")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "password-hash" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1rr4kd52ld978a2xhcvlc54p1d92yhxl9kvbajba7ia6rs5b5q3p"))
              (modules '((guix build utils)))
              (snippet
               '(begin
                  (substitute* "Cargo.toml"
                    (((string-append ">=([[:digit:]]+(\\.[[:digit:]]+)*),"
                                     " <([[:digit:]]+(\\.[[:digit:]]+)*)")
                      _ version _)
                     (string-append ">=" version)))))))
    (arguments
     (list #:cargo-inputs `(("rust-base64ct" ,rust-base64ct-1)
                            ("rust-subtle" ,rust-subtle-2)
                            ("rust-rand-core" ,rust-rand-core-0.6))))))

;; WARNING: This package is a dependency of mesa.
(define-public rust-paste-1
  (package
    (name "rust-paste")
    (version "1.0.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paste" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02pxffpdqkapy292harq6asfjvadgp1s005fip9ljfsn9fvxgh2p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Can't compile rust-paste-test-suite
       #:cargo-development-inputs
       (("rust-paste-test-suite" ,rust-paste-test-suite-0.0.0)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/paste")
    (synopsis "Macros for all your token pasting needs")
    (description
     "This package provides macros for all your token pasting needs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-paste-0.1
  (package
    (inherit rust-paste-1)
    (name "rust-paste")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paste" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10587zrlmzhq66yhd0z36fzglf32m1nlhi9bxxm6dgl0gp3j1jj5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-paste-impl" ,rust-paste-impl-0.1)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-paste-impl-0.1
  (package
    (name "rust-paste-impl")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paste-impl" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1dlqzk05cx74522s4iyhyzzhszig4n401pp6r1qg6zmr02r7snnr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/dtolnay/paste")
    (synopsis "Implementation detail of the paste crate")
    (description
     "Implementation detail of the paste crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-paste-test-suite-0.0.0
  (package
    (name "rust-paste-test-suite")
    (version "0.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paste-test-suite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mllghv41sz978ymxym8nm6yh1qljshsbjk6iaycbk6zlw7gqagh"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t)) ; Not meant to be used individually.
    (home-page "https://github.com/dtolnay/paste")
    (synopsis "Test suite of the paste crate")
    (description "Test suite of the paste crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-path-abs-0.5
  (package
    (name "rust-path-abs")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "path_abs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hrkjrk9w2mhgzwl84gl2lmajs7yagdrcpxnjf51vh1a6kv05vq5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-std-prelude" ,rust-std-prelude-0.2)
        ("rust-stfu8" ,rust-stfu8-0.2))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.4)
        ("rust-regex" ,rust-regex-0.2)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/vitiral/path_abs")
    (synopsis "Ergonomic paths and files in Rust")
    (description "This library provides ergonomic path and file operations to
Rust with reasonable performance.")
    (license (list license:expat license:asl2.0))))

(define-public rust-path-clean-1
  (package
    (name "rust-path-clean")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "path-clean" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vzwcrlz39rd94l89rppvkbsn7dvng449f1bnkyk3ayp43y9ld8p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2))))
    (home-page "https://github.com/danreeves/path-clean")
    (synopsis "Rust implementation of cleanname or path.Clean")
    (description "This package provides a Rust implementation of cleanname or
path.Clean.")
    (license (list license:expat license:asl2.0))))

(define-public rust-path-clean-0.1
  (package
    (inherit rust-path-clean-1)
    (name "rust-path-clean")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "path-clean" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1pcgqxw0mgg3ha5hi5xkjhyjf488bw5rw1g3qlr9awbq4szh3fpc"))))
    (arguments '())))

(define-public rust-path-slash-0.2
  (package
    (name "rust-path-slash")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "path-slash" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0hjgljv4vy97qqw9gxnwzqhhpysjss2yhdphfccy3c388afhk48y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/rhysd/path-slash")
    (synopsis "Rust library to convert a file path from/to slash path")
    (description
     "This package provides @code{path-slash}, a tiny library to convert a file
path (e.g. @code{foo/bar}, @code{foo\\bar} or @code{C:\\foo\\bar}) from/to a
slash path (e.g. @code{foo/bar}, @code{C:/foo/bar}).")
    (license license:expat)))

(define-public rust-path-slash-0.1
  (package
    (inherit rust-path-slash-0.2)
    (name "rust-path-slash")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "path-slash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15mni0f28mblwd97192c4zyyi6054yljmiqrdb6bx97ga69hk2j9"))))
    (arguments
     `(#:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-pathdiff-0.2
  (package
    (name "rust-pathdiff")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pathdiff" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lrqp4ip05df8dzldq6gb2c1sq2gs54gly8lcnv3rhav1qhwx56z"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs `(("rust-camino" ,rust-camino-1))
           #:cargo-development-inputs `(("rust-cfg-if" ,rust-cfg-if-1))))
    (home-page "https://github.com/Manishearth/pathdiff")
    (synopsis "Library for diffing paths to obtain relative paths")
    (description
     "This package provides a Rust library for constructing a
relative path from a provided base directory path to the provided
path.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pathfinder-geometry-0.5
  (package
    (name "rust-pathfinder-geometry")
    (version "0.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pathfinder_geometry" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1lssir0s1cmrpzzrk49jm31nkssh2j715gryww6700x79rxpwyqb"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-log" ,rust-log-0.4)
         ("rust-pathfinder-simd" ,rust-pathfinder-simd-0.5))))
    (home-page "https://github.com/servo/pathfinder")
    (synopsis "Basic SIMD-accelerated geometry/linear algebra")
    (description "This package provides basic SIMD-accelerated geometry/linear
algebra.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pathfinder-simd-0.5
  (package
    (name "rust-pathfinder-simd")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pathfinder_simd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zx6yjch2zwlnbrsq3ljnkwzs9jdf4cbh5wwjkjradahqnn4dzir"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rustc-version" ,rust-rustc-version-0.3))))
    (home-page "https://github.com/servo/pathfinder")
    (synopsis "Simple SIMD Rust library")
    (description "This package provides a simple SIMD Rust library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pathsearch-0.2
  (package
    (name "rust-pathsearch")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pathsearch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01bvjyighsrb5bgk8vcwlr1mjv6pqxk4n2qrkhbigaw2wp2kp66s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/wez/wzsh")
    (synopsis "Search for files in PATH")
    (description "This package provides Search for files in PATH.")
    (license license:expat)))

(define-public rust-paw-1
  (package
    (name "rust-paw")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paw" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sc481y42rb08hmww525m4539ppl8k0w14kwxp13vg2dasdzrh09"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; `async_await` has been stable since `1.39.0`
       #:cargo-inputs
       (("rust-paw-attributes" ,rust-paw-attributes-1)
        ("rust-paw-raw" ,rust-paw-raw-1))
       #:cargo-development-inputs
       (("rust-paw-structopt" ,rust-paw-structopt-1)
        ("rust-runtime" ,rust-runtime-0.3)
        ("rust-structopt" ,rust-structopt-0.2))))
    (home-page "https://github.com/rust-cli/paw")
    (synopsis "CLI argument parser")
    (description "This package provides a CLI argument parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-paw-attributes-1
  (package
    (name "rust-paw-attributes")
    (version "1.0.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "paw-attributes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0fda1v7y5pfmg8d2v7m0pyvif6c44qjz914jjn718pdyclrmhd8g"))))
    (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/rust-cli/paw")
    (synopsis "Proc Macro attributes for the Paw crate")
    (description "This package provides Proc Macro attributes for the Paw
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-paw-raw-1
  (package
    (name "rust-paw-raw")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paw-raw" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wk76ipp34gjh42vivmgdkb2rgr26gwhn34gk7z5l378ixk5j2vz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rust-cli/paw")
    (synopsis "Traits to implement custom Paw implementations")
    (description "This package provides traits to implement custom Paw
implementations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-paw-structopt-1
  (package
    (name "rust-paw-structopt")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "paw-structopt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1iwg83xqjpfgpy8wrq173cy7zgkyxfryd230sh34f5qsjdx7zap4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `paw`
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-structopt" ,rust-structopt-0.2)
        ("rust-syn" ,rust-syn-0.15))))
    (home-page "https://github.com/rust-cli/paw")
    (synopsis "Structopt support for the Paw crate")
    (description "This package provides Structopt support for the Paw crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pcap-1
  (package
    (name "rust-pcap")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ygzsi7v2x9ld5cb61dfg8jgifs2rln6qlknypzqjjnmfgy3bscr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-errno" ,rust-errno-0.2)
                       ("rust-etherparse" ,rust-etherparse-0.13)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-gat-std" ,rust-gat-std-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libloading" ,rust-libloading-0.6)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tun-tap" ,rust-tun-tap-0.1)
                       ("rust-windows-sys" ,rust-windows-sys-0.36))
       #:cargo-development-inputs (("rust-eui48" ,rust-eui48-1)
                                   ("rust-mockall" ,rust-mockall-0.11)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-tempdir" ,rust-tempdir-0.3))))
    (inputs (list libpcap))
    (home-page "https://github.com/rust-pcap/pcap")
    (synopsis "Packet capture API around (w)pcap")
    (description
     "This package provides a packet capture API around pcap/wpcap.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pcap-0.7
  (package
    (inherit rust-pcap-1)
    (name "rust-pcap")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14blflnbj87z3ajlj1hszsl6k7rwa338y4aw2yjm2j0xdpjvj4pr"))))
    (arguments
     `(#:tests? #f  ; can't find crate for `futures`
       #:cargo-inputs
       (("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-tokio-core" ,rust-tokio-core-0.1))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-pcap-sys-0.1
  (package
    (name "rust-pcap-sys")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcap-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18w9c8i5zjnazay86219w4789482ya617z35cw433h12wbgjaiqi"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (delete-file-recursively "Lib")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-winapi" ,rust-winapi-0.3))))
    (inputs (list libpcap))
    (home-page "https://github.com/jmmk/rustcap")
    (synopsis "Low-level bindings to libpcap")
    (description "This package provides low-level Rust bindings to the libpcap
library.")
    (license license:expat)))

(define-public rust-pcg-mwc-0.2
  (package
    (name "rust-pcg-mwc")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcg-mwc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z6cpz8x387iqcx8kjnqfihgggi0yngqx73zwjz132y56f38a5i2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.6)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/tkaitchuck/Mwc256XXA64")
    (synopsis "Non-cryptographic pseudo random number generator")
    (description
     "This package provides a fast non-cryptographic pseudo random number generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pciid-parser-0.6
  (package
    (name "rust-pciid-parser")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pciid-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d6pliaab6xs2m1vnialy1biaw3nv6g9s0ykdrracx2a5h1p4jdd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-ureq" ,rust-ureq-2))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/ilyazzz/pci-id-parser")
    (synopsis "Library for parsing PCI ID tables")
    (description "This package provides a library for parsing PCI ID tables.")
    (license license:expat)))

(define-public rust-pcre2-0.2
  (package
    (name "rust-pcre2")
    (version "0.2.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcre2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0avb52h3ppw6kp9ynlw988c745am9j7px2cdsm0la10qmi1mrr9v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-pcre2-sys" ,rust-pcre2-sys-0.2))))
    (native-inputs (list pkg-config))
    (inputs (list pcre2))
    (home-page "https://github.com/BurntSushi/rust-pcre2")
    (synopsis "High level wrapper library for PCRE2")
    (description
     "This package provides a high level wrapper library for PCRE2.")
    (license (list license:expat license:unlicense))))

(define-public rust-pcre2-sys-0.2
  (package
    (name "rust-pcre2-sys")
    (version "0.2.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcre2-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12hxy54i8amdnmcm034hqdc7iryd20n8aqg1hw5w540vzcc5s3sm"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (delete-file-recursively "upstream")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-cc" ,rust-cc-1))))
    (native-inputs (list pkg-config))
    (inputs (list pcre2))
    (home-page "https://github.com/BurntSushi/rust-pcre2")
    (synopsis "Low level bindings to PCRE2")
    (description "Low level bindings to PCRE2.")
    (license (list license:expat license:unlicense))))

(define-public rust-pcsc-2
  (package
    (name "rust-pcsc")
    (version "2.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcsc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "027a2s8lp6w025aa758s84qszcwkyg92s1mhvplrqzbbh5zrvva5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-pcsc-sys" ,rust-pcsc-sys-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list pcsc-lite))
    (home-page "https://github.com/bluetech/pcsc-rust")
    (synopsis "Bindings to the PC/SC API for smart card communication")
    (description
     "This package provides Bindings to the PC/SC API for smart card communication.")
    (license license:expat)))

(define-public rust-pcsc-sys-1
  (package
    (name "rust-pcsc-sys")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pcsc-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00vlrfv3kcr49ajbzzr1b4ls7g28f97mj9vdjdzick9c1yl9p7mh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list pcsc-lite))
    (home-page "https://github.com/bluetech/pcsc-rust")
    (synopsis "Low-level bindings to the PC/SC C API")
    (description
     "This package provides Low-level bindings to the PC/SC C API.")
    (license license:expat)))

(define-public rust-pdqselect-0.1
  (package
    (name "rust-pdqselect")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pdqselect" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "09vwywzavhgqgr3vi2ycgv2nd0067jirv36fb3jvp860xikigjaf"))))
    (build-system cargo-build-system)
    (home-page "https://crates.io/crates/pdqselect")
    (synopsis "Selects the kth smallest element of a slice")
    (description
     "Selects the kth smallest element of a slice, based on Orson Peters's
pdqsort.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pear-0.2
  (package
    (name "rust-pear")
    (version "0.2.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pear" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j03s6m80iqldnm6jzh3k1fbyk0lxirx8bi4ivgq3k3sq7va1k2c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-inlinable-string" ,rust-inlinable-string-0.1)
                       ("rust-pear-codegen" ,rust-pear-codegen-0.2)
                       ("rust-yansi" ,rust-yansi-1))))
    (home-page "https://crates.io/crates/pear")
    (synopsis "Pear is a fruit")
    (description "This package provides a pear is a fruit.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pear-0.1
  (package
    (inherit rust-pear-0.2)
    (name "rust-pear")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pear" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02lnp8c414z5ds0lskd4zxlalrjljzpkg8g6kizszij4h52sgprj"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-pear-codegen" ,rust-pear-codegen-0.1))))))

(define-public rust-pear-codegen-0.2
  (package
    (name "rust-pear-codegen")
    (version "0.2.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pear_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xrwnlncg7l64gfy82vf6kq55ww7p6krq6bc3pqwymxpiq76f8if"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `pear`
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-proc-macro2-diagnostics" ,rust-proc-macro2-diagnostics-0.10)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://crates.io/crates/pear_codegen")
    (synopsis "Codegen for pear")
    (description
     "This package provides a (codegen) pear is a fruit.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pear-codegen-0.1
  (package
    (inherit rust-pear-codegen-0.2)
    (name "rust-pear-codegen")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pear_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19lcpkfspizd4ywwvca6rxgc311m070k3ndvwa9vrbw1snjqna60"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15)
        ("rust-version-check" ,rust-version-check-0.9)
        ("rust-yansi" ,rust-yansi-0.5))))))

(define-public rust-peeking-take-while-0.1
  (package
    (name "rust-peeking-take-while")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "peeking_take_while" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/fitzgen/peeking_take_while")
    (synopsis "Provides the peeking_take_while iterator adaptor method")
    (description
      "Like @code{Iterator::take_while}, but calls the predicate on a peeked
value.  This allows you to use @code{Iterator::by_ref} and
@code{Iterator::take_while} together, and still get the first value for which
the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-peg-0.8
  (package
    (name "rust-peg")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "peg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13qfwkmlmm3wbwzsrc3bkb16m1xjd5w7aah5cvpx2ipk5nq86li9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-peg-macros" ,rust-peg-macros-0.8)
                       ("rust-peg-runtime" ,rust-peg-runtime-0.8))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1)
                                   ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/kevinmehall/rust-peg")
    (synopsis "Simple Parsing Expression Grammar (PEG) parser generator")
    (description
     "PEG provides a simple Parsing Expression Grammar (PEG) parser generator
in Rust.")
    (license license:expat)))

(define-public rust-peg-0.6
  (package
    (inherit rust-peg-0.8)
    (name "rust-peg")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "peg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15rfp12dgsynplphp443zfw47m2d5snvdm6a25gz48dv2if8fxch"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-peg-macros" ,rust-peg-macros-0.6)
                       ("rust-peg-runtime" ,rust-peg-runtime-0.6))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-peg-0.5
  (package
    (inherit rust-peg-0.6)
    (name "rust-peg")
    (version "0.5.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "peg" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "11az3bs3ngvfip920xfr0zwblfkyg6cjgz1v9hmfsdnqw7fi5ps0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-0.3))))))

(define-public rust-peg-macros-0.8
  (package
    (name "rust-peg-macros")
    (version "0.8.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "peg-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09nlm6lw5zdpv9wnfr08836snsjnypaibr1cb1cs05pikhfnmbdx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-peg-runtime" ,rust-peg-runtime-0.8)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/kevinmehall/rust-peg")
    (synopsis "Procedural macros for rust-peg")
    (description
     "PEG provides a Parsing Expression Grammar.  This package provides
procedural macros for rust-peg.  To use rust-peg, see the peg package.")
    (license license:expat)))

(define-public rust-peg-macros-0.6
  (package
    (inherit rust-peg-macros-0.8)
    (name "rust-peg-macros")
    (version "0.6.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "peg-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0li8qrb8hyqr7v5mhrkym0xp7ijnbksqviqc2i3556cysdgick62"))))
    (arguments
     `(#:cargo-inputs
       (("rust-peg-runtime" ,rust-peg-runtime-0.6)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1))))))

(define-public rust-peg-runtime-0.8
  (package
    (name "rust-peg-runtime")
    (version "0.8.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "peg-runtime" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fmasxbncm503dcakq8qwkcbjihz4jklkrjy0v1190q79ksvibp3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/kevinmehall/rust-peg")
    (synopsis "Runtime support for rust-peg grammars")
    (description
     "PEG provides a Parsing Expression Grammar.  This package provides
runtime support for rust-peg grammars.  To use rust-peg, see the peg crate.")
    (license license:expat)))

(define-public rust-peg-runtime-0.6
  (package
    (inherit rust-peg-runtime-0.8)
    (name "rust-peg-runtime")
    (version "0.6.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "peg-runtime" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0r583cq923v0narrpq73qmp780yg4pablzklhrwnr64xwsbjh6hc"))))))

(define-public rust-pem-3
  (package
    (name "rust-pem")
    (version "3.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pem" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1blgcn17wc41yxdzrxlsir5m6ds8r13ijmpsqda6lwwhwmjr6icf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-base64" ,rust-base64-0.22)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/jcreekmore/pem-rs.git")
    (synopsis "Parse and encode PEM-encoded data")
    (description
     "This package provides a Rust library for parsing and encoding
PEM-encoded data.")
    (license license:expat)))

(define-public rust-pem-2
  (package
    (inherit rust-pem-3)
    (name "rust-pem")
    (version "2.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pem" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06j4vmzkfg5jh9ykc5bdvydishqkbb4sf64fa528wg6zbi0zw4vb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.21)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-pem-1
  (package
    (inherit rust-pem-2)
    (name "rust-pem")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pem" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1f184b7vs5kgwglfsy9adqqy7625jsq8jj1lsxah9abn78kmr0x8"))))
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-pem-0.8
  (package
    (inherit rust-pem-1)
    (name "rust-pem")
    (version "0.8.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pem" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1sqkzp87j6s79sjxk4n913gcmalzb2fdc75l832d0j7a3z9cnmpx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))))

(define-public rust-pep440-rs-0.6
  (package
    (name "rust-pep440-rs")
    (version "0.6.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pep440_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11g35bi0gagfchjcdvpaj1i82gxkrc391fcpm2f0cblw2yissvj6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pubgrub" ,rust-pubgrub-0.2)
                       ("rust-pyo3" ,rust-pyo3-0.22)
                       ("rust-rkyv" ,rust-rkyv-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-unscanny" ,rust-unscanny-0.1))
       #:cargo-development-inputs (("rust-indoc" ,rust-indoc-2))))
    (home-page "https://github.com/konstin/pep440-rs")
    (synopsis
     "Library for python version numbers and specifiers, implementing PEP 440")
    (description
     "This package provides a library for python version numbers and specifiers,
implementing PEP 440.")
    (license (list license:asl2.0 license:bsd-2))))

(define-public rust-pep440-rs-0.3
  (package
    (inherit rust-pep440-rs-0.6)
    (name "rust-pep440-rs")
    (version "0.3.9")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pep440_rs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0l3nyvfz8qq62dvilwfbzgdqxyz9kbf006s0gpx2qhhi79lia7gy"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pyo3" ,rust-pyo3-0.18)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-indoc" ,rust-indoc-2))))))

;; Should be the same rust-pyo3 version as cargo-input rust-pep440-rs.
(define-public rust-pep508-rs-0.6
  (package
    (name "rust-pep508-rs")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pep508_rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y99l63mi09vkl7b7qzdw5gn8kpq6kj26c9k280cik4rk947g21z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-derivative" ,rust-derivative-2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pep440-rs" ,rust-pep440-rs-0.6)
                       ("rust-pyo3" ,rust-pyo3-0.22)
                       ("rust-pyo3-log" ,rust-pyo3-log-0.11)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rkyv" ,rust-rkyv-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-url" ,rust-url-2)
                       ("rust-urlencoding" ,rust-urlencoding-2))
       #:cargo-development-inputs
       (("rust-indoc" ,rust-indoc-2)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-testing-logger" ,rust-testing-logger-0.1))))
    (home-page "https://github.com/konstin/pep508_rs")
    (synopsis
     "Library for python dependency specifiers, better known as PEP 508")
    (description
     "This package provides a library for python dependency specifiers, better
known as PEP 508.")
    (license (list license:asl2.0 license:bsd-2))))

(define-public rust-pep508-rs-0.2
  (package
    (inherit rust-pep508-rs-0.6)
    (name "rust-pep508-rs")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pep508_rs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1qjkhh89xhjwhpjz2ppk5lp3mdm464gqx8sh9iyjpjk1p1xkswf0"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pep440-rs" ,rust-pep440-rs-0.3)
        ("rust-pyo3" ,rust-pyo3-0.18)
        ("rust-pyo3-log" ,rust-pyo3-log-0.8)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-toml" ,rust-toml-0.7)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-indoc" ,rust-indoc-2)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-testing-logger" ,rust-testing-logger-0.1))))))

(define-public rust-percent-encoding-2
  (package
    (name "rust-percent-encoding")
    (version "2.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "percent-encoding" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gi8wgx0dcy8rnv1kywdv98lwcx67hz0a0zwpib5v2i08r88y573"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/servo/rust-url/")
    (synopsis "Percent encoding and decoding")
    (description "This crate provides percent encoding and decoding.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-percent-encoding-1
  (package
    (inherit rust-percent-encoding-2)
    (name "rust-percent-encoding")
    (version "1.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "percent-encoding" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i"))))))

(define-public rust-peresil-0.3
  (package
    (name "rust-peresil")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "peresil" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mwyw03yqp0yqdjf4a89vn86szxaksmxvgzv1j2nw69fsmp8hn7n"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/shepmaster/peresil")
    (synopsis "Simple and simplistic string parsing library")
    (description
     "This package provides a simple and simplistic string parsing library.")
    (license license:expat)))

(define-public rust-perf-event-0.4
  (package
    (name "rust-perf-event")
    (version "0.4.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "perf-event" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0rlxmyscr38wynknqqpy82fypq8ywa52ad3dbm22ia7as8n5d5jk"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-perf-event-open-sys"
          ,rust-perf-event-open-sys-1))))
    (home-page
      "https://github.com/jimblandy/perf-event.git")
    (synopsis
     "Rust interface to Linux performance monitoring")
    (description
     "This package provides a Rust interface to Linux performance monitoring.")
    (license (list license:expat license:asl2.0))))

(define-public rust-perf-event-open-sys-1
  (package
    (name "rust-perf-event-open-sys")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "perf-event-open-sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06jnb2jkwjinpj4hc41kbwsqbxdb1ywy5vci4ggly8rcvbsyv6yf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (home-page
     "https://github.com/jimblandy/perf-event-open-sys.git")
    (synopsis
     "Unsafe, direct bindings for Linux's perf_event_open system call")
    (description
     "This package provides a unsafe, direct bindings for Linux's
perf_event_open system call, with associated types and constants.")
    (license (list license:expat license:asl2.0))))

(define-public rust-permutohedron-0.2
  (package
    (name "rust-permutohedron")
    (version "0.2.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "permutohedron" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/bluss/permutohedron")
    (synopsis "Generate permutations of sequences")
    (description
     "Generate permutations of sequences.  Either lexicographical order
permutations, or a minimal swaps permutation sequence implemented using Heap's
algorithm.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-pest-2
  (package
    (name "rust-pest")
    (version "2.7.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hplghvnz8yhs4mgpy7854gkpp6ysr96fy7ircs0k4w33al556c7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-memchr" ,rust-memchr-2)
        ("rust-miette" ,rust-miette-7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-ucd-trie" ,rust-ucd-trie-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-miette" ,rust-miette-7))))
    (home-page "https://pest.rs/")
    (synopsis "The Elegant Parser")
    (description "The Elegant Parser.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pest-derive-2
  (package
    (name "rust-pest-derive")
    (version "2.7.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pest_derive" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1p82kbjm5dvflxgj9vl3q78n2v4l9khh2cwizm3kl4ibcdgkc56j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-pest" ,rust-pest-2)
        ("rust-pest-generator" ,rust-pest-generator-2))))
    (home-page "https://pest.rs/")
    (synopsis "Pest's derive macro")
    (description "Pest's derive macro.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pest-generator-2
  (package
    (name "rust-pest-generator")
    (version "2.7.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pest_generator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0khcyqjyd8pg1qcivh1xzk9613zbn983ycdclap1f5rh6ikmhmgb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-pest" ,rust-pest-2)
        ("rust-pest-meta" ,rust-pest-meta-2)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://pest.rs/")
    (synopsis "Pest code generator")
    (description "Pest code generator.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pest-meta-2
  (package
    (name "rust-pest-meta")
    (version "2.7.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pest_meta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gfhci2whiz3kiw2k2asj2lcj8rrrp4hm69whdvcpngl1jks4pdp"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (delete-file "Cargo.toml")
           (rename-file "Cargo.toml.orig" "Cargo.toml")
           (substitute* "Cargo.toml"
             ;; Correct path to pest dependency.
             (("pest = \\{ path = \"\\.\\./pest\",") "pest = {")
             ;; Remove explicit version requirement on cargo.
             (("cargo = \\{ version = \"")
              "cargo = { version = \">="))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;Not all test files included.
       #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-cargo" ,rust-cargo))
       #:cargo-development-inputs (("rust-sha2" ,rust-sha2-0.10))))
    (home-page "https://pest.rs")
    (synopsis "Pest meta language parser and validator")
    (description "Pest meta language parser and validator.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-petgraph-0.6
  (package
    (name "rust-petgraph")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "petgraph" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ns7mbxidnn2pqahbbjccxkrqkrll2i5rbxx43ns6rh6fn3cridl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fixedbitset" ,rust-fixedbitset-0.4)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-quickcheck" ,rust-quickcheck-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs (("rust-ahash" ,rust-ahash-0.7)
                                   ("rust-bincode" ,rust-bincode-1)
                                   ("rust-defmac" ,rust-defmac-0.2)
                                   ("rust-fxhash" ,rust-fxhash-0.2)
                                   ("rust-itertools" ,rust-itertools-0.12)
                                   ("rust-odds" ,rust-odds-0.4)
                                   ("rust-rand" ,rust-rand-0.5))))
    (home-page "https://github.com/petgraph/petgraph")
    (synopsis "Graph data structure library")
    (description
     "This crate is a graph data structure library.  It provides graph types
and graph algorithms.")
    (license (list license:expat license:asl2.0))))

(define-public rust-petgraph-0.5
  (package
    (inherit rust-petgraph-0.6)
    (name "rust-petgraph")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "petgraph" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dzxda6z17sfxly11m8ja3iargh73pw0s1sdgjyp0qp5dm51cza6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fixedbitset" ,rust-fixedbitset-0.2)
        ("rust-ordermap" ,rust-ordermap-0.3)
        ("rust-quickcheck" ,rust-quickcheck-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-defmac" ,rust-defmac-0.1)
        ("rust-itertools" ,rust-itertools-0.8)
        ("rust-odds" ,rust-odds-0.2)
        ("rust-rand" ,rust-rand-0.5))))))

(define-public rust-petgraph-0.4
  (package
    (inherit rust-petgraph-0.5)
    (name "rust-petgraph")
    (version "0.4.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "petgraph" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0kyfmca854s54jk26g2x1kjb04c3k7cjilaxyr0if8lhxv8mjdlw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fixedbitset" ,rust-fixedbitset-0.1)
        ("rust-odds" ,rust-odds-0.2)
        ("rust-ordermap" ,rust-ordermap-0.3)
        ("rust-quickcheck" ,rust-quickcheck-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-defmac" ,rust-defmac-0.1)
        ("rust-itertools" ,rust-itertools-0.7)
        ("rust-rand" ,rust-rand-0.4))
       #:phases
       (modify-phases %standard-phases
         (add-before 'check 'ignore-failing-test
           (lambda _
             (substitute* "tests/graph.rs"
               (("fn dot\\(\\) \\{" all)
                (string-append "#[ignore] " all))))))))))

(define-public rust-phf-0.11
  (package
    (name "rust-phf")
    (version "0.11.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1p03rsw66l7naqhpgr1a34r9yzi1gv9jh16g3fsk6wrwyfwdiqmd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Doc tests fail.
       #:cargo-inputs
       (("rust-phf-macros" ,rust-phf-macros-0.11)
        ("rust-phf-shared" ,rust-phf-shared-0.11)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/rust-phf/rust-phf")
    (synopsis "Runtime support for perfect hash function data structures")
    (description "This package provides runtime support for perfect hash
function data structures.")
    (license license:expat)))

(define-public rust-phf-0.10
  (package
    (inherit rust-phf-0.11)
    (name "rust-phf")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0naj8n5nasv5hj5ldlva3cl6y3sv7zp3kfgqylhbrg55v3mg3fzs"))))
    (arguments
     `(#:tests? #f          ; Doc tests fail.
       #:cargo-inputs
       (("rust-phf-macros" ,rust-phf-macros-0.10)
        ("rust-phf-shared" ,rust-phf-shared-0.10)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-phf-0.9
  (package
    (inherit rust-phf-0.10)
    (name "rust-phf")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0dsgl8gqaia5lwg9sjlg4ccihn5dija2drg0gi2sjz1samkqpb5j"))))
    (arguments
     `(#:tests? #f      ; unresolved imports `phf::phf_map`, `phf::phf_set`
       #:cargo-inputs
       (("rust-phf-macros" ,rust-phf-macros-0.9)
        ("rust-phf-shared" ,rust-phf-shared-0.9)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))))

(define-public rust-phf-0.8
  (package
    (inherit rust-phf-0.10)
    (name "rust-phf")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "phf" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "04pyv8bzqvw69rd5dynd5nb85py1hf7wa4ixyhrvdz1l5qin3yrx"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-phf-shared" ,rust-phf-shared-0.8)
        ("rust-phf-macros" ,rust-phf-macros-0.8))))))

(define-public rust-phf-0.7
  (package
    (name "rust-phf")
    (version "0.7.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "066xwv4dr6056a9adlkarwp4n94kbpwngbmd47ngm3cfbyw49nmk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-phf-macros" ,rust-phf-macros-0.7)
        ("rust-phf-shared" ,rust-phf-shared-0.7))))
    (home-page "https://github.com/sfackler/rust-phf")
    (synopsis "Runtime support for perfect hash function data structures")
    (description
     "Runtime support for perfect hash function data structures.")
    (license license:expat)))

(define-public rust-phf-codegen-0.11
  (package
    (name "rust-phf-codegen")
    (version "0.11.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_codegen" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0w274bcqbz499vpvd7isb252bc5mxmj9kagapn5mkjp3qn8chsm5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.11)
        ("rust-phf-shared" ,rust-phf-shared-0.11))))
    (home-page "https://github.com/rust-phf/rust-phf")
    (synopsis "Codegen library for PHF types")
    (description "Codegen library for PHF types.")
    (license license:expat)))

(define-public rust-phf-codegen-0.10
  (package
    (inherit rust-phf-codegen-0.11)
    (name "rust-phf-codegen")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k8kdad9wk2d5972k6jmjki2xpdy2ky4zd19rv7ybm2dpjlc7cag"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.10)
        ("rust-phf-shared" ,rust-phf-shared-0.10))))))

(define-public rust-phf-codegen-0.9
  (package
    (inherit rust-phf-codegen-0.10)
    (name "rust-phf-codegen")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_codegen" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "00q5chz1v9idglrzk5qbijjyr80sgibpbkq1skgnbvi2rw8xnfln"))))
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.9)
        ("rust-phf-shared" ,rust-phf-shared-0.9))))))

(define-public rust-phf-codegen-0.8
  (package
    (inherit rust-phf-codegen-0.10)
    (name "rust-phf-codegen")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "phf_codegen" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "05d8w7aqqjb6039pfm6404gk5dlwrrf97kiy1n21212vb1hyxzyb"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.8)
        ("rust-phf-shared" ,rust-phf-shared-0.8))))))

(define-public rust-phf-codegen-0.7
  (package
    (name "rust-phf-codegen")
    (version "0.7.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_codegen" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0zjiblicfm0nrmr2xxrs6pnf6zz2394wgch6dcbd8jijkq98agmh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.7)
        ("rust-phf-shared" ,rust-phf-shared-0.7))))
    (home-page
     "https://github.com/sfackler/rust-phf")
    (synopsis "Codegen library for PHF types")
    (description "Codegen library for PHF types.")
    (license license:expat)))

(define-public rust-phf-generator-0.11
  (package
    (name "rust-phf-generator")
    (version "0.11.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_generator" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1gsgy5k45y937qnwp58dc05d63lwlfm3imqr1zslb8qgb2a1q65i"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                          (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-phf-shared" ,rust-phf-shared-0.11)
        ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/rust-phf/rust-phf")
    (synopsis "PHF generation logic")
    (description "PHF generation logic.")
    (license license:expat)))

(define-public rust-phf-generator-0.10
  (package
    (inherit rust-phf-generator-0.11)
    (name "rust-phf-generator")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_generator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mlq6hlajsvlsx6rhw49g9ricsm017lrxmgmmbk85sxm7f4qaljx"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-phf-shared" ,rust-phf-shared-0.10)
        ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-phf-generator-0.9
  (package
    (inherit rust-phf-generator-0.10)
    (name "rust-phf-generator")
    (version "0.9.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_generator" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "10ih96kaxnkn1yxk3ghpzgm09nc0rn69fd52kv68003fv4h34gyl"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                          (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-phf-shared" ,rust-phf-shared-0.9)
        ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))))

(define-public rust-phf-generator-0.8
  (package
    (inherit rust-phf-generator-0.10)
    (name "rust-phf-generator")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "phf_generator" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "09i5338d1kixq6a60fcayz6awgxjlxcfw9ic5f02abbgr067ydhp"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-phf-shared" ,rust-phf-shared-0.8))))))

(define-public rust-phf-generator-0.7
  (package
    (name "rust-phf-generator")
    (version "0.7.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_generator" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0qi62gxk3x3whrmw5c4i71406icqk11qmpgln438p6qm7k4lqdh9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-phf-shared" ,rust-phf-shared-0.7)
        ("rust-rand" ,rust-rand-0.6))))
    (home-page "https://github.com/sfackler/rust-phf")
    (synopsis "PHF generation logic")
    (description "PHF generation logic")
    (license license:expat)))

(define-public rust-phf-macros-0.11
  (package
    (name "rust-phf-macros")
    (version "0.11.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0js61lc0bhzzrbd9vhpcqp11vvwckdkz3g7k95z5h1k651p68i1l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.11)
        ("rust-phf-shared" ,rust-phf-shared-0.11)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-unicase" ,rust-unicase-2))))
    (home-page "https://github.com/rust-phf/rust-phf")
    (synopsis "Macros to generate types in the phf crate")
    (description
     "This package contains macros to generate types in the phf crate.")
    (license license:expat)))

(define-public rust-phf-macros-0.10
  (package
    (inherit rust-phf-macros-0.11)
    (name "rust-phf-macros")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q5ljwvb10dx188i6jxzckqfimjw5pm2p4kkvmhg2q6m9lcg7zaq"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.10)
        ("rust-phf-shared" ,rust-phf-shared-0.10)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-phf-macros-0.9
  (package
    (inherit rust-phf-macros-0.10)
    (name "rust-phf-macros")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11mbi4x03gz7jnf4bg9fzxdxn6gd8ddkj29hms0dh3mmds9za1mp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.9)
        ("rust-phf-shared" ,rust-phf-shared-0.9)
        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs
       (("rust-phf" ,rust-phf-0.8)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-phf-macros-0.8
  (package
    (inherit rust-phf-macros-0.10)
    (name "rust-phf-macros")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "phf_macros" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "170qm6yqn6b9mjlwb2xmm3iad9d5nzwgfawfwy7zr7s2zwcdwvvz"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-phf-generator" ,rust-phf-generator-0.8)
        ("rust-phf-shared" ,rust-phf-shared-0.8)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-quote" ,rust-quote-1))))))

(define-public rust-phf-macros-0.7
  (package
    (name "rust-phf-macros")
    (version "0.7.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_macros" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0dzylcy14ksy60h265l433j9ra8xhg8xlq3pd5qk658m6f1mxd5x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Depends on features not in Rust's stable release channel.
       #:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.7)
        ("rust-phf-shared" ,rust-phf-shared-0.7)
        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))
       #:cargo-development-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3))))
    (home-page
     "https://github.com/sfackler/rust-phf")
    (synopsis
     "Macros to generate types in the phf crate")
    (description
     "Macros to generate types in the phf crate.")
    (license license:expat)))

(define-public rust-phf-shared-0.11
  (package
    (name "rust-phf-shared")
    (version "0.11.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_shared" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0azphb0a330ypqx3qvyffal5saqnks0xvl8rj73jlk3qxxgbkz4h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-siphasher" ,rust-siphasher-0.3)
        ("rust-uncased" ,rust-uncased-0.9)
        ("rust-unicase" ,rust-unicase-2))))
    (home-page "https://github.com/rust-phf/rust-phf")
    (synopsis "Support code shared by PHF libraries")
    (description
     "This package provides support code shared by PHF libraries.")
    (license license:expat)))

(define-public rust-phf-shared-0.10
  (package
    (inherit rust-phf-shared-0.11)
    (name "rust-phf-shared")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_shared" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15n02nc8yqpd8hbxngblar2g53p3nllc93d8s8ih3p5cf7bnlydn"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-siphasher" ,rust-siphasher-0.3)
        ("rust-uncased" ,rust-uncased-0.9)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-phf-shared-0.9
  (package
    (inherit rust-phf-shared-0.10)
    (name "rust-phf-shared")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "phf_shared" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ng0hi2byifqah6bcdy3zcpbwq8jxgl4laz65gq40dp3dm11i0x6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-siphasher" ,rust-siphasher-0.3)
        ("rust-uncased" ,rust-uncased-0.9)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-phf-shared-0.8
  (package
    (inherit rust-phf-shared-0.10)
    (name "rust-phf-shared")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "phf_shared" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1xssnqrrcn0nr9ayqrnm8xm37ac4xvwcx8pax7jxss7yxawzh360"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-siphasher" ,rust-siphasher-0.3)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-phf-shared-0.7
  (package
    (name "rust-phf-shared")
    (version "0.7.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phf_shared" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "18371fla0vsj7d6d5rlfb747xbr2in11ar9vgv5qna72bnhp2kr3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-siphasher" ,rust-siphasher-0.2)
        ("rust-unicase" ,rust-unicase-1))))
    (home-page "https://github.com/sfackler/rust-phf")
    (synopsis "Support code shared by PHF libraries")
    (description
     "Support code shared by PHF libraries.")
    (license license:expat)))

(define-public rust-phonenumber-0.3
  (package
    (name "rust-phonenumber")
    (version "0.3.6+8.13.36")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "phonenumber" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ak9iwx0f5gx2hxycp87wwq4scinlh7fgcf8gplwb33vnlvn4x8i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bincode" ,rust-bincode-1)
                       ("rust-either" ,rust-either-1)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-quick-xml" ,rust-quick-xml-0.28)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-regex-cache" ,rust-regex-cache-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-strum" ,rust-strum-0.24)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rstest" ,rust-rstest-0.13)
                                   ("rust-rstest-reuse" ,rust-rstest-reuse-0.6))))
    (home-page "https://github.com/whisperfish/rust-phonenumber")
    (synopsis
     "Library for parsing, formatting and validating international phone numbers")
    (description
     "This package provides a library for parsing, formatting and validating
international phone numbers.")
    (license license:asl2.0)))

(define-public rust-pico-args-0.5
  (package
    (name "rust-pico-args")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pico-args" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05d30pvxd6zlnkg2i3ilr5a70v3f3z2in18m67z25vinmykngqav"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RazrFalcon/pico-args")
    (synopsis "CLI arguments parser")
    (description "This package provides an ultra simple CLI arguments parser.")
    (license license:expat)))

(define-public rust-pico-args-0.4
  (package
    (inherit rust-pico-args-0.5)
    (name "rust-pico-args")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pico-args" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s646i0pbcck300rqldb21m151zxp66m3mdskha063blrfbcv2yv"))))))

(define-public rust-pikchr-0.1
  (package
    (name "rust-pikchr")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pikchr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1lm6924k84jdwsyjf029r2xwz23dmm19mryb51jaj9q29f9n001w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/kinnison/pikchr")
    (synopsis "PIC-like diagramming language to SVG converter")
    (description "PIC-like diagramming language to SVG converter")
    (license (list license:expat license:asl2.0))))

(define-public rust-pin-project-1
  (package
    (name "rust-pin-project")
    (version "1.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pin-project" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15cvflrzsgp1zbl5gv37al2r62nl8lc37xkfwf70ql3fji7gcmxy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false  ; use of undeclared crate or module `trybuild`
       #:cargo-inputs
       (("rust-pin-project-internal" ,rust-pin-project-internal-1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/taiki-e/pin-project")
    (synopsis "Crate for safe and ergonomic pin-projection")
    (description
     "This package provides a crate for safe and ergonomic pin-projection.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pin-project-0.4
  (package
    (inherit rust-pin-project-1)
    (name "rust-pin-project")
    (version "0.4.30")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pin-project" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nlxmsiq39bc73iryh92yslrp2jzlkdjjxd7rv5sjzpflljgkw1y"))
       (snippet
        #~(begin
            (use-modules (guix build utils))
            (substitute* "Cargo.toml"
              (("version = \"=") "version = \"^"))))))
    (arguments
     `(#:cargo-inputs
       (("rust-pin-project-internal" ,rust-pin-project-internal-0.4))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-pin-project-internal-1
  (package
    (name "rust-pin-project-internal")
    (version "1.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pin-project-internal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "133mxf5vmvnvw4idw2y2lb5bxsza2xlyfl6psjy7mz3l12nmy3rw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false  ; use of undeclared crate or module `pin_project`
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/taiki-e/pin-project")
    (synopsis "Implementation detail of the @code{pin-project} crate")
    (description
     "This package is an implementation detail of the @code{pin-project}
crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pin-project-internal-0.4
  (package
    (inherit rust-pin-project-internal-1)
    (name "rust-pin-project-internal")
    (version "0.4.30")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pin-project-internal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07p6mwz6kz317a6n3p93yk4llj939ihqdz7d1mwl7gmyx468s745"))))
    (arguments
     `(#:tests? #f ; XXX: Doc tests fail.
       #:cargo-inputs
       (("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))))))

(define-public rust-pin-project-lite-0.2
  (package
    (name "rust-pin-project-lite")
    (version "0.2.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pin-project-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zz4xif3iknfrpmvqmh0pcc9mx4cxm28jywqydir3pimcla1wnli"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `trybuild`
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/taiki-e/pin-project-lite")
    (synopsis "Lightweight version of pin-project")
    (description "This package provides a lightweight version of pin-project
written with declarative macros.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pin-project-lite-0.1
  (package
    (inherit rust-pin-project-lite-0.2)
    (name "rust-pin-project-lite")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pin-project-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xx7f3wzc8ydvd1v2mmrxfypjchp52bphrirf08phbq8ba8n8yr5"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-pin-utils-0.1
  (package
    (name "rust-pin-utils")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pin-utils" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/pin-utils")
    (synopsis "Utilities for pinning")
    (description "This crate provides utilities for pinning values on the stack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ping-0.4
  (package
    (name "rust-ping")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ping" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0h8iyphd5c6k609635ja813isyplnzrlz8hgp0pfrb2v39xahw33"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Tests require network access.
       #:cargo-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-socket2" ,rust-socket2-0.4)
        ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/aisk/ping")
    (synopsis "ICMP library for Rust")
    (description "This package provides an ICMP library for Rust.")
    (license license:expat)))

(define-public rust-pinot-0.1
  (package
    (name "rust-pinot")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pinot" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13zh0g7d47a3szi2z4q2p3q8yph2ipw7q5gnsxvk34l44h6yjfpy"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/dfrg/pinot")
    (synopsis "High-fidelity OpenType parser in Rust")
    (description "This crate aims to parse OpenType fonts with a level
of detail that is amenable to modeling, analysis and transformation.
The current focus is specifically on OpenType layout and the crate
provides comprehensive coverage of that portion of the specification
along with strong support for variations and the core header tables.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pipe-trait-0.4
  (package
    (name "rust-pipe-trait")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pipe-trait" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ql988sa4appx60q0wfmn1d6i2qrk7vadvw4zsp600wzwp4ixgn1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-futures" ,rust-futures-0.3))))
    (home-page "https://github.com/KSXGitHub/pipe-trait.git")
    (synopsis "Make it possible to chain regular functions")
    (description "This package makes it possible to chain regular functions.")
    (license license:expat)))

(define-public rust-piper-0.2
  (package
    (name "rust-piper")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "piper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m45fkdq7q5l9mv3b0ra10qwm0kb67rjp2q8y91958gbqjqk33b6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=Writer::is_full")
       #:cargo-inputs
       (("rust-atomic-waker" ,rust-atomic-waker-1)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-portable-atomic" ,rust-portable-atomic-1)
        ("rust-portable-atomic-util" ,rust-portable-atomic-util-0.1))
       #:cargo-development-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-async-executor" ,rust-async-executor-1)
        ("rust-async-io" ,rust-async-io-1)
        ("rust-criterion" ,rust-criterion-0.4)
        ("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-futures-lite" ,rust-futures-lite-1))))
    (home-page "https://github.com/smol-rs/piper")
    (synopsis "Async pipes, channels, mutexes, and more")
    (description
     "This crate provides async pipes, channels, mutexes, and more.")
    (license (list license:expat license:asl2.0))))

(define-public rust-piper-0.1
  (package
    (inherit rust-piper-0.2)
    (name "rust-piper")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "piper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "062zdv9w7l5037g113bh7r72wmygz92ajzr0z41v3bqdd3x8nq01"))))
    (arguments
     `(#:tests? #false
       #:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3))))))

(define-public rust-pkg-config-0.3
  (package
    (name "rust-pkg-config")
    (version "0.3.31")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pkg-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1wk6yp2phl91795ia0lwkr3wl4a9xkrympvhqq8cxk4d75hwhglm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'hardcode-pkg-config-location
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "src/lib.rs"
               (("\"pkg-config\"")
                (string-append "\"" (assoc-ref inputs "pkg-config")
                               "/bin/pkg-config\""))))))))
    (native-inputs
     (list pkg-config))
    (home-page "https://github.com/rust-lang/pkg-config-rs")
    (synopsis "Library to run the pkg-config system tool")
    (description
     "A library to run the pkg-config system tool at build time in order to be
used in Cargo build scripts.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-pktparse-0.7
  (package
    (name "rust-pktparse")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pktparse" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06sy7lwnhwmkyqfdbi4cs11z55rihipxafbdspnd5zg76pnbgbm8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nom" ,rust-nom-7)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/bestouff/pktparse-rs")
    (synopsis "Collection of packet parsers")
    (description "This package provides a collection of parsers for various
network packet formats.")
    (license license:lgpl3)))

(define-public rust-plain-0.2
  (package
    (name "rust-plain")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "plain" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/randomites/plain")
    (synopsis "Rust library that allows reinterpreting data safely")
    (description "This package provides a small Rust library that allows users
 to reinterpret data of certain types safely.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-planus-0.3
  (package
    (name "rust-planus")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "planus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17x8mr175b9clg998xpi5z45f9fsspb0ncfnx2644bz817fr25pw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `planus_example`
       #:cargo-inputs (("rust-array-init-cursor" ,rust-array-init-cursor-0.2))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/planus-org/planus")
    (synopsis "Alternative compiler for flatbuffers")
    (description
     "Planus is an alternative compiler for flatbuffers, a cross platform
serialization library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-platform-info-2
  (package
    (name "rust-platform-info")
    (version "2.0.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "platform-info" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06j5v6hg914lbdr732jfx5syx703l5qwy1qk6dm4zjyqznrswfbm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/uutils/platform-info")
    (synopsis "Cross-platform interface to get info about a system")
    (description
     "This package provides a simple cross-platform interface to get info about
a system.")
    (license license:expat)))

(define-public rust-platforms-3
  (package
    (name "rust-platforms")
    (version "3.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "platforms" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k7q6pigmnvgpfasvssb12m2pv3pc94zrhrfg9by3h3wmhyfqvb2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://rustsec.org")
    (synopsis "Registry of valid Rust platforms from the Rust compiler")
    (description
     "This package provides a Rust platform registry with information
about valid Rust platforms (target triple, target_arch, target_os),
sourced from the Rust compiler.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pledge-0.4
  (package
    (name "rust-pledge")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pledge" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rc1r71hk0qi4ldbwbhbj6l6d1l4n28dfgf6znvl76kxgd0rj995"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/i80and/pledge-rs")
    (synopsis "Rust binding to OpenBSD's pledge(2) interface")
    (description
     "This package provides Rust bindings to OpenBSD's pledge(2) interface.")
    (license license:expat)))

(define-public rust-plist-1
  (package
    (name "rust-plist")
    (version "1.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "plist" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05hh3s44km2hyig48xjq580mj6s1r4yijzf6dcwmy3w0l7ligks2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.22)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-quick-xml" ,rust-quick-xml-0.32)
        ("rust-serde" ,rust-serde-1)
        ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8))))
    (home-page "https://github.com/ebarnard/rust-plist/")
    (synopsis "Rusty plist parser")
    (description
     "This package provides a Rusty plist parser.  It supports Serde
serialization.")
    (license license:expat)))

(define-public rust-plotters-0.3
  (package
    (name "rust-plotters")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "plotters" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0igxq58bx96gz58pqls6g3h80plf17rfl3b6bi6xvjnp02x29hnj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=src/lib.rs - (line 310)"
         "--skip=src/lib.rs - (line 458)"
         "--skip=src/lib.rs - (line 480)"
         "--skip=src/lib.rs - (line 508)"
         "--skip=src/lib.rs - (line 534)"
         "--skip=src/lib.rs - (line 576)")
       #:cargo-inputs
       (("rust-ab-glyph" ,rust-ab-glyph-0.2)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-font-kit" ,rust-font-kit-0.11)
        ("rust-image" ,rust-image-0.24)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pathfinder-geometry" ,rust-pathfinder-geometry-0.5)
        ("rust-plotters-backend" ,rust-plotters-backend-0.3)
        ("rust-plotters-bitmap" ,rust-plotters-bitmap-0.3)
        ("rust-plotters-svg" ,rust-plotters-svg-0.3)
        ("rust-ttf-parser" ,rust-ttf-parser-0.17)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-distr" ,rust-rand-distr-0.4)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list fontconfig))
    (home-page "https://github.com/38/plotters")
    (synopsis "Rust drawing library focus on data plotting")
    (description
     "This package provides a Rust drawing library focus on data plotting for
both WASM and native applications")
    (license license:expat)))

(define-public rust-plotters-backend-0.3
  (package
    (name "rust-plotters-backend")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "plotters-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02cn98gsj2i1bwrfsymifmyas1wn2gibdm9mk8w82x9s9n5n4xly"))))
    (build-system cargo-build-system)
    (home-page "https://plotters-rs.github.io")
    (synopsis "Plotters Backend API")
    (description "This package provides Plotters backend API.")
    (license license:expat)))

(define-public rust-plotters-bitmap-0.3
  (package
    (name "rust-plotters-bitmap")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "plotters-bitmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hw5zd70l7q122np8m731sksclmv6m82k2wyqsmrjli0f0gvxsqc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `plotters`
       #:cargo-inputs
       (("rust-gif" ,rust-gif-0.12)
        ("rust-image" ,rust-image-0.24)
        ("rust-plotters-backend" ,rust-plotters-backend-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://plotters-rs.github.io")
    (synopsis "Plotters Bitmap Backend")
    (description "This package provides Plotters bitmap backend.")
    (license license:expat)))

(define-public rust-plotters-svg-0.3
  (package
    (name "rust-plotters-svg")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "plotters-svg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1axbw82frs5di4drbyzihr5j35wpy2a75hp3f49p186cjfcd7xiq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `plotters`
       #:cargo-inputs
       (("rust-image" ,rust-image-0.24)
        ("rust-plotters-backend" ,rust-plotters-backend-0.3))))
    (home-page "https://plotters-rs.github.io")
    (synopsis "Plotters SVG backend")
    (description "This package provides Plotters SVG backend.")
    (license license:expat)))

(define-public rust-plugin-0.2
  (package
    (name "rust-plugin")
    (version "0.2.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "plugin" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-typemap" ,rust-typemap-0.3))
       #:cargo-development-inputs
       (("rust-void" ,rust-void-1))))
    (home-page "https://github.com/reem/rust-plugin")
    (synopsis "Lazily evaluated, order-independent plugins for extensible types")
    (description
     "Lazily evaluated, order-independent plugins for extensible types.")
    (license license:expat)))

(define-public rust-pmutil-0.5
  (package
    (name "rust-pmutil")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pmutil" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0170zgziivri4qsch682pga3qq3z4wpr4wngzr5f9jyc97ayb51q"))))
    (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/kdy1/rust-pmutil")
    (synopsis "Utils for proc-macro")
    (description "This package provides utils for proc-macro.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pnet-base-0.35
  (package
    (name "rust-pnet-base")
    (version "0.35.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_base" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xxj1ym32zqmy7m7ciiisv513rk9qis3p6x4mgrnmwbx0va91hgz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-no-std-net" ,rust-no-std-net-0.6)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/libpnet/libpnet")
    (synopsis "Fundamental base types and code used by pnet")
    (description
     "This crate implements fundamental base types and code used by pnet.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pnet-base-0.34
  (package
    (inherit rust-pnet-base-0.35)
    (name "rust-pnet-base")
    (version "0.34.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_base" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k2z3jh6vw99bwl0ckpsd142n4yiscza1bmj3b86i2xk7bxzck7y"))))
    (arguments
     `(#:cargo-inputs (("rust-no-std-net" ,rust-no-std-net-0.6)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-pnet-base-0.27
  (package
    (inherit rust-pnet-base-0.34)
    (name "rust-pnet-base")
    (version "0.27.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_base" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v8bcbv9jh581ill77qjzzw2ay76pl781982yclj3xky96m8hijf"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))

(define-public rust-pnet-datalink-0.35
  (package
    (name "rust-pnet-datalink")
    (version "0.35.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_datalink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dx7a9j2n7r463w8dv0wn1vasqnkhrajs79f6cm10qz11gn717p7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ipnetwork" ,rust-ipnetwork-0.20)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-netmap-sys" ,rust-netmap-sys-0.1)
                       ("rust-pcap" ,rust-pcap-1)
                       ("rust-pnet-base" ,rust-pnet-base-0.35)
                       ("rust-pnet-sys" ,rust-pnet-sys-0.35)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/libpnet/libpnet")
    (synopsis "Cross-platform, datalink layer networking")
    (description
     "This crate implements cross-platform, datalink layer networking.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pnet-datalink-0.34
  (package
    (inherit rust-pnet-datalink-0.35)
    (name "rust-pnet-datalink")
    (version "0.34.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_datalink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zlq1z3y6flpqh0x2yqczxvzavwpr3mlazbzjv9vnzh6y2mm8n5d"))))
    (arguments
     `(#:cargo-inputs (("rust-ipnetwork" ,rust-ipnetwork-0.20)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-netmap-sys" ,rust-netmap-sys-0.1)
                       ("rust-pcap" ,rust-pcap-1)
                       ("rust-pnet-base" ,rust-pnet-base-0.34)
                       ("rust-pnet-sys" ,rust-pnet-sys-0.34)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-pnet-datalink-0.27
  (package
    (inherit rust-pnet-datalink-0.34)
    (name "rust-pnet-datalink")
    (version "0.27.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_datalink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1iws7c2mf88ip43ccmr5p8r6kzb6lwsg3amgc4pvy8wx9nf1q02r"))))
    (arguments
     `(#:cargo-inputs (("rust-ipnetwork" ,rust-ipnetwork-0.17)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-netmap-sys" ,rust-netmap-sys-0.1)
                       ("rust-pcap" ,rust-pcap-0.7)
                       ("rust-pnet-base" ,rust-pnet-base-0.27)
                       ("rust-pnet-sys" ,rust-pnet-sys-0.27)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-pnet-sys-0.35
  (package
    (name "rust-pnet-sys")
    (version "0.35.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jqgl34w5jckvby74nh89hjc94m8m6pz7hjh21s0hsyvsk9l6ikx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=test_get_socket_receive_timeout"
                            "--skip=test_set_socket_receive_timeout")
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/libpnet/libpnet")
    (synopsis "Access to network related system functions")
    (description
     "This crate providess access to network related system function and calls.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pnet-sys-0.34
  (package
    (inherit rust-pnet-sys-0.35)
    (name "rust-pnet-sys")
    (version "0.34.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "004d28vbaxv3m55cd741mpjm34031c3p2dpp8kazcwxms7n0nz21"))))
    (arguments
     `(#:tests? #f  ; Tries to use sockets.
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-pnet-sys-0.27
  (package
    (inherit rust-pnet-sys-0.34)
    (name "rust-pnet-sys")
    (version "0.27.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pnet_sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05gz5xixzvs5iw7a3l0r7sic7s44x8xmv9pqvzzs6wpdwz2f92bm"))))))

(define-public rust-pocket-resources-0.3
  (package
    (name "rust-pocket-resources")
    (version "0.3.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pocket-resources" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/tomaka/pocket-resources")
    (synopsis "Include resources in your applications")
    (description "This crate allows you to include resources in your
applications.")
    (license license:expat)))

(define-public rust-polars-0.37
  (package
    (name "rust-polars")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bv5w5abfqy5hmiblq6j4477d0wyfqbslz128lfqbjqhj329adz4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--lib" "--bins" "--tests" "--"
                            "--skip=io::csv::test_projection"
                            "--skip=io::csv::test_read_csv_file"
                            "--skip=io::csv::test_with_row_index")
       #:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-io" ,rust-polars-io-0.37)
                       ("rust-polars-lazy" ,rust-polars-lazy-0.37)
                       ("rust-polars-ops" ,rust-polars-ops-0.37)
                       ("rust-polars-plan" ,rust-polars-plan-0.37)
                       ("rust-polars-sql" ,rust-polars-sql-0.37)
                       ("rust-polars-time" ,rust-polars-time-0.37)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs (("rust-ahash" ,rust-ahash-0.8)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://www.pola.rs/")
    (synopsis "DataFrame library based on Apache Arrow")
    (description "Polars is a @code{DataFrame} library based on Apache Arrow.")
    (license license:expat)))

(define-public rust-polars-arrow-0.37
  (package
    (name "rust-polars-arrow")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-arrow" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03wvwh80cvs3gxdm9if6yfh2kq589538ssrdqx86vyj84ldd5b7s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=ffi::data::binview_nullable_buffered"
         "--skip=ffi::data::binview_nullable_inlined")
       #: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-async-stream" ,rust-async-stream-0.3)
                       ("rust-atoi" ,rust-atoi-2)
                       ("rust-atoi-simd" ,rust-atoi-simd-0.15)
                       ("rust-avro-schema" ,rust-avro-schema-0.3)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.8)
                       ("rust-dyn-clone" ,rust-dyn-clone-1)
                       ("rust-either" ,rust-either-1)
                       ("rust-ethnum" ,rust-ethnum-1)
                       ("rust-fast-float" ,rust-fast-float-0.2)
                       ("rust-foreign-vec" ,rust-foreign-vec-0.1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-itoap" ,rust-itoap-1)
                       ("rust-lz4" ,rust-lz4-1)
                       ("rust-multiversion" ,rust-multiversion-0.7)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-polars-arrow-format" ,rust-polars-arrow-format-0.1)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.8)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-simdutf8" ,rust-simdutf8-0.1)
                       ("rust-streaming-iterator" ,rust-streaming-iterator-0.1)
                       ("rust-strength-reduce" ,rust-strength-reduce-0.2)
                       ("rust-version-check" ,rust-version-check-0.9)
                       ("rust-zstd" ,rust-zstd-0.13))
       #:cargo-development-inputs (("rust-apache-avro" ,rust-apache-avro-0.16)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("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.17)
                                   ("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://www.pola.rs/")
    (synopsis "Arrow interfaces for Polars DataFrame library")
    (description
     "This crate provides Arrow interfaces for Polars DataFrame library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-polars-arrow-format-0.1
  (package
    (name "rust-polars-arrow-format")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-arrow-format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k5qci66rcwqv4ycb43zlkk128wrdvcqkc95j2qrd4xgfhjfzc0r"))))
    (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/polar-rs/arrow-format")
    (synopsis "Unofficial flatbuffers and tonic code of Apache Arrow spec")
    (description "Unofficial flatbuffers and tonic code of Apache Arrow spec.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-polars-compute-0.37
  (package
    (name "rust-polars-compute")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-compute" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p868zl3l4cn8kbdlyp1pf058d1a5g4rmbgmxvny0fh0z23xrn9j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://www.pola.rs/")
    (synopsis "Private compute kernels for the Polars DataFrame library")
    (description "This package provides private compute kernels for the Polars
@code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-core-0.37
  (package
    (name "rust-polars-core")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xvp3ppcsfd4z5j0qkarijcnbfnf349r0ksw0c0rl8c218l4vzdy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-arrow-array" ,rust-arrow-array-47)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("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-7)
                       ("rust-either" ,rust-either-1)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-ndarray" ,rust-ndarray-0.15)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-compute" ,rust-polars-compute-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-row" ,rust-polars-row-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rand-distr" ,rust-rand-distr-0.4)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-version-check" ,rust-version-check-0.9)
                       ("rust-xxhash-rust" ,rust-xxhash-rust-0.8))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://www.pola.rs/")
    (synopsis "Core of the Polars DataFrame library")
    (description
     "This crate provides the core of the Polars @code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-error-0.37
  (package
    (name "rust-polars-error")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-error" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "163pbm00v5p60rbjq4d30lkhnk2fs35259znq7c3dfni09dl7wjh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-avro-schema" ,rust-avro-schema-0.3)
                       ("rust-object-store" ,rust-object-store-0.9)
                       ("rust-polars-arrow-format" ,rust-polars-arrow-format-0.1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-simdutf8" ,rust-simdutf8-0.1)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://www.pola.rs/")
    (synopsis "Error definitions for the Polars DataFrame library")
    (description "This package contains the error definitions for the Polars
@code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-ffi-0.37
  (package
    (name "rust-polars-ffi")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-ffi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1afprspzpr00kr3xv6zg1pwi1l44vv97qik8gd78kj16jql328zh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37))))
    (home-page "https://www.pola.rs/")
    (synopsis "FFI utils for the Polars project")
    (description "FFI utils for the Polars project.")
    (license license:expat)))

(define-public rust-polars-io-0.37
  (package
    (name "rust-polars-io")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13m8qk2bji7zm2fbnnp67djdpf8gah0xclw3ng13kjqly0nbl7xm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-atoi-simd" ,rust-atoi-simd-0.15)
                       ("rust-bytes" ,rust-bytes-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.8)
                       ("rust-fast-float" ,rust-fast-float-0.2)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-memmap2" ,rust-memmap2-0.7)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-object-store" ,rust-object-store-0.9)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-json" ,rust-polars-json-0.37)
                       ("rust-polars-parquet" ,rust-polars-parquet-0.37)
                       ("rust-polars-time" ,rust-polars-time-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-reqwest" ,rust-reqwest-0.11)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-simd-json" ,rust-simd-json-0.13)
                       ("rust-simdutf8" ,rust-simdutf8-0.1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-util" ,rust-tokio-util-0.7)
                       ("rust-url" ,rust-url-2)
                       ("rust-zstd" ,rust-zstd-0.13))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (native-inputs (list pkg-config))
    (inputs (list (list zstd "lib")))
    (home-page "https://www.pola.rs/")
    (synopsis "IO related logic for the Polars DataFrame library")
    (description
     "This crate provides IO related logic for the Polars @code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-json-0.37
  (package
    (name "rust-polars-json")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v8jwfyagh8vq8l8hbgp72an83w5lxb90xrq037p0klnp901ygcp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-fallible-streaming-iterator" ,rust-fallible-streaming-iterator-0.1)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-polars-arrow" ,rust-polars-arrow-0.37)
        ("rust-polars-error" ,rust-polars-error-0.37)
        ("rust-polars-utils" ,rust-polars-utils-0.37)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-simd-json" ,rust-simd-json-0.13)
        ("rust-streaming-iterator" ,rust-streaming-iterator-0.1))))
    (home-page "https://www.pola.rs/")
    (synopsis "JSON related logic for the Polars DataFrame library")
    (description "JSON related logic for the Polars @code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-lazy-0.37
  (package
    (name "rust-polars-lazy")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-lazy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y6z1l5rfhii45w2hj0sf3dbml5mlh77rl2s7a7h8vrl2gj46cyq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ; no method named `cum_sum` found for enum `polars_plan::dsl::Expr`
       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-io" ,rust-polars-io-0.37)
                       ("rust-polars-json" ,rust-polars-json-0.37)
                       ("rust-polars-ops" ,rust-polars-ops-0.37)
                       ("rust-polars-pipe" ,rust-polars-pipe-0.37)
                       ("rust-polars-plan" ,rust-polars-plan-0.37)
                       ("rust-polars-time" ,rust-polars-time-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-pyo3" ,rust-pyo3-0.20)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://www.pola.rs/")
    (synopsis "Lazy query engine for the Polars DataFrame library")
    (description "This crate provides a lazy query engine for the Polars
@code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-ops-0.37
  (package
    (name "rust-polars-ops")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-ops" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02ii63ba0l6zgilb4id1lx4s7hc1654hlg20srph3pqsbvyzb5b3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-aho-corasick" ,rust-aho-corasick-1)
                       ("rust-argminmax" ,rust-argminmax-0.6)
                       ("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-either" ,rust-either-1)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-jsonpath-lib" ,rust-jsonpath-lib-0.3)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-compute" ,rust-polars-compute-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-json" ,rust-polars-json-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rand-distr" ,rust-rand-distr-0.4)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-unicode-reverse" ,rust-unicode-reverse-1)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://www.pola.rs/")
    (synopsis "More operations on Polars data structures")
    (description "More operations on Polars data structures.")
    (license license:expat)))

(define-public rust-polars-parquet-0.37
  (package
    (name "rust-polars-parquet")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-parquet" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bvdx7mb9sd3kx969297b8rxg417gj74ln5sdwa9zk1n2v2clr5n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=parquet::compression::tests::test_codec_brotli_default"
         "--skip=parquet::compression::tests::test_codec_brotli_high_compression"
         "--skip=parquet::compression::tests::test_codec_brotli_low_compression"
         "--skip=parquet::compression::tests::test_codec_gzip_default"
         "--skip=parquet::compression::tests::test_codec_gzip_high_compression"
         "--skip=parquet::compression::tests::test_codec_gzip_low_compression"
         "--skip=parquet::compression::tests::test_codec_lz4_raw"
         "--skip=parquet::compression::tests::test_codec_snappy"
         "--skip=parquet::compression::tests::test_codec_zstd_default")
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.8)
        ("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-base64" ,rust-base64-0.21)
        ("rust-brotli" ,rust-brotli-3)
        ("rust-ethnum" ,rust-ethnum-1)
        ("rust-fallible-streaming-iterator" ,rust-fallible-streaming-iterator-0.1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-lz4" ,rust-lz4-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-parquet-format-safe" ,rust-parquet-format-safe-0.2)
        ("rust-polars-arrow" ,rust-polars-arrow-0.37)
        ("rust-polars-error" ,rust-polars-error-0.37)
        ("rust-polars-utils" ,rust-polars-utils-0.37)
        ("rust-seq-macro" ,rust-seq-macro-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-simdutf8" ,rust-simdutf8-0.1)
        ("rust-snap" ,rust-snap-1)
        ("rust-streaming-decompression" ,rust-streaming-decompression-0.1)
        ("rust-xxhash-rust" ,rust-xxhash-rust-0.8)
        ("rust-zstd" ,rust-zstd-0.13))))
    (home-page "https://www.pola.rs/")
    (synopsis "Polars Parquet IO")
    (description "This package provides polars parquet IO.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-polars-pipe-0.37
  (package
    (name "rust-polars-pipe")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-pipe" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zxqg0hfws3rl66cy8rp18ka9dnz6185kc30n967miabhqdq62ir"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)
                       ("rust-enum-dispatch" ,rust-enum-dispatch-0.3)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-compute" ,rust-polars-compute-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-io" ,rust-polars-io-0.37)
                       ("rust-polars-ops" ,rust-polars-ops-0.37)
                       ("rust-polars-plan" ,rust-polars-plan-0.37)
                       ("rust-polars-row" ,rust-polars-row-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-version-check" ,rust-version-check-0.9))))
    (native-inputs (list pkg-config))
    (inputs (list (list zstd "lib")))
    (home-page "https://www.pola.rs/")
    (synopsis "Lazy query engine for the Polars DataFrame library")
    (description "Lazy query engine for the Polars @code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-plan-0.37
  (package
    (name "rust-polars-plan")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-plan" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s292gfd4d9l4x5hl0gcaz6zg7gbf9khy079mjx37ap2gd9dgdvz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.8)
                       ("rust-ciborium" ,rust-ciborium-0.2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-libloading" ,rust-libloading-0.8)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-ffi" ,rust-polars-ffi-0.37)
                       ("rust-polars-io" ,rust-polars-io-0.37)
                       ("rust-polars-json" ,rust-polars-json-0.37)
                       ("rust-polars-ops" ,rust-polars-ops-0.37)
                       ("rust-polars-parquet" ,rust-polars-parquet-0.37)
                       ("rust-polars-time" ,rust-polars-time-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-pyo3" ,rust-pyo3-0.20)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-strum-macros" ,rust-strum-macros-0.25)
                       ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://www.pola.rs/")
    (synopsis "Lazy query engine for the Polars DataFrame library")
    (description "Lazy query engine for the Polars @code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-row-0.37
  (package
    (name "rust-polars-row")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-row" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "130nsv61fa8dmq1mg2v12q97mqxm22mvqvp7my9dpl6kmablv67l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37))))
    (home-page "https://www.pola.rs/")
    (synopsis "Row encodings for the Polars DataFrame library")
    (description "Row encodings for the Polars @code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-sql-0.37
  (package
    (name "rust-polars-sql")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-sql" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jllznqx496lzndl8ph32204w5zbgvbl1wrfxg0nw54kiy5jmxkp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hex" ,rust-hex-0.4)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-lazy" ,rust-polars-lazy-0.37)
                       ("rust-polars-plan" ,rust-polars-plan-0.37)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-sqlparser" ,rust-sqlparser-0.39))
       #:cargo-development-inputs (("rust-polars-core" ,rust-polars-core-0.37))))
    (home-page "https://www.pola.rs/")
    (synopsis "SQL transpiler for Polars")
    (description "This package contains an SQL transpiler for Polars.  It can
convert SQL to Polars logical plans.")
    (license license:expat)))

(define-public rust-polars-time-0.37
  (package
    (name "rust-polars-time")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-time" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ly7dpch3h8s9sn8q9y6mxfnrb566p5hx1nzhcxpzjfha6538xbd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-atoi" ,rust-atoi-2)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.8)
                       ("rust-now" ,rust-now-0.1)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-polars-arrow" ,rust-polars-arrow-0.37)
                       ("rust-polars-core" ,rust-polars-core-0.37)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-polars-ops" ,rust-polars-ops-0.37)
                       ("rust-polars-utils" ,rust-polars-utils-0.37)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smartstring" ,rust-smartstring-1))))
    (home-page "https://www.pola.rs/")
    (synopsis "Time related code for the Polars DataFrame library")
    (description "This package contains the time related code for the Polars
@code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polars-utils-0.37
  (package
    (name "rust-polars-utils")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polars-utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sdmyyd2nzgbkjbxl2jzpqdf09l89r7gxdxf6pc5b6qypdawky9q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-polars-error" ,rust-polars-error-0.37)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-sysinfo" ,rust-sysinfo-0.30)
                       ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://www.pola.rs/")
    (synopsis "Private utils for the Polars DataFrame library")
    (description "This package contains the private utils for the Polars
@code{DataFrame} library.")
    (license license:expat)))

(define-public rust-polling-3
  (package
    (name "rust-polling")
    (version "3.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polling" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04b5zdgz0m9ydbzcr3f9a55749gqbj0y89d0nz9nrv0x636r09yc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-concurrent-queue" ,rust-concurrent-queue-2)
                       ("rust-hermit-abi" ,rust-hermit-abi-0.4)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs (("rust-easy-parallel" ,rust-easy-parallel-3)
                                   ("rust-fastrand" ,rust-fastrand-2)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-signal-hook" ,rust-signal-hook-0.3)
                                   ("rust-socket2" ,rust-socket2-0.5))))
    (home-page "https://github.com/smol-rs/polling")
    (synopsis "Portable interface to epoll, kqueue, event ports, and IOCP")
    (description
     "This package provides a portable interface to @code{epoll},
@code{kqueue}, @code{event ports}, and @code{IOCP}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-polling-2
  (package
    (inherit rust-polling-3)
    (name "rust-polling")
    (version "2.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "polling" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kixxfq1af1k7gkmmk9yv4j2krpp4fji2r8j4cz6p6d7ihz34bab"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-concurrent-queue" ,rust-concurrent-queue-2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs
       (("rust-easy-parallel" ,rust-easy-parallel-3)
        ("rust-fastrand" ,rust-fastrand-1))))
    (synopsis "Portable interface to epoll, kqueue, event ports, and wepoll")
    (description
     "This package provides a portable interface to @code{epoll},
@code{kqueue}, @code{event ports}, and @code{wepoll}.")))

(define-public rust-pollster-0.3
  (package
    (name "rust-pollster")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pollster" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wn73ljx1pcb4p69jyiz206idj7nkfqknfvdhp64yaphhm3nys12"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-pollster-macro" ,rust-pollster-macro-0.1))
       #:cargo-development-inputs (("rust-futures-timer" ,rust-futures-timer-3)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/zesterer/pollster")
    (synopsis "Synchronously block the thread until a future completes")
    (description "Synchronously block the thread until a future completes.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pollster-macro-0.1
  (package
    (name "rust-pollster-macro")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pollster-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00fk326pj6pam402ygh2srs13bbjnnyfck41155ml1ck87pz0y7a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `pollster`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/zesterer/pollster")
    (synopsis "Proc-macro crate for pollster")
    (description "Proc-macro crate for pollster.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pom-3
  (package
    (name "rust-pom")
    (version "3.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pom" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jvlsxzzwwmfng3sk0drig8x36klbabfh10b5m9sshz9hs7jv5vc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1))))
    (home-page "https://github.com/J-F-Liu/pom")
    (synopsis "PEG parser combinators using operator overloading without macros")
    (description "This package provides a PEG parser combinators using operator
overloading without macros in Rust.")
    (license license:expat)))

(define-public rust-pori-0.0.0
  (package
    (name "rust-pori")
    (version "0.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pori" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01p9g4fn3kasnmwj8i4plzk6nnnk7ak2qsfcv9b9y4zcilrkv9m4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nom" ,rust-nom-7))))
    (home-page "https://github.com/olson-sean-k/pori")
    (synopsis "Parser state and error extensions for nom")
    (description "Parser state and error extensions for nom.")
    (license license:expat)))

(define-public rust-portable-atomic-1
  (package
    (name "rust-portable-atomic")
    (version "1.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "portable-atomic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cmd87qj90panwsi350djb8lsxdryqkkxmimjcz7a1nsysini76c"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all test dependencies declared.
       #:cargo-inputs
       (("rust-critical-section" ,rust-critical-section-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-build-context" ,rust-build-context-0.1)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-paste" ,rust-paste-1)
        ("rust-sptr" ,rust-sptr-0.3)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/taiki-e/portable-atomic")
    (synopsis "Portable atomic types")
    (description
     "This package provides portable atomic types, including support for
128-bit atomics, atomic float, etc.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-portable-atomic-util-0.2
  (package
    (name "rust-portable-atomic-util")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "portable-atomic-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v105n6yyvzwvfgsvfm5cqb818avlk3hbpfnahdljan5xjzdb9wh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-build-context" ,rust-build-context-0.1)
                       ("rust-portable-atomic" ,rust-portable-atomic-1))))
    (home-page "https://github.com/taiki-e/portable-atomic")
    (synopsis "Synchronization primitives built with portable-atomic")
    (description "Synchronization primitives built with portable-atomic.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-portable-atomic-util-0.1
  (package
    (inherit rust-portable-atomic-util-0.2)
    (name "rust-portable-atomic-util")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "portable-atomic-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16s4ag42sjkkas49fnlj99kx9zxdfqwk7ii12js533dk4lb439x1"))))
    (arguments
     `(#:cargo-inputs (("rust-portable-atomic" ,rust-portable-atomic-1))))))

(define-public rust-portable-pty-0.8
  (package
    (name "rust-portable-pty")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "portable-pty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gmh9ij90qwxx8gzvs6dj2vlc1ackv8zhd4mzfly3nq3586fhvl0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-downcast-rs" ,rust-downcast-rs-1)
                       ("rust-filedescriptor" ,rust-filedescriptor-0.8)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.25)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serial" ,rust-serial-0.4)
                       ("rust-shared-library" ,rust-shared-library-0.1)
                       ("rust-shell-words" ,rust-shell-words-1)
                       ("rust-winapi" ,rust-winapi-0.3)
                       ("rust-winreg" ,rust-winreg-0.10))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3)
                                   ("rust-smol" ,rust-smol-1))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Cross platform pty interface")
    (description "This package provides a cross platform pty interface.")
    (license license:expat)))

(define-public rust-postcard-1
  (package
    (name "rust-postcard")
    (version "1.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "postcard" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y106iwjv6vm7s4zkszgxlhacca1xbw6qcwf8il7xc0ddkp52p55"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cobs" ,rust-cobs-0.2)
                       ("rust-const-format" ,rust-const-format-0.2)
                       ("rust-crc" ,rust-crc-3)
                       ("rust-defmt" ,rust-defmt-0.3)
                       ("rust-embedded-io" ,rust-embedded-io-0.4)
                       ("rust-heapless" ,rust-heapless-0.7)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-postcard-derive" ,rust-postcard-derive-0.1)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/jamesmunns/postcard")
    (synopsis "Rust message library compatible with no_std and serde")
    (description
     "This package provides a no_std + serde compatible message library for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-postcard-derive-0.1
  (package
    (name "rust-postcard-derive")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "postcard-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ycsfl3nb37syvlj92nl98lphykq78b7af7nv8h49pc7hwhh2jzw"))))
    (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/jamesmunns/postcard")
    (synopsis "Derive crate for postcard")
    (description "This package provides the implementation details for postcard.")
    (license (list license:expat license:asl2.0))))

(define-public rust-powerfmt-0.2
  (package
    (name "rust-powerfmt")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "powerfmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14ckj2xdpkhv3h6l5sdmb9f1d57z8hbfpdldjc2vl5givq2y77j3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-powerfmt-macros" ,rust-powerfmt-macros-0.1))))
    (home-page "https://github.com/jhpratt/powerfmt")
    (synopsis "Library that provides utilities for formatting values")
    (description
     "`powerfmt` is a library that provides utilities for formatting values.
This crate makes it significantly easier to support filling to a minimum width
with alignment, avoid heap allocation, and avoid repetitive calculations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-powerfmt-macros-0.1
  (package
    (name "rust-powerfmt-macros")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "powerfmt-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "097ir0g2hjq6sx20nc3k7r7cnyyflgn5lv64jmghyp5g63i5bwx8"))))
    (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/jhpratt/powerfmt")
    (synopsis "Procedural macros for `powerfmt`")
    (description
     "Procedural macros for `powerfmt`.  This crate is an implementation detail
and should not be relied upon directly.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pprof-0.13
  (package
    (name "rust-pprof")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pprof" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jqi6yakwwhln5b1vr3aprgl2kdlvsmidqh24is7wk6k3g2rfp7g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; no method named `flamegraph` found for struct `pprof::Report`
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-findshlibs" ,rust-findshlibs-0.10)
        ("rust-inferno" ,rust-inferno-0.11)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.26)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-prost" ,rust-prost-0.12)
        ("rust-prost-build" ,rust-prost-build-0.12)
        ("rust-prost-derive" ,rust-prost-derive-0.12)
        ("rust-protobuf" ,rust-protobuf-2)
        ("rust-protobuf-codegen-pure" ,rust-protobuf-codegen-pure-2)
        ("rust-sha2" ,rust-sha2-0.10)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-symbolic-demangle" ,rust-symbolic-demangle-12)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/tikv/pprof-rs")
    (synopsis "Internal perf tools for rust programs")
    (description "This package provides internal perf tools for Rust
programs.")
    (license license:asl2.0)))

(define-public rust-pprof-0.10
  (package
    (inherit rust-pprof-0.13)
    (name "rust-pprof")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pprof" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vvqawd720d39a87zhdjdh7ipmq6im5766658sn44ma7v7z2niyn"))))
    (arguments
     `(#:tests? #f  ; no method named `flamegraph` found for struct `pprof::Report`
       #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-criterion" ,rust-criterion-0.3)
                       ("rust-findshlibs" ,rust-findshlibs-0.10)
                       ("rust-inferno" ,rust-inferno-0.11)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.24)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-prost" ,rust-prost-0.10)
                       ("rust-prost-build" ,rust-prost-build-0.10)
                       ("rust-prost-derive" ,rust-prost-derive-0.10)
                       ("rust-protobuf" ,rust-protobuf-2)
                       ("rust-protobuf-codegen-pure" ,rust-protobuf-codegen-pure-2)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-symbolic-demangle" ,rust-symbolic-demangle-9)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-precomputed-hash-0.1
  (package
    (name "rust-precomputed-hash")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "precomputed-hash" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "075k9bfy39jhs53cb2fpb9klfakx2glxnf28zdw08ws6lgpq6lwj"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page
     "https://github.com/emilio/precomputed-hash")
    (synopsis
     "Base dependency to expose a precomputed hash")
    (description
     "This package provides a library intending to be a base
dependency to expose a precomputed hash.")
    (license license:expat)))

(define-public rust-predicates-3
  (package
    (name "rust-predicates")
    (version "3.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "predicates" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wrm57acvagx0xmh5xffx5xspsr2kbggm698x0vks132fpjrxld5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=path::fc::PredicateFileContentExt::from_file_path")
       #:cargo-inputs
       (("rust-anstyle" ,rust-anstyle-1)
        ("rust-difflib" ,rust-difflib-0.4)
        ("rust-float-cmp" ,rust-float-cmp-0.10)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs
       (("rust-predicates-tree" ,rust-predicates-tree-1))))
    (home-page "https://github.com/assert-rs/predicates-rs")
    (synopsis "Implementation of boolean-valued predicate functions")
    (description
     "This package provides an implementation of boolean-valued predicate
functions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-predicates-2
  (package
    (inherit rust-predicates-3)
    (name "rust-predicates")
    (version "2.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "predicates" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pdd8zgw8351bvk882zadyqghnxzkjlf946vkdb1hgkzqdihl8sr"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=path::fc::PredicateFileContentExt::from_file_path")
       #:cargo-inputs
       (("rust-concolor" ,rust-concolor-0.0.11)
        ("rust-difflib" ,rust-difflib-0.4)
        ("rust-float-cmp" ,rust-float-cmp-0.9)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-yansi" ,rust-yansi-0.5))
       #:cargo-development-inputs
       (("rust-predicates-tree" ,rust-predicates-tree-1))))))

(define-public rust-predicates-1
  (package
    (inherit rust-predicates-2)
    (name "rust-predicates")
    (version "1.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "predicates" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ai5qdqym11x1x55via1gq2w86ac1gj3rsjdan9wqmqsdi2k7d7f"))))
    (arguments
     `(#:cargo-inputs
       (("rust-difference" ,rust-difference-2)
        ("rust-float-cmp" ,rust-float-cmp-0.8)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs
       (("rust-predicates-tree" ,rust-predicates-tree-1))))))

(define-public rust-predicates-core-1
  (package
    (name "rust-predicates-core")
    (version "1.0.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "predicates-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1yjz144yn3imq2r4mh7k9h0r8wv4yyjjj57bs0zwkscz24mlczkj"))))
    (build-system cargo-build-system)
    (home-page
     "https://github.com/assert-rs/predicates-rs/tree/master/predicates-core")
    (synopsis "API for boolean-valued predicate functions")
    (description
     "An API for boolean-valued predicate functions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-predicates-tree-1
  (package
    (name "rust-predicates-tree")
    (version "1.0.12")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "predicates-tree" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0p223d9y02ywwxs3yl68kziswz4da4vabz67jfhp7yqx71njvpbj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-predicates-core" ,rust-predicates-core-1)
        ("rust-termtree" ,rust-termtree-0.5))
       #:cargo-development-inputs
       (("rust-predicates" ,rust-predicates-3))))
    (home-page
     "https://github.com/assert-rs/predicates-rs/tree/master/predicates-tree")
    (synopsis
     "Render boolean-valued predicate functions results as a tree")
    (description
     "Render boolean-valued predicate functions results as a tree.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-0.11
  (package
    (name "rust-pretty")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1282l4pa9hhamvbnd5mjrwhdgcsjy1l1lj44i0m4pczsf1cd3br9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-log" ,rust-log-0.4)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-typed-arena" ,rust-typed-arena-2)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-difference" ,rust-difference-2)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/Marwes/pretty.rs")
    (synopsis "Pretty printing combinators for Rust")
    (description
     "This crate provides functionality for defining pretty printers.  It is
particularly useful for printing structured recursive data like trees.")
    (license license:expat)))

(define-public rust-pretty-assertions-1
  (package
    (name "rust-pretty-assertions")
    (version "1.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pretty_assertions" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0v8iq35ca4rw3rza5is3wjxwsf88303ivys07anc5yviybi31q9s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-diff" ,rust-diff-0.1)
        ("rust-yansi" ,rust-yansi-1))))
    (home-page "https://github.com/rust-pretty-assertions/rust-pretty-assertions")
    (synopsis "Drop-in replacements for assert_eq! and assert_ne!")
    (description
     "Overwrite @code{assert_eq!} and @code{assert_ne!} with drop-in
replacements, adding colorful diffs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-assertions-0.7
  (package
    (name "rust-pretty-assertions")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty_assertions" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12yris0ni87wvzhj23a5nnz7amskvahhnpikx5snhdyg09y0xaqw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.12)
        ("rust-ctor" ,rust-ctor-0.1)
        ("rust-diff" ,rust-diff-0.1)
        ("rust-output-vt100" ,rust-output-vt100-0.1))))
    (home-page "https://github.com/colin-kiegel/rust-pretty-assertions")
    (synopsis "Drop-in replacements for assert_eq! and assert_ne!")
    (description
     "Overwrite @code{assert_eq!} and @code{assert_ne!} with drop-in
replacements, adding colorful diffs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-assertions-0.6
  (package
    (inherit rust-pretty-assertions-0.7)
    (name "rust-pretty-assertions")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty_assertions" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ctor" ,rust-ctor-0.1)
        ("rust-output-vt100" ,rust-output-vt100-0.1)
        ("rust-ansi-term" ,rust-ansi-term-0.11)
        ("rust-difference" ,rust-difference-2))))))

(define-public rust-pretty-assertions-0.5
  (package
    (inherit rust-pretty-assertions-0.7)
    (name "rust-pretty-assertions")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty_assertions" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ins6swkpxmrh8q5h96h8nv0497d3dclsiyx2lyvqi6py0q980is"))))
    (arguments
     `(#:tests? #f                      ;XXX: Tests fail
       #:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.11)
        ("rust-difference" ,rust-difference-2))))))

(define-public rust-pretty-assertions-0.4
  (package
    (inherit rust-pretty-assertions-0.6)
    (name "rust-pretty-assertions")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty_assertions" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1llxlnhh4qz9kda27v6nllgzvgi1fv08i3djfk4zn6zlw8c53si8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.9)
        ("rust-difference" ,rust-difference-1))))))

(define-public rust-pretty-bytes-0.2
  (package
    (name "rust-pretty-bytes")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty-bytes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05jkd1f824b93jh0jwfskba9hd70crvjz2nl1hf2xgqx5kfnx780"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
                       ("rust-getopts" ,rust-getopts-0.2))))
    (home-page "https://github.com/banyan/rust-pretty-bytes")
    (synopsis "Convert bytes to a human readable string")
    (description "This package converts bytes to a human readable string.")
    (license license:expat)))

(define-public rust-pretty-env-logger-0.5
  (package
    (name "rust-pretty-env-logger")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty_env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "076w9dnvcpx6d3mdbkqad8nwnsynb7c8haxmscyrz7g3vga28mw6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/seanmonstar/pretty-env-logger")
    (synopsis "Visually pretty env_logger")
    (description "This package provides a visually pretty env_logger.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pretty-env-logger-0.4
  (package
    (inherit rust-pretty-env-logger-0.5)
    (name "rust-pretty-env-logger")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty_env_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17gva1rlf9fhgr0jr19kv39f8bir3f4pa4jz02qbhl9qanwkcvcj"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.7)
                       ("rust-log" ,rust-log-0.4))))))

(define-public rust-pretty-env-logger-0.3
  (package
    (inherit rust-pretty-env-logger-0.4)
    (name "rust-pretty-env-logger")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pretty_env_logger" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0x4hyjlnvvhyk9m74iypzybm22w3dl2k8img4b956239n5vf8zki"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-env-logger" ,rust-env-logger-0.6))))))

(define-public rust-pretty-hex-0.4
  (package
    (name "rust-pretty-hex")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty-hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m0j8pqmh6gq1mq7yzp12z0ix159fw0di5lhiwv2y1j0m3j3xj5v"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-development-inputs `(("rust-heapless" ,rust-heapless-0.8))))
    (home-page "https://github.com/wolandr/pretty-hex")
    (synopsis "Prettified output of hexadecimal byte slices")
    (description "Pretty hex dump of byte slices in the common style.")
    (license license:expat)))

(define-public rust-pretty-hex-0.3
  (package
    (inherit rust-pretty-hex-0.4)
    (name "rust-pretty-hex")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pretty-hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mf8xvlfri4impj2paj4azx7hxh7l0i38cjyib1hiikwvlqhiyn6"))))
    (arguments
     (list #:cargo-development-inputs `(("rust-heapless" ,rust-heapless-0.5))))))

(define-public rust-prettyplease-0.2
  (package
    (name "rust-prettyplease")
    (version "0.2.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prettyplease" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cw0n68wb2d0qgcqm2w00af3zbidkclyrd2darylbl34bj4frlb4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-indoc" ,rust-indoc-2)
                                   ("rust-proc-macro2" ,rust-proc-macro2-1)
                                   ("rust-quote" ,rust-quote-1)
                                   ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/dtolnay/prettyplease")
    (synopsis "Minimal `syn` syntax tree pretty-printer")
    (description
     "This package provides a minimal `syn` syntax tree pretty-printer.")
    (license (list license:expat license:asl2.0))))

(define-public rust-prettyplease-0.1
  (package
    (inherit rust-prettyplease-0.2)
    (name "rust-prettyplease")
    (version "0.1.25")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "prettyplease" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "11lskniv8pf8y8bn4dc3nmjapfhnibxbm5gamp2ad9qna3lld1kc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-syn" ,rust-syn-1))))))

(define-public rust-prettytable-rs-0.8
  (package
    (name "rust-prettytable-rs")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prettytable-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bmcsxkcy94hi0jz5db0fz137w5aaf17z2j1ryn2vyh400blpl0g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-csv" ,rust-csv-1)
        ("rust-encode-unicode" ,rust-encode-unicode-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-term" ,rust-term-0.5)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/phsym/prettytable-rs")
    (synopsis "Library for printing pretty formatted tables in terminal")
    (description "This package provides a library for printing pretty
formatted tables in terminal.")
    (license license:bsd-3)))

(define-public rust-primal-0.3
  (package
    (name "rust-primal")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "primal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s6n396cssbr86f9w31sppdf06xsymgrl7y9gw0yccl5jiag7rdi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-primal-check" ,rust-primal-check-0.3)
                       ("rust-primal-estimate" ,rust-primal-estimate-0.3)
                       ("rust-primal-sieve" ,rust-primal-sieve-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-primal-slowsieve" ,rust-primal-slowsieve-0.3))))
    (home-page "https://github.com/huonw/primal")
    (synopsis "Various tools for prime numbers")
    (description
     "This package provides various tools to work with prime numbers.  It
includes: optimised prime sieves, checking for primality, enumerating primes,
factorising numbers, and state-of-the-art estimation of upper and lower bounds
for the number of primes below n and the k-th prime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-primal-bit-0.3
  (package
    (name "rust-primal-bit")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "primal-bit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mb0cdxhlm6phhl2f4d7nf7g4yrnd8xdq07m7liw7b5fp3djj915"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hamming" ,rust-hamming-0.1))))
    (home-page "https://github.com/huonw/primal")
    (synopsis "Bit-vector specialised for rust-primal")
    (description
     "This package provides a bit-vector specialised to the
prime-number-related needs of @code{rust-primal}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-primal-check-0.3
  (package
    (name "rust-primal-check")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "primal-check" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "025xnak4rhkwa4h970bjb3cvp2k853wviyr84n8gjfhy65dqj3fw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1))
       #:cargo-development-inputs (("rust-primal" ,rust-primal-0.3))))
    (home-page "https://github.com/huonw/primal")
    (synopsis "Test primality")
    (description
     "This package provides a standalone primality testing tool.")
    (license (list license:expat license:asl2.0))))

(define-public rust-primal-estimate-0.3
  (package
    (name "rust-primal-estimate")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "primal-estimate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08nq0n0r35rni65h79fynync0wyy8agrxy5mfmg0hq9s1c510cm4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-primal" ,rust-primal-0.3))))
    (home-page "https://github.com/huonw/primal")
    (synopsis "Estimate upper and lower bounds for the k-th prime")
    (description
     "This package provides a state-of-the-art estimation of upper and lower
bounds for the number of primes below n and the k-th prime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-primal-sieve-0.3
  (package
    (name "rust-primal-sieve")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "primal-sieve" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lzdllk78jqdp93h15l69s4xglbjcf6jlq6khccka0r2v2b2g64f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3)
                       ("rust-primal-estimate" ,rust-primal-estimate-0.3)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-primal" ,rust-primal-0.3)
        ("rust-primal-slowsieve" ,rust-primal-slowsieve-0.3))))
    (home-page "https://github.com/huonw/primal")
    (synopsis "Prime sieve")
    (description "This package provides a high performance prime sieve.")
    (license (list license:expat license:asl2.0))))

(define-public rust-primal-slowsieve-0.3
  (package
    (name "rust-primal-slowsieve")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "primal-slowsieve" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02pixp7xprkmj0fvjgg6n4dn5f8syr6xj2m2dxn0nyg06b8lipy9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3)
                       ("rust-primal-estimate" ,rust-primal-estimate-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/huonw/primal")
    (synopsis "Simple sieve of Eratosthenes")
    (description
     "This package provides a simple sieve of Eratosthenes designed for
testing faster sieves.  For use in Rust crates, use @code{rust-primal-sieve}
or @code{rust-primal} instead.")
    (license (list license:expat license:asl2.0))))

(define-public rust-print-bytes-1
  (package
    (name "rust-print-bytes")
    (version "1.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "print_bytes" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0a1pc0bs0f3mgy86mazdy81k6iaj8s23ly49mcka4in2pj27lzxl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs
       (("rust-os-str-bytes" ,rust-os-str-bytes-6))))
    (home-page "https://github.com/dylni/print_bytes")
    (synopsis "Print bytes as losslessly as possible")
    (description "This package contains a Rust library to print bytes as
losslessly as possible.")
    (license (list license:expat license:asl2.0))))

(define-public rust-print-bytes-0.7
  (package
    (inherit rust-print-bytes-1)
    (name "rust-print-bytes")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "print_bytes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09qlcf6iiadg8snmpbv43h8471mmqx4nhyksnm6ci1p7ygv1ch19"))))
    (arguments
     `(#:cargo-inputs
       (("rust-print-bytes" ,rust-print-bytes-1))
       #:cargo-development-inputs
       (("rust-os-str-bytes" ,rust-os-str-bytes-6))))))

(define-public rust-print-bytes-0.5
  (package
    (inherit rust-print-bytes-1)
    (name "rust-print-bytes")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "print_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0d4i9y3jx1chi6w97a8rgdbwm9g3cppr53rw53zl6fcaq31qx0b6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-os-str-bytes" ,rust-os-str-bytes-4))))))

(define-public rust-print-bytes-0.4
  (package
    (inherit rust-print-bytes-0.5)
    (name "rust-print-bytes")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "print_bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1zmvbaxfl4r780j0smg2kn1q3agks601aa43s5zdlzgcp32yjfvm"))))
    (arguments
     `(#:cargo-inputs
       (("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-os-str-bytes" ,rust-os-str-bytes-2))))))

(define-public rust-print-positions-0.6
  (package
    (name "rust-print-positions")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "print-positions" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "026jzdf63b37bb9ix3mpczln2pqylsiwkkxhikj05x9y1r3r7x8x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1))))
    (home-page "https://github.com/bobhy/print-positions")
    (synopsis "Library providing string segmentation on grapheme clusters")
    (description
     "This package provides a library providing string segmentation on grapheme
clusters and ANSI escape sequences for accurate length arithmetic based on
visible print positions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-priority-queue-1
  (package
    (name "rust-priority-queue")
    (version "1.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "priority-queue" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1id9vzrypiilraw4wd5lh577prkjgyhd5vv77rdcgb7kkbcq4l41"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-indexmap" ,rust-indexmap-1)
             ("rust-serde" ,rust-serde-1)
             ("rust-autocfg" ,rust-autocfg-1))
           #:cargo-development-inputs
           `(("rust-hashbrown" ,rust-hashbrown-0.9)
             ("rust-serde-json" ,rust-serde-json-1)
             ("rust-serde-test" ,rust-serde-test-1)
             ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/garro95/priority-queue")
    (synopsis "Efficient priority queue implemented as a heap")
    (description "An efficient priority queue with a function to change the
priority of an object.")
    (license license:expat)))

(define-public rust-proc-macro-crate-3
  (package
    (name "rust-proc-macro-crate")
    (version "3.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-crate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yzsqnavb3lmrcsmbrdjfrky9vcbl46v59xi9avn0796rb3likwf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            ;; Not all files included.
                            "--skip=workspace_deps_working")
       #:cargo-inputs (("rust-toml-edit" ,rust-toml-edit-0.22))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/bkchr/proc-macro-crate")
    (synopsis "Get the name of a (renamed) crate in @file{Cargo.toml}")
    (description
     "This crate provides a way to get the name of a crate, even if it
is renamed in @file{Cargo.toml}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro-crate-2
  (package
    (inherit rust-proc-macro-crate-3)
    (name "rust-proc-macro-crate")
    (version "2.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-crate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06jbv5w6s04dbjbwq0iv7zil12ildf3w8dvvb4pqvhig4gm5zp4p"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Not all files included.
                            "--skip=workspace_deps_working")
       #:cargo-inputs (("rust-toml-datetime" ,rust-toml-datetime-0.6)
                       ("rust-toml-edit" ,rust-toml-edit-0.20))
       #:cargo-development-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                                   ("rust-quote" ,rust-quote-1)
                                   ("rust-syn" ,rust-syn-2))))))

(define-public rust-proc-macro-crate-1
  (package
    (inherit rust-proc-macro-crate-2)
    (name "rust-proc-macro-crate")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-crate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d1zq41h7aymny4p87nmz20688zr9zrrn6nmczz7l77cwj4q6qb6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-toml-edit" ,rust-toml-edit-0.18))
       #:cargo-development-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-proc-macro-crate-0.1
  (package
    (inherit rust-proc-macro-crate-1)
    (name "rust-proc-macro-crate")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-crate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11cpihdk9ba68hzw95aa8zxn0i5g6kdrfd4l2cy3d5jvb72a6vhx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-toml" ,rust-toml-0.5))))))

(define-public rust-proc-macro-error-1
  (package
    (name "rust-proc-macro-error")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-error" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Ignore the "DO NOT BUMP" warning.
           (substitute* "Cargo.toml"
             (("=1.0.107") "^1.0.107")
             (("=0.5.2") "^0.5.2"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; 'test_crate' folder not included in release.
       #:cargo-inputs
       (("rust-proc-macro-error-attr" ,rust-proc-macro-error-attr-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://gitlab.com/CreepySkeleton/proc-macro-error")
    (synopsis "Drop-in replacement to panics in proc-macros")
    (description
     "This crate serves as a tiny shim around @code{proc_macro::Diagnostic}
and @code{compile_error!}.  It detects the most preferable way to emit errors
based on compiler's version.  When the underlying diagnostic type is finally
stabilized, this crate will be simply delegating to it, requiring no changes
in your code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro-error-attr-1
  (package
    (name "rust-proc-macro-error-attr")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-error-attr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://gitlab.com/CreepySkeleton/proc-macro-error")
    (synopsis "Attribute macro for proc-macro-error crate")
    (description "Attribute macro for proc-macro-error crate")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro-hack-0.5
  (package
    (name "rust-proc-macro-hack")
    (version "0.5.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-hack" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1rg0kzsj7lj00qj602d3h77spwfz48vixn1wbjp7a4yrq65w9w6v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-demo-hack" ,rust-demo-hack-0.0.5)
        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0.5))))
    (home-page "https://github.com/dtolnay/proc-macro-hack")
    (synopsis
     "Procedural macros in expression position")
    (description
     "Procedural macros in expression position.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro-hack-0.4
  (package
    (inherit rust-proc-macro-hack-0.5)
    (name "rust-proc-macro-hack")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-hack" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qlfck1fiwrj0wdv71z06bm0alpfsyq9pywfzx2cr607b145dyfp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack-impl" ,rust-proc-macro-hack-impl-0.4))
       #:cargo-development-inputs
       (("rust-demo-hack" ,rust-demo-hack-0.0.4)
        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0.4))))))

(define-public rust-proc-macro-hack-impl-0.4
  (package
    (name "rust-proc-macro-hack-impl")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-hack-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09q0jvdm5g0balskv9q446l9h7k3bk0fzmnxqzbz8d8nmvq5prbv"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/proc-macro-hack")
    (synopsis "Procedural functionlike!() macros using only Macros 1.1")
    (description
     "Procedural functionlike!() macros using only Macros 1.1.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro-nested-0.1
  (package
    (name "rust-proc-macro-nested")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro-nested" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0nnwm9bvp1fmr8nqjp8ynrkj97yzpsdh3062li8b0f4hzgd818gb"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/proc-macro-hack")
    (synopsis
     "Support for nested proc-macro-hack invocations")
    (description
     "Support for nested proc-macro-hack invocations.")
    (license (list license:expat license:asl2.0))))

;; WARNING: This package is a dependency of mesa.
(define-public rust-proc-macro2-1
  (package
    (name "rust-proc-macro2")
    (version "1.0.92")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c1vjy5wg8iy7kxsxda564qf4ljp0asysmbn2i7caj177x5m9lrp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--lib")
       #:cargo-inputs
       (("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-flate2" ,rust-flate2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-tar" ,rust-tar-0.4))))
    (home-page "https://github.com/dtolnay/proc-macro2")
    (synopsis "Stable implementation of the upcoming new `proc_macro` API")
    (description "This package provides a stable implementation of the upcoming new
`proc_macro` API.  Comes with an option, off by default, to also reimplement itself
in terms of the upstream unstable API.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-proc-macro2-0.4
  (package
    (inherit rust-proc-macro2-1)
    (name "rust-proc-macro2")
    (version "0.4.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "proc-macro2" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
    (arguments
     `(#:tests? #f      ; doc tests fail
       #:cargo-inputs
       (("rust-unicode-xid" ,rust-unicode-xid-0.1))
       #:cargo-development-inputs
       (("rust-quote" ,rust-quote-0.6))))))

(define-public rust-proc-macro2-0.3
  (package
    (name "rust-proc-macro2")
    (version "0.3.8")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "proc-macro2" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1ryaynnaj39l4zphcg5w8wszndd80vsrv89m5d2293gl6pry41hv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unicode-xid" ,rust-unicode-xid-0.1))))
    (home-page "https://github.com/alexcrichton/proc-macro2")
    (synopsis
     "Substitute implementation of the compiler's `proc_macro` API")
    (description
     "This package provides a substitute implementation of the compiler's
@code{proc_macro} API to decouple token-based libraries from the procedural
macro use case.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro2-diagnostics-0.10
  (package
    (name "rust-proc-macro2-diagnostics")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro2-diagnostics" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j48ipc80pykvhx6yhndfa774s58ax1h6sm6mlhf09ls76f6l1mg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--" "--skip=main")
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-version-check" ,rust-version-check-0.9)
                       ("rust-yansi" ,rust-yansi-1))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/SergioBenitez/proc-macro2-diagnostics")
    (synopsis "Diagnostics for proc-macro2")
    (description "Diagnostics for stable and nightly proc-macros!")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-macro2-diagnostics-0.9
  (package
    (inherit rust-proc-macro2-diagnostics-0.10)
    (name "rust-proc-macro2-diagnostics")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-macro2-diagnostics" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nmazlb1dkznjds7qwms7yxhi33ajc3isji2lsgx8r3lsqk9gwjb"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--" "--skip=main")
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1)
                       ("rust-version-check" ,rust-version-check-0.9)
                       ("rust-yansi" ,rust-yansi-0.5))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-proc-maps-0.4
  (package
    (name "rust-proc-maps")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-maps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ys4dj9wzqj6z5k7i28qy7l2ff224znvjfyrzhjkl68flrd4rd1x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-bindgen" ,rust-bindgen-0.70)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libproc" ,rust-libproc-0.14)
                       ("rust-mach2" ,rust-mach2-0.4)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rbspy/proc-maps")
    (synopsis "Helper crate for getting virtual memory maps from processes")
    (description "This package provides a helper crate for getting virtual
memory maps from processes.")
    (license license:expat)))

(define-public rust-proc-mounts-0.3
  (package
    (name "rust-proc-mounts")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-mounts" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wpw3z2qq8wm3da8d0253a1h95nma6lad41m9yzp1ayh6n22yr8d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-partition-identity" ,rust-partition-identity-0.3))))
    (home-page "https://github.com/pop-os/proc-mounts")
    (synopsis "Fetch active mounts and swaps on a Linux system")
    (description
     "This package provides fetching active mounts and swaps on a Linux system.")
    (license license:expat)))

(define-public rust-proc-quote-0.4
  (package
    (name "rust-proc-quote")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-quote" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0051nax31x1yzr1imbp200l2gpz6pqcmlcna099r33773lbap12y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; The test suite hasn't aged well
       #:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-proc-quote-impl" ,rust-proc-quote-impl-0.3)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/Goncalerta/proc-quote")
    (synopsis "Procedural macro implementation of quote!")
    (description
     "This package provides a procedural macro implementation of quote!.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proc-quote-impl-0.3
  (package
    (name "rust-proc-quote-impl")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proc-quote-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "184ax14pyazv5g6yma60ls7x4hd5q6wah1kf677xng06idifrcvz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/Goncalerta/proc-quote")
    (synopsis "Procedural macro implementation of quote!")
    (description
     "This package provides a procedural macro implementation of quote!.")
    (license (list license:expat license:asl2.0))))

(define-public rust-process-control-5
  (package
    (name "rust-process-control")
    (version "5.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "process_control" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qhbyxrfz6ywmsm69pjl7vxzgj6plc6qn6lp0zgqlw17laslwb7k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1))))
    (home-page "https://github.com/dylni/process_control")
    (synopsis "Ergonomically run processes with limits")
    (description
     "This package provides Ergonomically run processes with limits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-procfs-0.17
  (package
    (name "rust-procfs")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "procfs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17swyjqinpb745f07dpdi7c8q37hxvhx9xmmsi2dhxaj2kc74nyc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=process::tests::test_proc_status_for_kthreadd"
         "--skip=process::tests::test_proc_fd_count_runsinglethread")
       #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-procfs-core" ,rust-procfs-core-0.17)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-failure" ,rust-failure-0.1)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-procinfo" ,rust-procinfo-0.4))))
    (home-page "https://github.com/eminence/procfs")
    (synopsis "Interface to the Linux procfs pseudo-filesystem")
    (description
     "This package provides an interface to the Linux procfs pseudo-filesystem.")
    (license (list license:expat license:asl2.0))))

(define-public rust-procfs-0.16
  (package
    (inherit rust-procfs-0.17)
    (name "rust-procfs")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "procfs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d4k8ai16b5cv05dpz7b87qn5dap3jdyfnrvycb5zhmhas9hs7kk"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=net::tests::test_snmp"
         "--skip=process::task::tests::test_task_runsinglethread"
         "--skip=process::tests::test_proc_status_for_kthreadd"
         "--skip=tests::test_meminfo"
         "--skip=process::tests::test_proc_fd_count_runsinglethread")
       #:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-bitflags" ,rust-bitflags-2)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-procfs-core" ,rust-procfs-core-0.16)
        ("rust-rustix" ,rust-rustix-0.38)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-procinfo" ,rust-procinfo-0.4))))))

(define-public rust-procfs-core-0.17
  (package
    (name "rust-procfs-core")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "procfs-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v0jdbyc1rq1x22m0wn7n4iq4h86gdls38wqfg06zc29hcnz1793"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/eminence/procfs")
    (synopsis "Data structures and parsing for the procfs pseudo-filesystem")
    (description
     "This package provides data structures and parsing for the Linux procfs
pseudo-filesystem.")
    (license (list license:expat license:asl2.0))))

(define-public rust-procfs-core-0.16
  (package
    (inherit rust-procfs-core-0.17)
    (name "rust-procfs-core")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "procfs-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0acs0p19yfcs0h787ls24vi5ql4g6c62cm57qh2cxx397a958d9d"))))
    (arguments
     `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-serde" ,rust-serde-1))))))

(define-public rust-procinfo-0.4
  (package
    (name "rust-procinfo")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "procinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "175l4cprsb56jrkycpz0743clgc8fyhxv4i8hhgqjd967mzl5cba"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" ; thread panic on bad unwrap.
         "--skip=pid::status::tests::test_status")
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-nom" ,rust-nom-2)
        ("rust-rustc-version" ,rust-rustc-version-0.2))))
    (home-page "https://github.com/danburkert/procinfo-rs")
    (synopsis "Library for accessing Linux processes and system information")
    (description
     "This package provides a library for accessing Linux processes and system
information.")
    (license (list license:expat license:asl2.0))))

(define-public rust-prodash-29
  (package
    (name "rust-prodash")
    (version "29.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prodash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09g3zx6bhp96inzvgny7hlcqwn1ph1hmwk3hpqvs8q8c0bbdhrm2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-io" ,rust-async-io-2)
        ("rust-bytesize" ,rust-bytesize-1)
        ("rust-crosstermion" ,rust-crosstermion-0.14)
        ("rust-ctrlc" ,rust-ctrlc-3)
        ("rust-dashmap" ,rust-dashmap-6)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-lite" ,rust-futures-lite-2)
        ("rust-human-format" ,rust-human-format-1)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-jiff" ,rust-jiff-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-ratatui" ,rust-ratatui-0.26)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-tui-react" ,rust-tui-react-0.23)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-argh" ,rust-argh-0.1)
        ("rust-async-executor" ,rust-async-executor-1)
        ("rust-async-io" ,rust-async-io-2)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-env-logger" ,rust-env-logger-0.11)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/Byron/prodash")
    (synopsis
     "Dashboard for visualizing progress of asynchronous and possibly blocking tasks")
    (description
     "This package provides a dashboard for visualizing progress of asynchronous and
possibly blocking tasks.")
    (license license:expat)))

(define-public rust-prodash-28
  (package
    (inherit rust-prodash-29)
    (name "rust-prodash")
    (version "28.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prodash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y9d16s79168rc5k2djjb16vjcx27yargbfb6xz6m2mq4r6jcjkl"))))
    (arguments
     `(#:cargo-inputs (("rust-async-io" ,rust-async-io-2)
                       ("rust-bytesize" ,rust-bytesize-1)
                       ("rust-crosstermion" ,rust-crosstermion-0.13)
                       ("rust-ctrlc" ,rust-ctrlc-3)
                       ("rust-dashmap" ,rust-dashmap-5)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-lite" ,rust-futures-lite-2)
                       ("rust-human-format" ,rust-human-format-1)
                       ("rust-humantime" ,rust-humantime-2)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-ratatui" ,rust-ratatui-0.25)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-tui-react" ,rust-tui-react-0.22)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-argh" ,rust-argh-0.1)
                                   ("rust-async-executor" ,rust-async-executor-1)
                                   ("rust-async-io" ,rust-async-io-2)
                                   ("rust-blocking" ,rust-blocking-1)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-futures-util" ,rust-futures-util-0.3)
                                   ("rust-is-terminal" ,rust-is-terminal-0.4)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-rand" ,rust-rand-0.8))))
    (license license:expat)))

(define-public rust-prodash-26
  (package
    (inherit rust-prodash-28)
    (name "rust-prodash")
    (version "26.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prodash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kxvsxyh79qz524vl0r50svga84fcax4ngpcvkf576yiwbw5njvr"))))
    (arguments
     `(#:cargo-inputs (("rust-async-io" ,rust-async-io-1)
                       ("rust-bytesize" ,rust-bytesize-1)
                       ("rust-compound-duration" ,rust-compound-duration-1)
                       ("rust-crosstermion" ,rust-crosstermion-0.11)
                       ("rust-ctrlc" ,rust-ctrlc-3)
                       ("rust-dashmap" ,rust-dashmap-5)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-lite" ,rust-futures-lite-1)
                       ("rust-human-format" ,rust-human-format-1)
                       ("rust-humantime" ,rust-humantime-2)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-ratatui" ,rust-ratatui-0.20)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-tui-react" ,rust-tui-react-0.20)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs(("rust-argh" ,rust-argh-0.1) ; >0.1.3
                                  ("rust-asyn-executor" ,rust-async-executor-1)
                                  ("rust-async-io" ,rust-async-io-1)
                                  ("rust-blocking" ,rust-blocking-1)
                                  ("rust-criterion" ,rust-criterion-0.5)
                                  ("rust-env-logger" ,rust-env-logger-0.10)
                                  ("rust-futures" ,rust-futures-0.3)
                                  ("rust-futures-util" ,rust-futures-util-0.3)
                                  ("rust-is-terminal" ,rust-is-terminal-0.4)
                                  ("rust-once-cell" ,rust-once-cell-1)
                                  ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-prodash-25
  (package
    (inherit rust-prodash-26)
    (name "rust-prodash")
    (version "25.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prodash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xva91iks58431asnsx3lfqyr4z4fvvkrc2b582llalr411fnrqx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-async-io" ,rust-async-io-1)
        ("rust-bytesize" ,rust-bytesize-1)
        ("rust-compound-duration" ,rust-compound-duration-1)
        ("rust-crosstermion" ,rust-crosstermion-0.11)
        ("rust-ctrlc" ,rust-ctrlc-3)
        ("rust-dashmap" ,rust-dashmap-5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-lite" ,rust-futures-lite-1)
        ("rust-human-format" ,rust-human-format-1)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-ratatui" ,rust-ratatui-0.20)
        ("rust-signal-hook" ,rust-signal-hook-0.3)
        ("rust-time" ,rust-time-0.3)
        ("rust-tui-react" ,rust-tui-react-0.20)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-argh" ,rust-argh-0.1)
        ("rust-async-executor" ,rust-async-executor-1)
        ("rust-async-io" ,rust-async-io-1)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-env-logger" ,rust-env-logger-0.10)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-profiling-1
  (package
    (name "rust-profiling")
    (version "1.0.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "profiling" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03nwj6y7v4dfjz14vs8sq64bg40n3s84hhd6nxp3gxhwhblfsdfi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs (("rust-optick" ,rust-optick-1)
                       ("rust-profiling-procmacros" ,rust-profiling-procmacros-1)
                       ("rust-puffin" ,rust-puffin-0.18)
                       ("rust-superluminal-perf" ,rust-superluminal-perf-0.1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-tracy-client" ,rust-tracy-client-0.16))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2)
        ("rust-tracing-tracy" ,rust-tracing-tracy-0.4))))
    (home-page "https://github.com/aclysma/profiling")
    (synopsis "Abstraction over other profiler crates")
    (description
     "This crate provides a very thin abstraction over other profiler crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-profiling-procmacros-1
  (package
    (name "rust-profiling-procmacros")
    (version "1.0.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "profiling-procmacros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01gbxcn06a6xlbdpjpfh1lnhkqdn1nyzr468wfdl9ay1cmyjscjb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/aclysma/profiling")
    (synopsis "Abstraction over other profiler crates")
    (description
     "This crate provides a very thin abstraction over other profiler crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-progressing-3
  (package
    (name "rust-progressing")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "progressing" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06sb1cxpkc8lx56s76c95cfljs0513nsnn35wd6w79sblwcxpdwp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("log" ,rust-log-0.4))))
    (home-page "https://github.com/dominicparga/progressing")
    (synopsis "Counting progress-bar for Rust")
    (description
     "This package provides a set of text-based, counting
progress-bars for Rust.")
    (license license:asl2.0)))

(define-public rust-project-origins-1
  (package
    (name "rust-project-origins")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "project-origins" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lizp7dp6ddrlgh3xigl8pyai5qn8ab7lnhgwsb19ihgpyix8xm0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; failed to resolve: could not find `main` in `tokio`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-stream" ,rust-tokio-stream-0.1))
       #:cargo-development-inputs
       (("rust-miette" ,rust-miette-5)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/watchexec/watchexec")
    (synopsis "Resolve project origins and kinds from a path")
    (description "Resolve project origins and kinds from a path.")
    (license license:asl2.0)))

(define-public rust-promptly-0.3
  (package
    (name "rust-promptly")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "promptly" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fl0548ww11gpja8hlsfc8jgxk00rdd48n1g6icgwadhlp2wdjws"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rustyline" ,rust-rustyline-9)
        ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/anowell/promptly")
    (synopsis "Opinionated CLI prompting helper")
    (description "This package provides opinionated CLI prompting helper.")
    (license license:expat)))

(define-public rust-propfuzz-0.0.1
  (package
    (name "rust-propfuzz")
    (version "0.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "propfuzz" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1xadkjqsnnazfksaywxkdgv0fjkclj2p7x36r044jbj9g395nxyg"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-propfuzz-macro" ,rust-propfuzz-macro-0.0.1)
             ("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://github.com/facebookincubator/propfuzz")
    (synopsis "Property-based testing and fuzzing")
    (description
     "This package provides a Rust library that combines
property-based testing and fuzzing.")
    (license (list license:expat license:asl2.0))))

(define-public rust-propfuzz-macro-0.0.1
  (package
    (name "rust-propfuzz-macro")
    (version "0.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "propfuzz-macro" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1xizaahjxxvcz9n91pgpji3nd7b755qgq3m2kmmg53zwjwv9nnsx"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f      ; use of undeclared crate or module `propfuzz`
           #:cargo-inputs
           `(("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/facebookincubator/propfuzz")
    (synopsis "Support macro for propfuzz")
    (description
     "This package provides a support macro for propfuzz.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proptest-1
  (package
    (name "rust-proptest")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13gm7mphs95cw4gbgk5qiczkmr68dvcwhp58gmiz33dq2ccm3hml"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-bit-vec" ,rust-bit-vec-0.6)
        ("rust-bitflags" ,rust-bitflags-2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-proptest-macro" ,rust-proptest-macro-0.1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-regex-syntax" ,rust-regex-syntax-0.8)
        ("rust-rusty-fork" ,rust-rusty-fork-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-unarray" ,rust-unarray-0.1)
        ("rust-x86" ,rust-x86-0.52))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://altsysrq.github.io/proptest-book/proptest/index.html")
    (synopsis "Hypothesis-like property-based testing and shrinking")
    (description
     "The @code{proptest} crate provides most of Proptest’s functionality,
including most strategies and the testing framework itself.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proptest-0.10
  (package
    (inherit rust-proptest-1)
    (name "rust-proptest")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vv4cvwn1v7h0zjajmhznll554a2ri8dqw26xql3q49r246cirhj"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
        ("rust-rusty-fork" ,rust-rusty-fork-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-x86" ,rust-x86-0.33))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-1))))))

(define-public rust-proptest-0.9
  (package
    (inherit rust-proptest-0.10)
    (name "rust-proptest")
    (version "0.9.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nsslp46lvf3ll5rd83rin652qlz1kqyp0rmsciy0pw4kf0pgi01"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=string::test::askalono_0"
         "--skip=string::test::askalono_9"
         "--skip=string::test::comrak_0"
         "--skip=string::test::fblog_0"
         "--skip=string::test::linky_0"
         "--skip=string::test::phone_number_0"
         "--skip=string::test::spaceslugs_2"
         "--skip=string::test::stache_0"
         "--skip=string::test::fblog_1"
         "--skip=string::test::phonenumber_5")
       #:cargo-inputs
       (("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-rand-chacha" ,rust-rand-chacha-0.1)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
        ("rust-tempfile" ,rust-tempfile-3))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-1))))))

(define-public rust-proptest-0.3
  (package
    (inherit rust-proptest-0.9)
    (name "rust-proptest")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "15633iq8x3x0im5vyij2gr8ncpflv4fa9w63rh94k20xhzv4m308"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bit-set" ,rust-bit-set-0.4)
        ("rust-lazy-static" ,rust-lazy-static-0.2)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-rand" ,rust-rand-0.3)
        ("rust-regex-syntax" ,rust-regex-syntax-0.4))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-0.2))))))

(define-public rust-proptest-derive-0.5
  (package
    (name "rust-proptest-derive")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jay6jwfvrwzz5bqpi4hxx3ax6kax06p0h29vgkxb0vl42nckqaf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; `#![feature]` may not be used on the stable release channel
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-compiletest-rs" ,rust-compiletest-rs-0.11)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-proptest" ,rust-proptest-1))))
    (home-page
     "https://proptest-rs.github.io/proptest/proptest-derive/index.html")
    (synopsis "Custom-derive for the Arbitrary trait of proptest")
    (description "This package provides a custom-derive for the Arbitrary
trait of proptest.")
    (license (list license:expat license:asl2.0))))

(define-public rust-proptest-derive-0.4
  (package
    (inherit rust-proptest-derive-0.5)
    (name "rust-proptest-derive")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vhb7zmnbmn0qvv6x7ibs88pg0mn6d3131c9qzlq982w80vn7wcw"))
       (modules '((guix build utils)))
       ;; Need never_type nightly feature.
       (snippet '(begin (delete-file "tests/uninhabited-pass.rs")
                        (delete-file "tests/enum.rs")
                        (delete-file "tests/skip.rs")))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; can't find crate for `proptest_derive`
         "--skip=compile_test")
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.9)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-proptest" ,rust-proptest-1))))))

(define-public rust-proptest-derive-0.3
  (package
    (inherit rust-proptest-derive-0.4)
    (name "rust-proptest-derive")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p4x6k1zxq9lrpk46npdnzj6894mjx5bpwkwrdk63ird72an5d4h"))))
    (arguments
     `(#:tests? #f          ; Needs nightly features.
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))
       #:cargo-development-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
        ("rust-criterion" ,rust-criterion-0.2)
        ("rust-proptest" ,rust-proptest-1))))))

(define-public rust-proptest-derive-0.1
  (package
    (inherit rust-proptest-derive-0.3)
    (name "rust-proptest-derive")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0nziczbm7w0jisjrd216hh2j45fs5m363ga7r6nawwxcxlbxn7nk"))))
    (arguments
     `(#:tests? #f          ; Needs nightly features.
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))
       #:cargo-development-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
        ("rust-criterion" ,rust-criterion-0.2)
        ("rust-proptest" ,rust-proptest-0.9))))))

(define-public rust-proptest-macro-0.1
  (package
    (name "rust-proptest-macro")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "proptest-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dri79rqsf08vk5zhch0q4vls90pqxkfhqdpab8iw0g1zyvrxwip"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-convert-case" ,rust-convert-case-0.6)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-insta" ,rust-insta-1)
        ("rust-prettyplease" ,rust-prettyplease-0.2))))
    (home-page "https://proptest-rs.github.io/proptest/proptest/index.html")
    (synopsis "Procedural macros for the proptest crate")
    (description
     "This package provides Procedural macros for the proptest crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-prost-0.13
  (package
    (name "rust-prost")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v22ds00ixxga07m09w4vqvylpg1xpbmjp5333vcrr1h89nfy3rc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-prost-derive" ,rust-prost-derive-0.13))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/tokio-rs/prost")
    (synopsis "Protocol Buffers implementation for the Rust language")
    (description
     "This package provides a Protocol Buffers implementation for the Rust
language.")
    (license license:asl2.0)))

(define-public rust-prost-0.12
  (package
    (inherit rust-prost-0.13)
    (name "rust-prost")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jmrhlb4jkiylz72xb14vlkfbmlq0jwv7j20ini9harhvaf2hv0l"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-prost-derive" ,rust-prost-derive-0.12))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-log" ,rust-log-0.4)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-prost-0.11
  (package
    (inherit rust-prost-0.12)
    (name "rust-prost")
    (version "0.11.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kc1hva2h894hc0zf6r4r8fsxfpazf7xn5rj3jya9sbrsyhym0hb"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-prost-derive" ,rust-prost-derive-0.11))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.8)
                                   ("rust-log" ,rust-log-0.4)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-prost-0.10
  (package
    (inherit rust-prost-0.12)
    (name "rust-prost")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gh81qwzpi04cfxiypddpad9pvcdssy31fv9zjpdm84anqfz9bbi"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-prost-derive" ,rust-prost-derive-0.10))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.8)
                                   ("rust-log" ,rust-log-0.4)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-prost-0.9
  (package
    (inherit rust-prost-0.11)
    (name "rust-prost")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00b0xfn80alw7h2pzr2z4dycyvsys4h5878sifaq9zdlbhkpjj24"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-prost-derive" ,rust-prost-derive-0.9))))))

(define-public rust-prost-build-0.13
  (package
    (name "rust-prost-build")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ys9hjx3ykzanzjz2ppxppdfxi62ga9h1ip2d065isw0xnzfbwyh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-log" ,rust-log-0.4)
        ("rust-multimap" ,rust-multimap-0.8)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-petgraph" ,rust-petgraph-0.6)
        ("rust-prettyplease" ,rust-prettyplease-0.2)
        ("rust-prost" ,rust-prost-0.13)
        ("rust-prost-types" ,rust-prost-types-0.13)
        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.12)
        ("rust-pulldown-cmark-to-cmark" ,rust-pulldown-cmark-to-cmark-18)
        ("rust-regex" ,rust-regex-1)
        ("rust-syn" ,rust-syn-2)
        ("rust-tempfile" ,rust-tempfile-3))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.11))))
    (native-inputs (list protobuf))
    (home-page "https://github.com/tokio-rs/prost")
    (synopsis "Protocol Buffers implementation for the Rust Language")
    (description
     "@code{prost-build} makes it easy to generate Rust code from @code{.proto}
files as part of a Cargo build.")
    (license license:asl2.0)))

(define-public rust-prost-build-0.12
  (package
    (inherit rust-prost-build-0.13)
    (name "rust-prost-build")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lp2l1l65l163yggk9nw5mjb2fqwzz12693af5phn1v0abih4pn5"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=tests::test_generate_message_attributes")
       #:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-heck" ,rust-heck-0.4)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-multimap" ,rust-multimap-0.8)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-prettyplease" ,rust-prettyplease-0.2)
                       ("rust-prost" ,rust-prost-0.12)
                       ("rust-prost-types" ,rust-prost-types-0.12)
                       ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9)
                       ("rust-pulldown-cmark-to-cmark" ,rust-pulldown-cmark-to-cmark-10)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-which" ,rust-which-4))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10))))))

(define-public rust-prost-build-0.10
  (package
    (inherit rust-prost-build-0.12)
    (name "rust-prost-build")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1aqc9cjrfwd5kh65xig0vp4cs8dhaqya7pn0kxd83mb2hwwa9rca"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-cmake" ,rust-cmake-0.1)
                       ("rust-heck" ,rust-heck-0.4)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-multimap" ,rust-multimap-0.8)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-prost" ,rust-prost-0.10)
                       ("rust-prost-types" ,rust-prost-types-0.10)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-which" ,rust-which-4))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.8))))))

(define-public rust-prost-derive-0.13
  (package
    (name "rust-prost-derive")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qv2040663cgjyilp9dfgrn83xsr8yv9bx5qkwnyvhm5gsfmlz0m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/tokio-rs/prost")
    (synopsis "Protocol Buffers implementation for the Rust language")
    (description
     "@code{prost-derive} handles generating encoding and decoding
implementations for Rust types annotated with @code{prost} annotation.  For
the most part, users of @code{prost} shouldn't need to interact with
@code{prost-derive} directly.")
    (license license:asl2.0)))

(define-public rust-prost-derive-0.12
  (package
    (inherit rust-prost-derive-0.13)
    (name "rust-prost-derive")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03l4yf6pdjvc4sgbvln2srq1avzm1ai86zni4hhqxvqxvnhwkdpg"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-prost-derive-0.11
  (package
    (inherit rust-prost-derive-0.12)
    (name "rust-prost-derive")
    (version "0.11.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d3mw2s2jba1f7wcjmjd6ha2a255p2rmynxhm1nysv9w1z8xilp5"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-prost-derive-0.10
  (package
    (inherit rust-prost-derive-0.12)
    (name "rust-prost-derive")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k77nir4xa06gbsdjzlygyv73razj9d11dnvxd18byspv92hyrvv"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-itertools" ,rust-itertools-0.10)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-prost-derive-0.9
  (package
    (inherit rust-prost-derive-0.11)
    (name "rust-prost-derive")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zi0qway5anz5ik3k1yrc2av81sjcqvqy9lnivv0nzp0ccr1mk7r"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-prost-types-0.13
  (package
    (name "rust-prost-types")
    (version "0.13.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z78yxzxfhxy7kgzrq3mcbv70jqksbs1mhpb799r67m6p9b1wbyc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-prost" ,rust-prost-0.13))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/tokio-rs/prost")
    (synopsis "Prost definitions of Protocol Buffers well known types")
    (description
     "Prost definitions of Protocol Buffers well known types.  See the
Protobuf reference for more information about well known types.")
    (license license:asl2.0)))

(define-public rust-prost-types-0.12
  (package
    (inherit rust-prost-types-0.13)
    (name "rust-prost-types")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03j73llzljdxv9cdxp4m3vb9j3gh4y24rkbx48k3rx6wkvsrhf0r"))))
    (arguments
     `(#:cargo-inputs (("rust-prost" ,rust-prost-0.12))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1))))))

(define-public rust-prost-types-0.10
  (package
    (inherit rust-prost-types-0.12)
    (name "rust-prost-types")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "prost-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s0y8sc045xjynikw7n9ywm0z39fdkna3j39ivf1241n551022id"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-prost" ,rust-prost-0.10))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1))))))

;; It's recommended that rust-protobuf, rust-protobuf-codegen
;; and rust-probuf-codegen-pure be the same version
(define-public rust-protobuf-2
  (package
    (name "rust-protobuf")
    (version "2.28.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "protobuf" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "154dfzjvxlpx37ha3cmp7fkhcsnyzbnfv7aisvz34x23k2gdjv8h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; missing files in the release tarball.
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/stepancheg/rust-protobuf/")
    (synopsis "Rust implementation of Google protocol buffers")
    (description
     "This package provides a library to read and write protocol buffer's data.")
    (license license:expat)))

;; It's recommended that rust-protobuf, rust-protobuf-codegen
;; and rust-probuf-codegen-pure be the same version
(define-public rust-protobuf-codegen-2
  (package
    (name "rust-protobuf-codegen")
    (version "2.28.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "protobuf-codegen" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1mhpl2cs1d2sqddf097ala180il61g9axpqnzky5bxswnypn0d03"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-protobuf" ,rust-protobuf-2))))
    (home-page "https://github.com/stepancheg/rust-protobuf/")
    (synopsis "Code generator for rust-protobuf")
    (description
     "This package provides a code generator for rust-protobuf.  It includes a
library to invoke programmatically (e.g. from @code{build.rs}) and
@code{protoc-gen-rust} binary.")
    (license license:expat)))

;; It's recommended that rust-protobuf, rust-protobuf-codegen
;; and rust-probuf-codegen-pure be the same version
(define-public rust-protobuf-codegen-pure-2
  (package
    (name "rust-protobuf-codegen-pure")
    (version "2.28.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "protobuf-codegen-pure" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0rfqvpbbqh4pa406nda54jdl0sgagdgp274mmbpd7g4lzjcr78lm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-protobuf" ,rust-protobuf-2)
        ("rust-protobuf-codegen" ,rust-protobuf-codegen-2))))
    (home-page "https://github.com/stepancheg/rust-protobuf/")
    (synopsis "Pure-rust codegen for protobuf using protobuf-parser")
    (description "This package provides a pure-rust codegen for protobuf
using protobuf-parser.")
    (license license:expat)))

(define-public rust-psl-2
  (package
    (name "rust-psl")
    (version "2.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "psl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1g21gwhjzsz2jp2c4y6qg74p49vgiida98lg8yzqxdcx087rnnzy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-psl-types" ,rust-psl-types-2))
       #:cargo-development-inputs
       (("rust-rspec" ,rust-rspec-1))))
    (home-page "https://github.com/addr-rs/psl")
    (synopsis "Extract root domain and suffix")
    (description "This package extracts root domain and suffix from a domain
name.")
    (license (list license:expat license:asl2.0))))

(define-public rust-psl-types-2
  (package
    (name "rust-psl-types")
    (version "2.0.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "psl-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1b3cz1q07iy744a39smykra2j83nv8vmni6la37wnx3ax17jkjrk"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/addr-rs/psl-types")
    (synopsis "Common types for the public suffix implementation crates")
    (description "This package provides common types for the public suffix
implementation crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-psm-0.1
  (package
    (name "rust-psm")
    (version "0.1.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "psm" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1kr9sal8g9zil4ch8ra0ry96d5cl15xslk1p0wnqk1504ib3hb89"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/rust-lang/stacker/")
    (synopsis "Stack manipulation and introspection routines")
    (description "This crate provides very portable functions to control the
stack pointer and inspect the properties of the stack.")
    (license (list license:isc license:asl2.0))))

(define-public rust-ptr-meta-0.1
  (package
    (name "rust-ptr-meta")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ptr_meta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wd4wy0wxrcays4f1gy8gwcmxg7mskmivcv40p0hidh6xbvwqf07"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ptr-meta-derive" ,rust-ptr-meta-derive-0.1))))
    (home-page "https://github.com/djkoloski/ptr_meta")
    (synopsis "Manipulate metadata of fat pointers")
    (description "This package allows manipulating the metadata of fat
pointers:

@itemize
@item Naming the metadata’s type (as an associated type)
@item Extracting metadata from a pointer
@item Reconstructing a pointer from a data pointer and metadata
@item Representing vtables, the metadata for trait objects, as a type with
  some limited API.
@end itemize")
    (license license:expat)))

(define-public rust-ptr-meta-derive-0.1
  (package
    (name "rust-ptr-meta-derive")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ptr_meta_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b69cav9wn67cixshizii0q5mlbl0lihx706vcrzm259zkdlbf0n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/djkoloski/ptr_meta")
    (synopsis "Macros for the ptr_meta fat pointer metadata API")
    (description "This package provides macros for the ptr_meta API.")
    (license license:expat)))

(define-public rust-ptree-0.4
  (package
    (name "rust-ptree")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ptree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0w72k0svlj8ihbf7m7ivay7rpv38xz9ad5a06isyqsiiddwq1pm0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                       ("rust-atty" ,rust-atty-0.2)
                       ("rust-config" ,rust-config-0.11)
                       ("rust-directories" ,rust-directories-4)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-value" ,rust-serde-value-0.7)
                       ("rust-tint" ,rust-tint-1))))
    (home-page "https://gitlab.com/Noughmad/ptree")
    (synopsis "Pretty-print tree-like structures")
    (description "This package provides pretty-print tree-like structures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ptyprocess-0.4
  (package
    (name "rust-ptyprocess")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ptyprocess" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kz8gzsr2pjpxcxy708338wcdqnxg3cpfbca8q8a44gvpvvsw1by"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Some of the tests hang in the build environment.
         "--skip=cat_intr")
       #:cargo-inputs (("rust-nix" ,rust-nix-0.26))))
    (home-page "https://github.com/zhiburt/ptyprocess")
    (synopsis "Library to work with PTY/TTY on Unix systems")
    (description
     "This package provides a library to work with PTY/TTY on Unix systems.")
    (license license:expat)))

(define-public rust-pubgrub-0.2
  (package
    (name "rust-pubgrub")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pubgrub" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z9qdzjfq4yqfzrh2rjx6m2a08k8y9vda41w68x78pazmm94blfd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rustc-hash" ,rust-rustc-hash-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-proptest" ,rust-proptest-0.10)
                                   ("rust-ron" ,rust-ron-0.6)
                                   ("rust-varisat" ,rust-varisat-0.2))))
    (home-page "https://github.com/pubgrub-rs/pubgrub")
    (synopsis "PubGrub version solving algorithm")
    (description
     "This package provides the @code{PubGrub} version solving algorithm.")
    (license license:mpl2.0)))

(define-public rust-public-api-0.33
  (package
    (name "rust-public-api")
    (version "0.33.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "public-api" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i1qg7z96l0y5cjna6kppsvkvlpqkvmsns75zjb61jbsh3pfwndp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-hashbag" ,rust-hashbag-0.1)
                       ("rust-rustdoc-types" ,rust-rustdoc-types-0.23)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-assert-cmd" ,rust-assert-cmd-2)
        ("rust-expect-test" ,rust-expect-test-1)
        ("rust-itertools" ,rust-itertools-0.12)
        ("rust-predicates" ,rust-predicates-3)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rustdoc-json" ,rust-rustdoc-json-0.8)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page
     "https://github.com/Enselic/cargo-public-api/tree/main/public-api")
    (synopsis "List diff public API of Rust library crates")
    (description "List and diff the public API of Rust library crates.  Relies
on rustdoc JSON output from the nightly toolchain.")
    (license license:expat)))

(define-public rust-public-api-0.32
  (package
    (inherit rust-public-api-0.33)
    (name "rust-public-api")
    (version "0.32.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "public-api" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02wpk9j21fxjf5is5jpkq00cl7vvpnkib1l72v7wylkw8ah5rgfq"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-hashbag" ,rust-hashbag-0.1)
                       ("rust-rustdoc-types" ,rust-rustdoc-types-0.23)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-assert-cmd" ,rust-assert-cmd-2)
                                   ("rust-expect-test" ,rust-expect-test-1)
                                   ("rust-itertools" ,rust-itertools-0.11)
                                   ("rust-predicates" ,rust-predicates-3)
                                   ("rust-rustdoc-json" ,rust-rustdoc-json-0.8)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-publicsuffix-2
  (package
    (name "rust-publicsuffix")
    (version "2.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "publicsuffix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0mvls29klp6xk16n8114sr1llhahy6fy8qi9kbwzf6mflnyw3a4n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-hashbrown" ,rust-hashbrown-0.12)
        ("rust-idna" ,rust-idna-0.3)
        ("rust-psl-types" ,rust-psl-types-2)
        ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rspec" ,rust-rspec-1))))
    (home-page "https://github.com/rushmorem/publicsuffix")
    (synopsis "Domain name parsing and email address validation")
    (description "This package provides robust domain name parsing and RFC
compliant email address validation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-publicsuffix-1
  (package
    (inherit rust-publicsuffix-2)
    (name "rust-publicsuffix")
    (version "1.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "publicsuffix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0yvmjpywfyypfr17kxiwy6ssykgv8nmcdhfakas6548pfn8a9fiv"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-error-chain" ,rust-error-chain-0.12)
        ("rust-idna" ,rust-idna-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-url" ,rust-url-2))))))

(define-public rust-puffin-0.18
  (package
    (name "rust-puffin")
    (version "0.18.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "puffin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ip8dgmqc6sb6kzpfz09qfw17a0aq4j2cx0ga43j1z5abiwhycq2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-bincode" ,rust-bincode-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-lz4-flex" ,rust-lz4-flex-0.11)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-ruzstd" ,rust-ruzstd-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-web-time" ,rust-web-time-0.2)
                       ("rust-zstd" ,rust-zstd-0.12))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/EmbarkStudios/puffin")
    (synopsis "Simple instrumentation profiler for games")
    (description "Simple instrumentation profiler for games.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pulldown-cmark-0.12
  (package
    (name "rust-pulldown-cmark")
    (version "0.12.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulldown-cmark" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "055v2bzzrkrbrc1s6l9mbkvpdkhkid5j7vdkpcnc9k7b582s4szq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-getopts" ,rust-getopts-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-pulldown-cmark-escape" ,rust-pulldown-cmark-escape-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/raphlinus/pulldown-cmark")
    (synopsis "Pull parser for CommonMark")
    (description "This package provides a pull parser for @code{CommonMark}.")
    (license license:expat)))

(define-public rust-pulldown-cmark-0.11
  (package
    (inherit rust-pulldown-cmark-0.12)
    (name "rust-pulldown-cmark")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulldown-cmark" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09a6q582pblnj8xflbx6zb29zgnwg0r6rg9wi54wdikq5k9434v7"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-getopts" ,rust-getopts-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-pulldown-cmark-escape" ,rust-pulldown-cmark-escape-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-pulldown-cmark-0.9
  (package
    (inherit rust-pulldown-cmark-0.11)
    (name "rust-pulldown-cmark")
    (version "0.9.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pulldown-cmark" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "166rhmwk42ffirrzhv7lmsh9f3my6xv1ggmb66fgzv57y3qs58bp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-html5ever" ,rust-html5ever-0.26)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-markup5ever-rcdom" ,rust-markup5ever-rcdom-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tendril" ,rust-tendril-0.4))))))

(define-public rust-pulldown-cmark-0.8
  (package
    (inherit rust-pulldown-cmark-0.11)
    (name "rust-pulldown-cmark")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pulldown-cmark" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1y6wh446g6vravvj70zsadzswyl2b4pyln9ib76m697jjljf1bgz"))))
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-getopts" ,rust-getopts-0.2)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-unicase" ,rust-unicase-2))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-html5ever" ,rust-html5ever-0.25)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-markup5ever-rcdom"
          ,rust-markup5ever-rcdom-0.1)
         ("rust-regex" ,rust-regex-1)
         ("rust-tendril" ,rust-tendril-0.4))))))

(define-public rust-pulldown-cmark-0.4
  (package
    (inherit rust-pulldown-cmark-0.11)
    (name "rust-pulldown-cmark")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulldown-cmark" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1db8vlhm3n72051bkq4am80q28rfrh88796i3y9ajf5hhk3lrdyi"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-unicase" ,rust-unicase-2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.2)
        ("rust-html5ever" ,rust-html5ever-0.23)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-tendril" ,rust-tendril-0.4))))))

(define-public rust-pulldown-cmark-0.1
  (package
    (inherit rust-pulldown-cmark-0.11)
    (name "rust-pulldown-cmark")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pulldown-cmark" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ckflr6w5vfvgb2xnzbnph9b6c0k8cfncm4a8bjzmbbcv9fgizfn"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-0.9)
        ("rust-getopts" ,rust-getopts-0.2))))))

(define-public rust-pulldown-cmark-escape-0.11
  (package
    (name "rust-pulldown-cmark-escape")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulldown-cmark-escape" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bp13akkz52p43vh2ffpgv604l3xd9b67b4iykizidnsbpdqlz80"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/pulldown-cmark/pulldown-cmark")
    (synopsis "Escape library for HTML created in the pulldown-cmark project")
    (description "This package provides an escape library for HTML created in
the pulldown-cmark project.")
    (license license:expat)))

(define-public rust-pulldown-cmark-to-cmark-18
  (package
    (name "rust-pulldown-cmark-to-cmark")
    (version "18.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulldown-cmark-to-cmark" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l06qfh9gb97hz4jrzlxajzyv7ry7d0lnsdifnv2x7xlvhxbc0hy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-pulldown-cmark" ,rust-pulldown-cmark-0.12))
       #:cargo-development-inputs
       (("rust-indoc" ,rust-indoc-2)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://github.com/Byron/pulldown-cmark-to-cmark")
    (synopsis
     "Convert pulldown-cmark Events back to the string they were parsed from")
    (description
     "A utility library which translates Event back to markdown.  It's the
prerequisite for writing markdown filters which can work as
@code{mdbook-preprocessors}.

This library takes great pride in supporting everything that
@code{pulldown-cmark} supports, including tables and footnotes and codeblocks
in codeblocks, while assuring quality with a powerful test suite.")
    (license license:asl2.0)))

(define-public rust-pulldown-cmark-to-cmark-10
  (package
    (inherit rust-pulldown-cmark-to-cmark-18)
    (name "rust-pulldown-cmark-to-cmark")
    (version "10.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulldown-cmark-to-cmark" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gc366cmd5jxal9m95l17rvqsm4dn62lywc8v5gwq8vcjvhyd501"))))
    (arguments
     `(#:cargo-inputs (("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9))
       #:cargo-development-inputs
       (("rust-indoc" ,rust-indoc-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7))))))

(define-public rust-pulse-0.5
  (package
    (name "rust-pulse")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pulse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1w4skcnwmavm8ra9blf1hy7bc9grnin2kziiyc18lsnrr2v14mk5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-atom" ,rust-atom-0.3)
        ("rust-time" ,rust-time-0.1))))
    (home-page "https://github.com/csherratt/pulse")
    (synopsis "Async wake signals library")
    (description "This package provides a library for async wake signals.")
    (license license:asl2.0)))

(define-public rust-pure-rust-locales-0.8
  (package
    (name "rust-pure-rust-locales")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pure-rust-locales" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fkkwggiq2053rmiah2h06dz6w3yhy9pa82g30vy3sbcmqcgv40i"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))     ; Not all files included.
    (home-page "https://github.com/cecton/pure-rust-locales")
    (synopsis "Pure Rust locales imported directly from the GNU C Library")
    (description
     "Pure Rust locales imported directly from the GNU C Library.
@code{LC_COLLATE} and @code{LC_CTYPE} are not yet supported.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pwd-1
  (package
    (name "rust-pwd")
    (version "1.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pwd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18p4j95sqqcxn3fbm6gbi7klxp8n40xmcjqy9vz1ww5rg461rivj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://gitlab.com/pwoolcoc/pwd.git")
    (synopsis "Safe interface to pwd.h")
    (description "This package provides a safe interface to @code{pwd.h}.")
    (license license:public-domain)))

(define-public rust-py-literal-0.4
  (package
    (name "rust-py-literal")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "py_literal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qd8j3a9zlpq6rjaxabpc9sacw62dn1cr38p3y4x7fbdsjizfb8h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2))))
    (home-page "https://github.com/jturner314/py_literal")
    (synopsis "Read and write Python literals")
    (description "This package lets you read and write Python literals.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-0.23
  (package
    (name "rust-pyo3")
    (version "0.23.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05bclbdhj210gpq0i7w16369y6cgzbb1z3ribaq7mdjcicngv174"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.10)
                       ("rust-either" ,rust-either-1)
                       ("rust-eyre" ,rust-eyre-0.6)
                       ("rust-hashbrown" ,rust-hashbrown-0.15)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-inventory" ,rust-inventory-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memoffset" ,rust-memoffset-0.9)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-rational" ,rust-num-rational-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-portable-atomic" ,rust-portable-atomic-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.23)
                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.23)
                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.23)
                       ("rust-rust-decimal" ,rust-rust-decimal-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-unindent" ,rust-unindent-0.2))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.10)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-send-wrapper" ,rust-send-wrapper-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-uuid" ,rust-uuid-1))))
    (inputs (list python-minimal))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Rust bindings for the Python interpreter")
    (description
     "This package provides Rust bindings for Python, including tools for
creating native Python extension modules.  Running and interacting with
Python code from a Rust binary is also supported.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-0.22
  (package
    (inherit rust-pyo3-0.23)
    (name "rust-pyo3")
    (version "0.22.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "110qrq9yibfv40zzind9p2i87617lhzs379ix0m2065b2qk0c0pl"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.6)
                       ("rust-either" ,rust-either-1)
                       ("rust-eyre" ,rust-eyre-0.6)
                       ("rust-hashbrown" ,rust-hashbrown-0.9)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-inventory" ,rust-inventory-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memoffset" ,rust-memoffset-0.9)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-complex" ,rust-num-complex-0.2)
                       ("rust-num-rational" ,rust-num-rational-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-portable-atomic" ,rust-portable-atomic-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.22)
                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.22)
                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.22)
                       ("rust-rust-decimal" ,rust-rust-decimal-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-unindent" ,rust-unindent-0.2))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.6)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-send-wrapper" ,rust-send-wrapper-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-pyo3-0.21
  (package
    (inherit rust-pyo3-0.22)
    (name "rust-pyo3")
    (version "0.21.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n39y183jfqbyvimscqr0ysxxa6804pn46ivw048ww91lnb0pq55"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-chrono-tz" ,rust-chrono-tz-0.6)
                       ("rust-either" ,rust-either-1)
                       ("rust-eyre" ,rust-eyre-0.6)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-inventory" ,rust-inventory-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memoffset" ,rust-memoffset-0.9)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-portable-atomic" ,rust-portable-atomic-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.21)
                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.21)
                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.21)
                       ("rust-rust-decimal" ,rust-rust-decimal-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-unindent" ,rust-unindent-0.2))
       #:cargo-development-inputs (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
                                   ("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-chrono-tz" ,rust-chrono-tz-0.6)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-send-wrapper" ,rust-send-wrapper-0.6)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-pyo3-0.20
  (package
    (inherit rust-pyo3-0.21)
    (name "rust-pyo3")
    (version "0.20.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cw2pgab0pq5gd98nhv18xgxvyigygspla6c8mfycmwisjbbpgak"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-either" ,rust-either-1)
                       ("rust-eyre" ,rust-eyre-0.6)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-inventory" ,rust-inventory-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memoffset" ,rust-memoffset-0.9)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.20)
                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.20)
                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.20)
                       ("rust-rust-decimal" ,rust-rust-decimal-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-unindent" ,rust-unindent-0.2))
       #:cargo-development-inputs (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
                                   ("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-send-wrapper" ,rust-send-wrapper-0.6)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1)
                                   ("rust-widestring" ,rust-widestring-0.5))))))

(define-public rust-pyo3-0.19
  (package
    (inherit rust-pyo3-0.20)
    (name "rust-pyo3")
    (version "0.19.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0f1aqx947mzsrk05zdm9w2702lj5k9s97y9w9lxwkp2avk7sd0g6"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=exceptions::PyUnicodeDecodeError::new_utf8")
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-eyre" ,rust-eyre-0.6)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-indoc" ,rust-indoc-1)
        ("rust-inventory" ,rust-inventory-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.9)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.19)
        ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.19)
        ("rust-pyo3-macros" ,rust-pyo3-macros-0.19)
        ("rust-rust-decimal" ,rust-rust-decimal-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-unindent" ,rust-unindent-0.1))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rust-decimal" ,rust-rust-decimal-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-send-wrapper" ,rust-send-wrapper-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-widestring" ,rust-widestring-0.5))))))

(define-public rust-pyo3-0.18
  (package
    (inherit rust-pyo3-0.19)
    (name "rust-pyo3")
    (version "0.18.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "02914yszvcg7qzh1kkrhiz8qqi0p9pbzi1cpmbyk9fii6xdsrcg3"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_compile_errors"
         "--skip=exceptions::PyUnicodeDecodeError::new_utf8")
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-eyre" ,rust-eyre-0.6)
        ("rust-hashbrown" ,rust-hashbrown-0.12)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-indoc" ,rust-indoc-1)
        ("rust-inventory" ,rust-inventory-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.8)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.18)
        ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.18)
        ("rust-pyo3-macros" ,rust-pyo3-macros-0.18)
        ("rust-serde" ,rust-serde-1)
        ("rust-unindent" ,rust-unindent-0.1))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-send-wrapper" ,rust-send-wrapper-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-widestring" ,rust-widestring-0.5))))))

(define-public rust-pyo3-0.16
  (package
    (inherit rust-pyo3-0.19)
    (name "rust-pyo3")
    (version "0.16.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jn6nhp9a8i5kfwds6fzy3hzb938qim8bajp8gfkkcn9892c8802"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-eyre" ,rust-eyre-0.6)
        ("rust-hashbrown" ,rust-hashbrown-0.11)
        ("rust-indexmap" ,rust-indexmap-1.7)
        ("rust-indoc" ,rust-indoc-1)
        ("rust-inventory" ,rust-inventory-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16)
        ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.16)
        ("rust-pyo3-macros" ,rust-pyo3-macros-0.16)
        ("rust-serde" ,rust-serde-1)
        ("rust-unindent" ,rust-unindent-0.1))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-send-wrapper" ,rust-send-wrapper-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-widestring" ,rust-widestring-0.5))
       ;; SIGSEGV: invalid memory reference
       #:tests? #f))))

(define-public rust-pyo3-0.15
  (package
    (inherit rust-pyo3-0.16)
    (name "rust-pyo3")
    (version "0.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ljp3m1frg8y50al4cbadwxfwwrgsvslmljclp4cf20y4ykm07fl"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-eyre" ,rust-eyre-0.6)
        ("rust-hashbrown" ,rust-hashbrown-0.11)
        ("rust-indexmap" ,rust-indexmap-1.7)
        ("rust-indoc" ,rust-indoc-0.3)
        ("rust-inventory" ,rust-inventory-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-paste" ,rust-paste-0.1)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.15)
        ("rust-pyo3-macros" ,rust-pyo3-macros-0.15)
        ("rust-serde" ,rust-serde-1)
        ("rust-unindent" ,rust-unindent-0.1))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-clap" ,rust-clap-2)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-half" ,rust-half-1)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1))
       ;; FIXME: fails to initialize Python interpreter.
       #:tests? #f))))

(define-public rust-pyo3-0.13
  (package
    (inherit rust-pyo3-0.15)
    (name "rust-pyo3")
    (version "0.13.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hq965lgi25dn578fpn9hjva6zjr1c8rl7lxywijq44aw7lbhds8"))))
    (arguments
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-ctor" ,rust-ctor-0.1)
        ("rust-hashbrown" ,rust-hashbrown-0.9)
        ("rust-indoc" ,rust-indoc-0.3)
        ("rust-inventory" ,rust-inventory-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-bigint" ,rust-num-bigint-0.3)
        ("rust-num-complex" ,rust-num-complex-0.3)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-paste" ,rust-paste-0.1)
        ("rust-pyo3-macros" ,rust-pyo3-macros-0.13)
        ("rust-serde" ,rust-serde-1)
        ("rust-unindent" ,rust-unindent-0.1))
       #:cargo-development-inputs
       (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
        ("rust-bitflags" ,rust-bitflags-1.2)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-half" ,rust-half-1)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-pyo3-build-config-0.23
  (package
    (name "rust-pyo3-build-config")
    (version "0.23.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fzzpr1bkwps58m3adcy460820k12mg9d62b0hh8w82gm1lh83nw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
                       ("rust-target-lexicon" ,rust-target-lexicon-0.12))))
    (native-inputs (list python-minimal))       ;for tests
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Build configuration for PyO3")
    (description
     "This package provides Build configuration for the @code{PyO3} ecosystem.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-build-config-0.22
  (package
    (inherit rust-pyo3-build-config-0.23)
    (name "rust-pyo3-build-config")
    (version "0.22.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f4w8waba9cyzllq0dpxpw7qmgic05wdf4k20p8nsi7znmsmfjxi"))))
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
                       ("rust-target-lexicon" ,rust-target-lexicon-0.12))))))

(define-public rust-pyo3-build-config-0.21
  (package
    (inherit rust-pyo3-build-config-0.22)
    (name "rust-pyo3-build-config")
    (version "0.21.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l0vxvnqsbjrpdmysnwaljf4q3zcr1kb526qq23svzgs6mcdz0vq"))))
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
                       ("rust-target-lexicon" ,rust-target-lexicon-0.12))))))

(define-public rust-pyo3-build-config-0.20
  (package
    (inherit rust-pyo3-build-config-0.21)
    (name "rust-pyo3-build-config")
    (version "0.20.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ms83n1qa81989c6pakpznifalvxv5fiyyji23732lizvr2mgany"))))
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
                       ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
                       ("rust-target-lexicon" ,rust-target-lexicon-0.12)
                       ("rust-target-lexicon" ,rust-target-lexicon-0.12))))))

(define-public rust-pyo3-build-config-0.19
  (package
    (inherit rust-pyo3-build-config-0.20)
    (name "rust-pyo3-build-config")
    (version "0.19.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-build-config" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "19bb7aqyvr4kmh8b2lnrmcv9251j8yxw7l7xyr77m3s3pk876v07"))))
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))))))

(define-public rust-pyo3-build-config-0.18
  (package
    (inherit rust-pyo3-build-config-0.19)
    (name "rust-pyo3-build-config")
    (version "0.18.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18vrn0hcf18bqjis9xq5nwijpgbfjc6r292906jn3fv1mksldfcw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))))))

(define-public rust-pyo3-build-config-0.16
  (package
    (name "rust-pyo3-build-config")
    (version "0.16.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hndr61lxc2kw7wnnggps3h08lnsqapwa3lxc0l5ji2rg0wrv0cw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-python3-dll-a" ,rust-python3-dll-a-0.2)
        ("rust-target-lexicon" ,rust-target-lexicon-0.12))))
    (native-inputs (list python))       ;for tests
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Build configuration for PyO3")
    (description
     "This package contains build configuration helpers for the PyO3
ecosystem.")
    (license license:asl2.0)))

(define-public rust-pyo3-build-config-0.15
  (package
    (inherit rust-pyo3-build-config-0.16)
    (name "rust-pyo3-build-config")
    (version "0.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-build-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0414biclhrxv6y0bjm6s9fq9z6yah393ffkd8748pqdq83y3k4kp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1))))))

(define-public rust-pyo3-ffi-0.23
  (package
    (name "rust-pyo3-ffi")
    (version "0.23.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-ffi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b9pmqzw0ggw6cwkpad51nwkdzj5k555c9q21wd6yvwnz6klf5gb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.23))
       #:cargo-development-inputs (("rust-paste" ,rust-paste-1))))
    (native-inputs (list python-minimal))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Python API bindings for the PyO3 ecosystem")
    (description
     "This package provides Python-API bindings for the @code{PyO3} ecosystem.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-ffi-0.22
  (package
    (inherit rust-pyo3-ffi-0.23)
    (name "rust-pyo3-ffi")
    (version "0.22.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-ffi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dl6zj806rkvs67q2mdgjbnzjhzm8glms46nqx8bpp1c9bqbrdcs"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.22))
       #:cargo-development-inputs (("rust-paste" ,rust-paste-1))))))

(define-public rust-pyo3-ffi-0.21
  (package
    (inherit rust-pyo3-ffi-0.22)
    (name "rust-pyo3-ffi")
    (version "0.21.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-ffi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00vlp4gmzn76gz250pz1r3fydd5r41nwl7dd9nmidfb0vi1migh1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.21))))))

(define-public rust-pyo3-ffi-0.20
  (package
    (inherit rust-pyo3-ffi-0.21)
    (name "rust-pyo3-ffi")
    (version "0.20.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-ffi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yja1npmzh4i73jn5dv2rnw7idif8bns51bf3zpx821ys0qjbd32"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.20))))))

(define-public rust-pyo3-ffi-0.19
  (package
    (inherit rust-pyo3-ffi-0.20)
    (name "rust-pyo3-ffi")
    (version "0.19.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-ffi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nc4696k03ydyiy1f69l3ywknavjzxzag2mscrh2bgkywx1fwg75"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.19))))))

(define-public rust-pyo3-ffi-0.18
  (package
    (inherit rust-pyo3-ffi-0.19)
    (name "rust-pyo3-ffi")
    (version "0.18.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-ffi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0p7n9zs9ifrzcnna0lwyhwscyhw45q4x288x5bm1c6c26x9pqkgx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.18))))))

(define-public rust-pyo3-ffi-0.16
  (package
    (inherit rust-pyo3-ffi-0.19)
    (name "rust-pyo3-ffi")
    (version "0.16.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-ffi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0pzpcmndak7y72p4rw494cki1bxh86diiqdzsw14gxammc1jg26a"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16))))))

(define-public rust-pyo3-log-0.11
  (package
    (name "rust-pyo3-log")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-log" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hx4526pxbg3s6xbxsbkb3afjvma7drfd6jwawmbqn8ixip4xj1s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-pyo3" ,rust-pyo3-0.21))
       #:cargo-development-inputs (("rust-pyo3" ,rust-pyo3-0.21)
                                   ("rust-syn" ,rust-syn-2))))
    (inputs (list python-minimal))
    (home-page "https://github.com/vorner/pyo3-log")
    (synopsis "Logging bridge from pyo3 native extension to python")
    (description "This package provides a logging bridge from pyo3 native
extension to python.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-pyo3-log-0.8
  (package
    (inherit rust-pyo3-log-0.11)
    (name "rust-pyo3-log")
    (version "0.8.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-log" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hrvdialyynmpnvydnfsnjm0mkmnv83acv237nkxhf35kcs2p760"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arc-swap" ,rust-arc-swap-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-pyo3" ,rust-pyo3-0.19))
       #:cargo-development-inputs
       (("rust-pyo3" ,rust-pyo3-0.19)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyo3-macros-0.23
  (package
    (name "rust-pyo3-macros")
    (version "0.23.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mrjqfvrdw6dp0g4d1ja884vpp4vfk46z23ccb8ysp7sqs7dmdpx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.23)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (native-inputs (list python-minimal))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Proc macros for PyO3")
    (description
     "This package provides compiler macros for use with PyO3.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-macros-0.22
  (package
    (inherit rust-pyo3-macros-0.23)
    (name "rust-pyo3-macros")
    (version "0.22.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lylczfabgylnfldns6m36vsw98m9sini0wn1gcfda83g64lvlhg"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.22)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-pyo3-macros-0.21
  (package
    (inherit rust-pyo3-macros-0.22)
    (name "rust-pyo3-macros")
    (version "0.21.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g65z9yj2iffjrkrkzan9hwhhj7rrchh7lfv64dy30h6zill1cvp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.21)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))))

(define-public rust-pyo3-macros-0.20
  (package
    (inherit rust-pyo3-macros-0.21)
    (name "rust-pyo3-macros")
    (version "0.20.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n61s98qb2qc1wlda3bz4r0wi0vsr9p4lj2yr5g0bf01z8hcf1bk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.20)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))))

(define-public rust-pyo3-macros-0.19
  (package
    (inherit rust-pyo3-macros-0.20)
    (name "rust-pyo3-macros")
    (version "0.19.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1lggr5pnpmdj0cznlhw7ykm1qka3wlymwzfxqql6a4vyb6clrsyz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.19)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (native-inputs '())))

(define-public rust-pyo3-macros-0.18
  (package
    (inherit rust-pyo3-macros-0.19)
    (name "rust-pyo3-macros")
    (version "0.18.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "13b454p012l1487lbfqkr952qifsl88arldv4m5mmz5kv9arrlx9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.18)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyo3-macros-0.16
  (package
    (inherit rust-pyo3-macros-0.19)
    (name "rust-pyo3-macros")
    (version "0.16.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "089z1x8fm7078kyhpjcsaipd6745jf2rp86rpbkppbam5504k1sn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.16)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyo3-macros-0.15
  (package
    (inherit rust-pyo3-macros-0.16)
    (name "rust-pyo3-macros")
    (version "0.15.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0fmrzl185i00c6kdvy7icmhhc99c51pyha46incqggk4qvl4gch0"))))
    (arguments
     `(#:cargo-inputs
       (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.15)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (native-inputs (list python))))

(define-public rust-pyo3-macros-0.13
  (package
    (inherit rust-pyo3-macros-0.15)
    (name "rust-pyo3-macros")
    (version "0.13.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1fxi5lx5dl7xh469gr5xckyjy3r3c5dqypzxcj0fbhzf1hq2qzx4"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.13)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyo3-macros-backend-0.23
  (package
    (name "rust-pyo3-macros-backend")
    (version "0.23.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z9ysg19gh84qdxvnmw426nd6nahmspkc4cb2s8jgagm5wh8b8rq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.5)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.23)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (native-inputs (list python-minimal))
    (home-page "https://github.com/pyo3/pyo3")
    (synopsis "Code generation for PyO3")
    (description
     "This package provides code generation backends for PyO3.")
    (license (list license:expat license:asl2.0))))

(define-public rust-pyo3-macros-backend-0.22
  (package
    (inherit rust-pyo3-macros-backend-0.23)
    (name "rust-pyo3-macros-backend")
    (version "0.22.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gmz3i0sr4fdg7qjvd8ylbkrgbbch9wv955kni903rd17fh13h1n"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.5)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.22)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-pyo3-macros-backend-0.21
  (package
    (inherit rust-pyo3-macros-backend-0.22)
    (name "rust-pyo3-macros-backend")
    (version "0.21.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p58yp8ajlc8bq56wghw1syrjszmadasasdfpsjy3d9dychhf9h8"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.21)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-pyo3-macros-backend-0.20
  (package
    (inherit rust-pyo3-macros-backend-0.21)
    (name "rust-pyo3-macros-backend")
    (version "0.20.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11b1z7qnbdnd9hy74ds3xcjx3mjkz43mvpnan32ljccwpdl9nzkw"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.20)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-pyo3-macros-backend-0.19
  (package
    (inherit rust-pyo3-macros-backend-0.20)
    (name "rust-pyo3-macros-backend")
    (version "0.19.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros-backend" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0dlm4pg29hjmlqx15gcy9cmnabvc8ycy60hcvjg8hm62flhw2zcl"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (native-inputs '())))

(define-public rust-pyo3-macros-backend-0.18
  (package
    (inherit rust-pyo3-macros-backend-0.19)
    (name "rust-pyo3-macros-backend")
    (version "0.18.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros-backend" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "062rxf7cj1dn82yiaws3dmxw5qq9ssccq92jgdc210y4lh4gznlp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyo3-macros-backend-0.16
  (package
    (inherit rust-pyo3-macros-backend-0.19)
    (name "rust-pyo3-macros-backend")
    (version "0.16.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros-backend" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1f0y9vxmyq1cidk544pwg3my30f6xfqfgf42grw4gx4q5pl687v1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyo3-macros-backend-0.15
  (package
    (inherit rust-pyo3-macros-backend-0.16)
    (name "rust-pyo3-macros-backend")
    (version "0.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyo3-macros-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15bhc1xib9yz4l1sd2lk3nc7scbqsjfvgvlr3mj0xq0jqh92i32s"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.15)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (native-inputs (list python))))

(define-public rust-pyo3-macros-backend-0.13
  (package
    (inherit rust-pyo3-macros-backend-0.15)
    (name "rust-pyo3-macros-backend")
    (version "0.13.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "pyo3-macros-backend" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0rjxayd78l10hnyphk03bcvhm0jpsvnzn07lczhy7jsgv3jrgc47"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-pyproject-toml-0.11
  (package
    (name "rust-pyproject-toml")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyproject-toml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sm3ncm57hgcyladl55w59ycl39vq4crigjb9bya0n6b7c162w7g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-pep440-rs" ,rust-pep440-rs-0.6)
                       ("rust-pep508-rs" ,rust-pep508-rs-0.6)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-toml" ,rust-toml-0.8))))
    (home-page "https://github.com/PyO3/pyproject-toml-rs.git")
    (synopsis "Rust parser for pyproject.toml")
    (description "This package provides a pyproject.toml parser in Rust.")
    (license license:expat)))

(define-public rust-pyproject-toml-0.8
  (package
    (inherit rust-pyproject-toml-0.11)
    (name "rust-pyproject-toml")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "pyproject-toml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "010fl8m9cx1a5iapcpy53dabl16ij5saa3maz0lkmwl7j7kabm26"))))
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-pep440-rs" ,rust-pep440-rs-0.3)
                       ("rust-pep508-rs" ,rust-pep508-rs-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-toml" ,rust-toml-0.8))))))

(define-public rust-python-pkginfo-0.6
  (package
    (name "rust-python-pkginfo")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "python-pkginfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "006n1myk8lx98g9w4d250lmnmahs0ns9lqrgkg992pn41y45h7y2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bzip2" ,rust-bzip2-0.4)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-fs-err" ,rust-fs-err-3)
                       ("rust-mailparse" ,rust-mailparse-0.15)
                       ("rust-rfc2047-decoder" ,rust-rfc2047-decoder-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tar" ,rust-tar-0.4)
                       ("rust-thiserror" ,rust-thiserror-2)
                       ("rust-xz2" ,rust-xz2-0.1)
                       ("rust-zip" ,rust-zip-0.6))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/PyO3/python-pkginfo-rs")
    (synopsis "Parse Python package metadata from sdist and bdists")
    (description
     "Parse Python package metadata from sdist and bdists and etc.")
    (license license:expat)))

(define-public rust-qrcode-generator-4
  (package
    (name "rust-qrcode-generator")
    (version "4.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "qrcode-generator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ngiwz7mfqfy7g8nh309vq9qqphyybbp890s4fb418f78sbcn1hx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs (("rust-html-escape" ,rust-html-escape-0.2)
                       ("rust-image" ,rust-image-0.24)
                       ("rust-qrcodegen" ,rust-qrcodegen-1))
       #:cargo-development-inputs
      (("rust-manifest-dir-macros" ,rust-manifest-dir-macros-0.1))))
    (home-page "https://magiclen.org/qrcode-generator")
    (synopsis "Generate QR Code matrices and images")
    (description
     "This package provides code to generate QR Code matrices and images in RAW,
PNG and SVG formats.")
    (license license:expat)))

(define-public rust-qrcodegen-1
  (package
    (name "rust-qrcodegen")
    (version "1.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "qrcodegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hn1j12q31nzlkra42s20p0wh198bx8f7xc73mic3j9121xgqfa3"))))
    (build-system cargo-build-system)
    (arguments (list #:tests? #f))  ; use of undeclared type `QrCode`
    (home-page "https://www.nayuki.io/page/qr-code-generator-library")
    (synopsis "QR Code generator library")
    (description
     "This package provides a QR Code generator library.")
    (license license:expat)))

(define-public rust-qrencode-0.14
  (package
    (name "rust-qrencode")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "qrencode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hgp0lchnp3zx79j3799nm445rvqg7x62x2x7926ky22lqhv23d6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-checked-int-cast" ,rust-checked-int-cast-1)
                       ("rust-image" ,rust-image-0.24))
       #:cargo-development-inputs (("rust-image" ,rust-image-0.24))))
    (home-page "https://github.com/sayanarijit/qrencode")
    (synopsis "QR code encoder in Rust")
    (description "This package provides QR code encoder in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-quad-rand-0.2
  (package
    (name "rust-quad-rand")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quad-rand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "125bw7b295khgwk7bnb6vkcdjyki1xbfzrcygh2mzk54yzxa33v5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/not-fl3/quad-rand")
    (synopsis "Pseudo random implementation with std atomics")
    (description
     "This package provides a pseudo random implementation with std atomics.")
    (license license:expat)))

(define-public rust-quantiles-0.7
  (package
    (name "rust-quantiles")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quantiles" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1wjp16a3d4bmldq9w2wds0q4gjz4mnsqac3g38r6ryr6zc9sh3y1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.5))))
    (home-page "https://github.com/postmates/quantiles")
    (synopsis "Collection of approximate quantile algorithms")
    (description
     "This package provides a collection of approximate quantile algorithms.")
    (license license:expat)))

(define-public rust-quick-error-2
  (package
    (name "rust-quick-error")
    (version "2.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "quick-error" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "18z6r2rcjvvf8cn92xjhm2qc3jpd1ljvcbf12zv0k9p565gmb4x9"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/tailhook/quick-error")
    (synopsis "Macro which makes error types pleasant to write")
    (description "This crate provides a macro which makes error types pleasant
to write.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-quick-error-1
  (package
    (inherit rust-quick-error-2)
    (name "rust-quick-error")
    (version "1.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "quick-error" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51"))))))

(define-public rust-quick-xml-0.37
  (package
    (name "rust-quick-xml")
    (version "0.37.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00vagwspb7j87v34ybvylphf9isf8bb5zy9fcgcb91rrzyyjjbzj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))
    (home-page "https://github.com/tafia/quick-xml")
    (synopsis "High performance xml reader and writer")
    (description
     "This package provides a high performance XML reader and writer.")
    (license license:expat)))

(define-public rust-quick-xml-0.36
  (package
    (inherit rust-quick-xml-0.37)
    (name "rust-quick-xml")
    (version "0.36.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zj3sjcjk6sn544wb2wvhr1km5f9cy664vzclygfsnph9mxrlr7p"))))
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-quick-xml-0.32
  (package
    (inherit rust-quick-xml-0.36)
    (name "rust-quick-xml")
    (version "0.32.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hk9x4fij5kq1mnn7gmxz1hpv8s9wnnj4gx4ly7hw3mn71c6wfhx"))))
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-quick-xml-0.31
  (package
    (inherit rust-quick-xml-0.32)
    (name "rust-quick-xml")
    (version "0.31.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cravqanylzh5cq2v6hzlfqgxcid5nrp2snnb3pf4m0and2a610h"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-quick-xml-0.30
  (package
    (inherit rust-quick-xml-0.31)
    (name "rust-quick-xml")
    (version "0.30.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mp9cqy06blsaka3r1n2p40ddmzhsf7bx37x22r5faw6hq753xpg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-quick-xml-0.28
  (package
    (inherit rust-quick-xml-0.30)
    (name "rust-quick-xml")
    (version "0.28.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1lfr3512x0s0i9kbyglyzn0rq0i1bvd2mqqfi8gs685808rfgr8c"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-quick-xml-0.27
  (package
    (inherit rust-quick-xml-0.28)
    (name "rust-quick-xml")
    (version "0.27.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "quick-xml" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0hacs71afvppq6d7x6b8d4liv0rcqhsf9mrcyrb8lxnxazq57h7z"))))
    (arguments
     `(#:cargo-inputs
       (("rust-document-features" ,rust-document-features-0.2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-value" ,rust-serde-value-0.7)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-quick-xml-0.26
  (package
    (inherit rust-quick-xml-0.27)
    (name "rust-quick-xml")
    (version "0.26.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kckgj8qscpi23y62zrfmni73k6h78nvhs3z9myiwq9q7g3b2l3z"))))))

(define-public rust-quick-xml-0.22
  (package
    (inherit rust-quick-xml-0.27)
    (name "rust-quick-xml")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ssk30ymrd1724g36qjnnql225i6p31jm09cb46sval2hd6g2cw5"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-value" ,rust-serde-value-0.7))))))

(define-public rust-quick-xml-0.21
  (package
    (inherit rust-quick-xml-0.22)
    (name "rust-quick-xml")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xgcmf5qlpjsl239igbkf4j6mlmsm5xp14a3rv45h2j185cnjlh4"))))))

(define-public rust-quick-xml-0.20
  (package
    (inherit rust-quick-xml-0.21)
    (name "rust-quick-xml")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quick-xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pd6fiq79sxsf75027a65f45fqm0kds0in0y9nkf9415issbdai6"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-quickersort-3
  (package
    (name "rust-quickersort")
    (version "3.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "quickersort" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "02r7wplnw7m1dhjah8p89inxn9g4nwb7ga7xdn95cffwpwn88z1h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nodrop" ,rust-nodrop-0.1)
        ("rust-unreachable" ,rust-unreachable-1))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.7)
        ("rust-num-traits" ,rust-num-traits-0.1)
        ("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/notriddle/quickersort")
    (synopsis "Fast sorting")
    (description
     "This package implements fast sorting compatible with stable Rust.  It
also has (optional) support for efficient and robust sorting of floating point
numbers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-quinn-0.11
  (package
    (name "rust-quinn")
    (version "0.11.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quinn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vq55p4kfc4zjxj58xrpf3kcjjqi4mn0wf52a5rzkiky4w46isb2"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           (list rust-async-io-2
                 rust-async-std-1
                 rust-bytes-1
                 rust-futures-io-0.3
                 rust-pin-project-lite-0.2
                 rust-quinn-proto-0.11
                 rust-quinn-udp-0.5
                 rust-rustc-hash-2
                 rust-rustls-0.23
                 rust-smol-2
                 rust-socket2-0.5
                 rust-thiserror-2
                 rust-tokio-1
                 rust-tracing-0.1)
           #:cargo-development-inputs
           (list rust-anyhow-1
                 rust-bencher-0.1
                 rust-clap-4
                 rust-crc-3
                 rust-directories-next-2
                 rust-rand-0.8
                 rust-rcgen-0.13
                 rust-rustls-pemfile-2
                 rust-tokio-1
                 rust-tracing-futures-0.2
                 rust-tracing-subscriber-0.3
                 rust-url-2)))
    (home-page "https://github.com/quinn-rs/quinn")
    (synopsis "Versatile QUIC transport protocol implementation")
    (description "Versatile QUIC transport protocol implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-quinn-0.10
  (package
    (inherit rust-quinn-0.11)
    (name "rust-quinn")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quinn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0x9xjkz2vw7p10llsrm9q0299q618sy1g8yfbncxahsbgq0wbhlc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-async-io" ,rust-async-io-1)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-quinn-proto" ,rust-quinn-proto-0.10)
        ("rust-quinn-udp" ,rust-quinn-udp-0.4)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-rustls" ,rust-rustls-0.21)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bencher" ,rust-bencher-0.1)
        ("rust-clap" ,rust-clap-4)
        ("rust-crc" ,rust-crc-3)
        ("rust-directories-next" ,rust-directories-next-2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rcgen" ,rust-rcgen-0.10)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing-futures" ,rust-tracing-futures-0.2)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
        ("rust-url" ,rust-url-2))))))

(define-public rust-quinn-0.8
  (package
    (inherit rust-quinn-0.10)
    (name "rust-quinn")
    (version "0.8.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "quinn" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "13zgwm0pm73w26mzrgv3z9c9rf0zqmq1j8r7k64di85zv5qmwhsv"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-quinn-proto" ,rust-quinn-proto-0.8)
        ("rust-quinn-udp" ,rust-quinn-udp-0.1)
        ("rust-rustls" ,rust-rustls-0.20)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-webpki" ,rust-webpki-0.22))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bencher" ,rust-bencher-0.1)
        ("rust-crc" ,rust-crc-2)
        ("rust-directories-next" ,rust-directories-next-2)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rcgen" ,rust-rcgen-0.8)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2)
        ("rust-structopt" ,rust-structopt-0.3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing-futures" ,rust-tracing-futures-0.2)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
        ("rust-url" ,rust-url-2))))))

(define-public rust-quinn-proto-0.11
  (package
    (name "rust-quinn-proto")
    (version "0.11.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quinn-proto" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p8k3iqd0rcxc7b6m2yyijhw4bpfwa61lyzigwvjwzax97rmxzm2"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           (list rust-arbitrary-1
                 rust-aws-lc-rs-1
                 rust-bytes-1
                 rust-getrandom-0.2
                 rust-rand-0.8
                 rust-ring-0.17
                 rust-rustc-hash-2
                 rust-rustls-0.23
                 rust-rustls-pki-types-1
                 rust-rustls-platform-verifier-0.4
                 rust-slab-0.4
                 rust-thiserror-2
                 rust-tinyvec-1
                 rust-tracing-0.1
                 rust-web-time-1)
           #:cargo-development-inputs
           (list rust-assert-matches-1
                 rust-hex-literal-0.4
                 rust-lazy-static-1
                 rust-rcgen-0.13
                 rust-tracing-subscriber-0.3
                 rust-wasm-bindgen-test-0.3)))
    (home-page "https://github.com/quinn-rs/quinn")
    (synopsis "State machine for the QUIC transport protocol")
    (description
     "This package provides the state machine for the QUIC transport protocol.")
    (license (list license:expat license:asl2.0))))

(define-public rust-quinn-proto-0.10
  (package
    (inherit rust-quinn-proto-0.11)
    (name "rust-quinn-proto")
    (version "0.10.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quinn-proto" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06ibzy0i7gf7hs65slxgv7xv095aalj2zq9zzmmj9g1gvvgzf6ql"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=connection::mtud::tests::mtu_discovery_with_peer_max_udp_payload_size_after_search_panics")
       #:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-ring" ,rust-ring-0.16)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-rustls" ,rust-rustls-0.21)
        ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tinyvec" ,rust-tinyvec-1)
        ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-hex-literal" ,rust-hex-literal-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rcgen" ,rust-rcgen-0.10)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))))

(define-public rust-quinn-proto-0.8
  (package
    (inherit rust-quinn-proto-0.10)
    (name "rust-quinn-proto")
    (version "0.8.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "quinn-proto" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0m9ak5nsplf3a6s7i9243y5rlh8d8a428r9hfnjngxw8jrmm9kiz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-ring" ,rust-ring-0.16)
        ("rust-rustls" ,rust-rustls-0.20)
        ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tinyvec" ,rust-tinyvec-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-webpki" ,rust-webpki-0.22))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-hex-literal" ,rust-hex-literal-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rcgen" ,rust-rcgen-0.8)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))))

(define-public rust-quinn-udp-0.5
  (package
    (name "rust-quinn-udp")
    (version "0.5.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quinn-udp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "016rir0w5q6brwd33id2nvqi67xpl3k55ms4srqkmfml2xi2hh0w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-aliases" ,rust-cfg-aliases-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-socket2" ,rust-socket2-0.5)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/quinn-rs/quinn")
    (synopsis "UDP sockets with ECN information for the QUIC transport protocol")
    (description
     "This package provides UDP sockets with ECN information for the QUIC
transport protocol in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-quinn-udp-0.4
  (package
    (inherit rust-quinn-udp-0.5)
    (name "rust-quinn-udp")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quinn-udp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mxiy36w9a3rw6cvfcmlc0rz2vhmq8fzffg4qj9rzswgirvlwnq5"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-socket2" ,rust-socket2-0.5)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))))

(define-public rust-quinn-udp-0.1
  (package
    (inherit rust-quinn-udp-0.4)
    (name "rust-quinn-udp")
    (version "0.1.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "quinn-udp" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0m4fafg9d87d8hr0988bg1dcichnxm4xkvwv4vm1lls1f4klcydh"))))
    (arguments
     `(#:cargo-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-quinn-proto" ,rust-quinn-proto-0.8)
        ("rust-socket2" ,rust-socket2-0.4)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1))))))

;; WARNING: This package is a dependency of mesa.
(define-public rust-quote-1
  (package
    (name "rust-quote")
    (version "1.0.37")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "quote" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1brklraw2g34bxy9y4q1nbrccn7bv36ylihv12c9vlcii55x7fdm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/quote")
    (synopsis "Quasi-quoting macro quote!(...)")
    (description "Quasi-quoting macro quote!(...)")
    (license (list license:asl2.0 license:expat))))

(define-public rust-quote-0.6
  (package
    (inherit rust-quote-1)
    (name "rust-quote")
    (version "0.6.13")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "quote" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4))))))

(define-public rust-quote-0.5
  (package
    (inherit rust-quote-0.6)
    (name "rust-quote")
    (version "0.5.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "quote" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1s01fh0jl8qv4xggs85yahw0h507nzrxkjbf7vay3zw8d3kcyjcr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.3))))))

(define-public rust-quote-0.3
  (package
    (inherit rust-quote-0.6)
    (name "rust-quote")
    (version "0.3.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quote" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0yhnnix4dzsv8y4wwz4csbnqjfh73al33j35msr10py6cl5r4vks"))))
    (arguments '())))

(define-public rust-quoted-printable-0.5
  (package
    (name "rust-quoted-printable")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quoted_printable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wvwq6w6rdsx1yxzr7ckspff0qk0q9252dzmxrd4c0kv97c9n334"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/staktrace/quoted-printable")
    (synopsis "Simple encoder/decoder for quoted-printable data")
    (description
     "This package provides a simple encoder/decoder for quoted-printable data.")
    (license license:bsd-0)))

(define-public rust-quoted-printable-0.4
  (package
    (inherit rust-quoted-printable-0.5)
    (name "rust-quoted-printable")
    (version "0.4.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "quoted_printable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jcyi10gh2xzjvxls8r58gwc9yavw3iighkgnb1jwrjij8hncf2s"))))))

(define-public rust-r2d2-0.8
  (package
    (name "rust-r2d2")
    (version "0.8.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "r2d2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "14qw32y4m564xb1f5ya8ii7dwqyknvk8bsx2r0lljlmn7zxqbpji"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-scheduled-thread-pool" ,rust-scheduled-thread-pool-0.2))))
    (home-page "https://github.com/sfackler/r2d2")
    (synopsis "Generic connection pool")
    (description "This package provides a generic connection pool.")
    (license (list license:expat license:asl2.0))))

(define-public rust-radium-0.7
  (package
    (name "rust-radium")
    (version "0.7.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "radium" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "02cxfi3ky3c4yhyqx9axqwhyaca804ws46nn4gc1imbk94nzycyw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://ferrilab.github.io/ferrilab")
    (synopsis "Portable interfaces for maybe-atomic types")
    (description
     "@code{radium} provides abstractions and graceful degradation for
behavior that must be shared-mutable, but merely may use atomic instructions
to do so.")
    (license license:expat)))

(define-public rust-radium-0.6
  (package
    (name "rust-radium")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "radium" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ys4bpp2l701ghdniz90zhkvb5ykmfw2pj0m8pfcbi7bm10qygv4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/bitvecto-rs/radium")
    (synopsis "Portable interfaces for maybe-atomic types")
    (description
     "@code{radium} provides abstractions and graceful degradation for behavior
that must be shared-mutable, but merely may use atomic instructions to do so.")
    (license license:expat)))

(define-public rust-radium-0.5
  (package
    (inherit rust-radium-0.6)
    (name "rust-radium")
    (version "0.5.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "radium" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1f5vj5zy4kcsw8p87y976dm5pln6v6jfw5f0fkj7qbwfipbsj6wl"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-radix-fmt-1
  (package
    (name "rust-radix-fmt")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "radix_fmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "09jlq152iwn56215kghqby4pi8vamhg0nzcb9any5b5782cjl26f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-fluid" ,rust-fluid-0.4))))
    (home-page "https://gitlab.com/Boiethios/radix_fmt_rs")
    (synopsis "Format a number in an arbitrary radix")
    (description "This package lets you format a number in an arbitrary
radix.")
    (license license:asl2.0)))

(define-public rust-radix-trie-0.2
  (package
    (name "rust-radix-trie")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "radix_trie" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zaq3im5ss03w91ij11cj97vvzc5y1f3064d9pi2ysnwziww2sf0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-endian-type" ,rust-endian-type-0.1)
        ("rust-nibble-vec" ,rust-nibble-vec-0.1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/michaelsproul/rust_radix_trie")
    (synopsis "Generic radix trie data-structure")
    (description
     "This is a Radix Trie implementation in Rust, building on the lessons
learnt from TrieMap and Sequence Trie.")
    (license license:expat)))

(define-public rust-railroad-0.2
  (package
    (name "rust-railroad")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "railroad" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08y86hb3vp0i9k9dkz3lbfhrd8x051f6pcg3p87z65ss3shdmzh1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-htmlescape" ,rust-htmlescape-0.3)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-railroad-verification" ,rust-railroad-verification-0.1))))
    (home-page "https://github.com/lukaslueg/railroad")
    (synopsis "Library to create syntax-diagrams as Scalable Vector Graphics")
    (description
     "This package provides a library to create syntax-diagrams as Scalable
Vector Graphics.")
    (license license:expat)))

(define-public rust-railroad-verification-0.1
  (package
    (name "rust-railroad-verification")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "railroad_verification" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "131qx7xjs06gmna8xvnw6js31y9wmhayaiykssv45qrh3gr7c9dr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/lukaslueg/railroad-verification")
    (synopsis "Common verification against SVG11-DTD for @code{railroad}")
    (description
     "This package provides common verification against SVG11-DTD for
@code{railroad}.")
    (license license:expat)))

(define-public rust-rand-0.8
  (package
    (name "rust-rand")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "013l6931nn7gkc23jz5mm3qdhf93jjf0fg64nz2lp4i51qd8vbrl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-rand-pcg" ,rust-rand-pcg-0.3))))
    (home-page "https://crates.io/crates/rand")
    (synopsis "Random number generators and other randomness functionality")
    (description
     "Rand provides utilities to generate random numbers, to convert them to
useful types and distributions, and some randomness-related algorithms.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-0.7
  (package
    (inherit rust-rand-0.8)
    (name "rust-rand")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva"))))
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-packed-simd" ,rust-packed-simd-0.3)
        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
        ("rust-rand-core" ,rust-rand-core-0.5)
        ("rust-rand-hc" ,rust-rand-hc-0.2)
        ("rust-rand-pcg" ,rust-rand-pcg-0.2))
       #:cargo-development-inputs
       (("rust-rand-hc" ,rust-rand-hc-0.2)
        ("rust-rand-pcg" ,rust-rand-pcg-0.2))))))

(define-public rust-rand-0.6
  (package
    (inherit rust-rand-0.7)
    (name "rust-rand")
    (version "0.6.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-packed-simd" ,rust-packed-simd-0.3)
        ("rust-rand-chacha" ,rust-rand-chacha-0.1)
        ("rust-rand-core" ,rust-rand-core-0.4)
        ("rust-rand-hc" ,rust-rand-hc-0.1)
        ("rust-rand-isaac" ,rust-rand-isaac-0.1)
        ("rust-rand-jitter" ,rust-rand-jitter-0.1)
        ("rust-rand-os" ,rust-rand-os-0.1)
        ("rust-rand-pcg" ,rust-rand-pcg-0.1)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-autocfg" ,rust-autocfg-0.1)) ; build-dependency
       #:cargo-development-inputs
       (("rust-average" ,rust-average-0.9)
        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1))))))

(define-public rust-rand-0.5
  (package
    (inherit rust-rand-0.7)
    (name "rust-rand")
    (version "0.5.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1fdcgja9167hlzkf4g5daqwp498lwiyq7aqm05whklpbsdyc8666"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cloudabi" ,rust-cloudabi-0.0.3)
        ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-rand-core" ,rust-rand-core-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-stdweb" ,rust-stdweb-0.4)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))))

(define-public rust-rand-0.4
  (package
    (inherit rust-rand-0.6)
    (name "rust-rand")
    (version "0.4.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m"))))
    (arguments
     `(#:cargo-inputs
       (("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
        ("rust-rand-core" ,rust-rand-core-0.3)
        ("rust-rdrand" ,rust-rdrand-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-rand-0.3
  (package
    (inherit rust-rand-0.6)
    (name "rust-rand")
    (version "0.3.23")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rand" ,rust-rand-0.4))))))

(define-public rust-rand-chacha-0.3
  (package
    (name "rust-rand-chacha")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_chacha" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "123x2adin558xbhvqb8w4f6syjsdkmqff8cxwhmjacpsl1ihmhg6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ppv-lite86" ,rust-ppv-lite86-0.2)
        ("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://crates.io/crates/rand_chacha")
    (synopsis "ChaCha random number generator")
    (description
     "This package provides the ChaCha random number generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-chacha-0.2
  (package
    (inherit rust-rand-chacha-0.3)
    (name "rust-rand-chacha")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_chacha" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-c2-chacha" ,rust-c2-chacha-0.2)
        ("rust-rand-core" ,rust-rand-core-0.5))))))

(define-public rust-rand-chacha-0.1
  (package
    (inherit rust-rand-chacha-0.2)
    (name "rust-rand-chacha")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_chacha" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.3))
       #:cargo-development-inputs
       (("rust-autocfg" ,rust-autocfg-0.1))))))

(define-public rust-rand-core-0.6
  (package
    (name "rust-rand-core")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b4j2v4cb5krak1pv6kakv4sz6xcwbrmy2zckc32hsigbrwy82zc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://rust-random.github.io/book")
    (synopsis "Core random number generator traits and tools")
    (description
     "This package provides core random number generator traits and
tools for implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-core-0.5
  (package
    (inherit rust-rand-core-0.6)
    (name "rust-rand-core")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_core" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch"))))
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.1)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-rand-core-0.4
  (package
    (inherit rust-rand-core-0.5)
    (name "rust-rand-core")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-rand-core-0.3
  (package
    (inherit rust-rand-core-0.4)
    (name "rust-rand-core")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
    ;; This version is a 0.3 API wrapper around the 0.4 version.
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))

(define-public rust-rand-core-0.2
  (package
    (inherit rust-rand-core-0.5)
    (name "rust-rand-core")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_core" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0wikbw2a36bz8ywjyycjrd7db6ra3yzj14zs1ysxz2fiqhia8q8r"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.3))))))

(define-public rust-rand-distr-0.4
  (package
    (name "rust-rand-distr")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_distr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cgfwg3z0pkqhrl0x90c77kx70r6g9z4m6fxq9v0h2ibr2dhpjrj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-average" ,rust-average-0.13)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-pcg" ,rust-rand-pcg-0.3)
        ("rust-special" ,rust-special-0.8))))
    (home-page "https://rust-random.github.io/book/")
    (synopsis "Sampling from random number distributions")
    (description "This package provides tool for sampling from random number
distributions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-distr-0.3
  (package
    (name "rust-rand-distr")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_distr" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mlxzzzbwpxxnvy79w0kb332r6vcw38jiglx5s5zna9rv8m57sf9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.7))
       #:cargo-development-inputs
       (("rust-average" ,rust-average-0.10)
        ("rust-rand-pcg" ,rust-rand-pcg-0.2))))
    (home-page "https://crates.io/crates/rand_distr")
    (synopsis "Sampling from random number distributions")
    (description
     "Sampling from random number distributions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-distr-0.2
  (package
    (inherit rust-rand-distr-0.3)
    (name "rust-rand-distr")
    (version "0.2.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_distr" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1cpz577qid09lirjjhhn98yqdwsv0c01jf973pxpcr9svp5pm5wn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rand" ,rust-rand-0.7))
       #:cargo-development-inputs
       (("rust-average" ,rust-average-0.10)
        ("rust-rand-pcg" ,rust-rand-pcg-0.2))))))

(define-public rust-rand-hc-0.3
  (package
    (name "rust-rand-hc")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_hc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m2grc3bjndds93mv55qw7qf1gapar080v2qpxi8vy3hcd7ksdkv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.6))))
    (home-page "https://crates.io/crates/rand_hc")
    (synopsis "HC128 random number generator")
    (description "This package provides a cryptographically secure random number
generator that uses the HC-128 algorithm.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-hc-0.2
  (package
    (inherit rust-rand-hc-0.3)
    (name "rust-rand-hc")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_hc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rand-hc" ,rust-rand-core-0.5))))))

(define-public rust-rand-hc-0.1
  (package
    (inherit rust-rand-hc-0.2)
    (name "rust-rand-hc")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_hc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
    (arguments
     `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3))))))

(define-public rust-rand-isaac-0.3
  (package
    (name "rust-rand-isaac")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_isaac" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a0b188s960qknwwgvpn7zpq3fzdhvrb0gsm5ir5akqvv4y3gi7s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://rust-random.github.io/book/")
    (synopsis "ISAAC random number generator")
    (description "This package implements the @code{ISAAC} and @code{ISAAC-64}
random number generators.  ISAAC stands for \"Indirection, Shift, Accumulate,
Add, and Count\" which are the principal bitwise operations employed.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-isaac-0.2
  (package
    (name "rust-rand-isaac")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_isaac" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0xlb9415x518ffkazxhvk8b04i9i548nva4i5l5s34crvjrv1xld"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://crates.io/crates/rand_isaac")
    (synopsis "ISAAC random number generator")
    (description "This package implements the @code{ISAAC} and @code{ISAAC-64}
random number generators.  ISAAC stands for \"Indirection, Shift, Accumulate,
Add, and Count\" which are the principal bitwise operations employed.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-isaac-0.1
  (package
    (inherit rust-rand-isaac-0.2)
    (name "rust-rand-isaac")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_isaac" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))))

(define-public rust-rand-jitter-0.1
  (package
    (name "rust-rand-jitter")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_jitter" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rand-core" ,rust-rand-core-0.4)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/rust-random/rand")
    (synopsis "Random number generator based on timing jitter")
    (description "This package provides a non-physical true random number
generator based on timing jitter.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rand-mt-4
  (package
    (name "rust-rand-mt")
    (version "4.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_mt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pz2l6kwhx9rvfkr8n4c4klr49fancpc31wqc19543nnvv31iq29"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.6))
       #:cargo-development-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/artichoke/rand_mt")
    (synopsis "Reference Mersenne Twister random number generators")
    (description "This package provides Reference Mersenne Twister random number
generators.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-os-0.2
  (package
    (name "rust-rand-os")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_os" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12m59l42aa07khcjnhq8lkw2332brj4d7gqr3jxgqv39vczax257"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.1)
        ("rust-rand-core" ,rust-rand-core-0.5))))
    (home-page "https://crates.io/crates/rand-os")
    (synopsis "OS backed Random Number Generator")
    (description "OS backed Random Number Generator.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rand-os-0.1
  (package
    (inherit rust-rand-os-0.2)
    (name "rust-rand-os")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_os" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cloudabi" ,rust-cloudabi-0.0.3)
        ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-rand-core" ,rust-rand-core-0.4)
        ("rust-rdrand" ,rust-rdrand-0.4)
        ("rust-stdweb" ,rust-stdweb-0.4)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-rand-pcg-0.3
  (package
    (name "rust-rand-pcg")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_pcg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0gn79wzs5b19iivybwa09wv4lhi4kbcqciasiqqynggnr8cd1jjr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://crates.io/crates/rand_pcg")
    (synopsis
     "Selected PCG random number generators")
    (description
     "This package implements a selection of PCG random number generators.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rand-pcg-0.2
  (package
    (name "rust-rand-pcg")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_pcg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ab4h6s6x3py833jk61lwadq83qd1c8bih2hgi6yps9rnv0x1aqn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://crates.io/crates/rand_pcg")
    (synopsis
     "Selected PCG random number generators")
    (description
     "Implements a selection of PCG random number generators.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rand-pcg-0.1
  (package
    (inherit rust-rand-pcg-0.2)
    (name "rust-rand-pcg")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_pcg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-0.1)
        ("rust-rand-core" ,rust-rand-core-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))))

(define-public rust-rand-regex-0.15
  (package
    (name "rust-rand-regex")
    (version "0.15.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gfgx78k1sf3y5z7hf3rn8qnplmvlm908y6ig4razvnrszi9yalb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests segfault.
       #:cargo-inputs (("rust-rand" ,rust-rand-0.8)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.6))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-rand-distr" ,rust-rand-distr-0.4)
                                   ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
                                   ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/kennytm/rand_regex")
    (synopsis "Generates random strings and byte strings matching a regex")
    (description "Generates random strings and byte strings matching a regex.")
    (license license:expat)))

(define-public rust-rand-xorshift-0.3
  (package
    (name "rust-rand-xorshift")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_xorshift" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13vcag7gmqspzyabfl1gr9ykvxd2142q2agrj8dkyjmfqmgg4nyj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://crates.io/crates/rand-xorshift")
    (synopsis "Xorshift random number generator")
    (description
     "Xorshift random number generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-xorshift-0.2
  (package
    (inherit rust-rand-xorshift-0.3)
    (name "rust-rand-xorshift")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_xorshift" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1a6wy76lc5fimm1n9n8fzhp4cfjwfwxh4hx63bg3vlh1d2w1dm3p"))))
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))))

(define-public rust-rand-xorshift-0.1
  (package
    (name "rust-rand-xorshift")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand_xorshift" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://crates.io/crates/rand-xorshift")
    (synopsis "Xorshift random number generator")
    (description
      "Xorshift random number generator")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rand-xoshiro-0.6
  (package
    (name "rust-rand-xoshiro")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_xoshiro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ajsic84rzwz5qr0mzlay8vi17swqi684bqvwqyiim3flfrcv5vg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.6)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://rust-random.github.io/book/")
    (synopsis "Xoshiro, xoroshiro and splitmix64 random number generators")
    (description "This package provides the xoshiro, xoroshiro and splitmix64
random number generators.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-xoshiro-0.4
  (package
    (name "rust-rand-xoshiro")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_xoshiro" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "013h45rikipv5bda2ixmwx5rwsk9wpc7mr0a77cz20hxi0pdvz59"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.5)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://crates.io/crates/rand_xoshiro")
    (synopsis "Xoshiro, xoroshiro and splitmix64 random number generators")
    (description "This package provides the xoshiro, xoroshiro and splitmix64
random number generators.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rand-xoshiro-0.1
  (package
    (inherit rust-rand-xoshiro-0.4)
    (name "rust-rand-xoshiro")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rand_xoshiro" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0ac9ha6ll8b6l1930bd99k29jrjpsbpddvr6ycrnbi5rkwb1id03"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rand-core" ,rust-rand-core-0.3))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6))))))

(define-public rust-random-0.12
  (package
    (name "rust-random")
    (version "0.12.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "random" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03s2c59vzcr5fmxbhlhxvrsnwgic488jl4br1k4q369lhls3mlcp"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/stainless-steel/random")
    (synopsis "Sources of randomness")
    (description "The package provides sources of randomness.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-random-fast-rng-0.1
  (package
    (name "rust-random-fast-rng")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "random-fast-rng" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18q577c8j2j9j044b5fnj1xw1lwkyjrkl3agzp3lvx3iln24wy4m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-random-trait" ,rust-random-trait-0.1))))
    (home-page "https://github.com/elichai/random-rs")
    (synopsis "Library for fast non cryptographic random number generator")
    (description
     "This package is a Rust library for fast non cryptographic random number
generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-random-trait-0.1
  (package
    (name "rust-random-trait")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "random-trait" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0iw4laa9i97x1m1mc72rx0km0j6pjdrb75b0c93fdaq45spqcc8d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://crates.io/crates/random-trait")
    (synopsis "Rust library for a random trait")
    (description
     "This package is a Rust library for a random trait meant to produce
random generic types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-randomize-4
  (package
    (name "rust-randomize")
    (version "4.0.0-alpha.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "randomize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m4vkgm161q51ww9bvf0kram9cxg8j3p80rl9w1fzpgkwcwbqhpm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.1))))
    (home-page "https://github.com/Lokathor/randomize")
    (synopsis "Minimalist randomization library")
    (description
     "This package provides a minimalist randomization library.")
    (license
     (list license:zlib license:asl2.0 license:expat))))

(define-public rust-ratatui-0.29
  (package
    (name "rust-ratatui")
    (version "0.29.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ratatui" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yqiccg1wmqqxpb2sz3q2v3nifmhsrfdsjgwhc2w40bqyg199gga"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-compact-str" ,rust-compact-str-0.8)
                       ("rust-crossterm" ,rust-crossterm-0.28)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-instability" ,rust-instability-0.3)
                       ("rust-itertools" ,rust-itertools-0.13)
                       ("rust-lru" ,rust-lru-0.12)
                       ("rust-palette" ,rust-palette-0.7)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-strum" ,rust-strum-0.26)
                       ("rust-termion" ,rust-termion-4)
                       ("rust-termwiz" ,rust-termwiz-0.22)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-truncate" ,rust-unicode-truncate-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.2))
       #:cargo-development-inputs
       (("rust-argh" ,rust-argh-0.1)
        ("rust-color-eyre" ,rust-color-eyre-0.6)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-crossterm" ,rust-crossterm-0.28)
        ("rust-fakeit" ,rust-fakeit-1)
        ("rust-font8x8" ,rust-font8x8-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-indoc" ,rust-indoc-2)
        ("rust-octocrab" ,rust-octocrab-0.41)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-rstest" ,rust-rstest-0.23)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-appender" ,rust-tracing-appender-0.2)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://ratatui.rs")
    (synopsis "Library for cooking up terminal user interfaces")
    (description
     "This package provides a library that's all about cooking up terminal user
interfaces.")
    (license license:expat)))

(define-public rust-ratatui-0.27
  (package
   (inherit rust-ratatui-0.29)
   (name "rust-ratatui")
   (version "0.27.0")
   (source
    (origin
     (method url-fetch)
     (uri (crate-uri "ratatui" version))
     (file-name (string-append name "-" version ".tar.gz"))
     (sha256
      (base32 "1lv8r99miibk6np2d2m0y6vf62jf5dr1x272ws6byalnnp2lcrfi"))))
   (arguments
    `(#:cargo-test-flags
      '("--"
        "--skip=backend::test::tests::buffer_view_with_overwrites")
      #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                      ("rust-cassowary" ,rust-cassowary-0.3)
                      ("rust-compact-str" ,rust-compact-str-0.7)
                      ("rust-crossterm" ,rust-crossterm-0.27)
                      ("rust-document-features" ,rust-document-features-0.2)
                      ("rust-itertools" ,rust-itertools-0.13)
                      ("rust-lru" ,rust-lru-0.12)
                      ("rust-palette" ,rust-palette-0.7)
                      ("rust-paste" ,rust-paste-1)
                      ("rust-serde" ,rust-serde-1)
                      ("rust-stability" ,rust-stability-0.2)
                      ("rust-strum" ,rust-strum-0.26)
                      ("rust-strum-macros" ,rust-strum-macros-0.26)
                      ("rust-termion" ,rust-termion-4)
                      ("rust-termwiz" ,rust-termwiz-0.22)
                      ("rust-time" ,rust-time-0.3)
                      ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                      ("rust-unicode-truncate" ,rust-unicode-truncate-1)
                      ("rust-unicode-width" ,rust-unicode-width-0.1))
      #:cargo-development-inputs
      (("rust-anyhow" ,rust-anyhow-1)
       ("rust-argh" ,rust-argh-0.1)
       ("rust-better-panic" ,rust-better-panic-0.3)
       ("rust-color-eyre" ,rust-color-eyre-0.6)
       ("rust-criterion" ,rust-criterion-0.5)
       ("rust-derive-builder" ,rust-derive-builder-0.20)
       ("rust-fakeit" ,rust-fakeit-1)
       ("rust-font8x8" ,rust-font8x8-0.3)
       ("rust-indoc" ,rust-indoc-2)
       ("rust-palette" ,rust-palette-0.7)
       ("rust-pretty-assertions" ,rust-pretty-assertions-1)
       ("rust-rand" ,rust-rand-0.8)
       ("rust-rand-chacha" ,rust-rand-chacha-0.3)
       ("rust-rstest" ,rust-rstest-0.21)
       ("rust-serde-json" ,rust-serde-json-1)
       ("rust-tracing" ,rust-tracing-0.1)
       ("rust-tracing-appender" ,rust-tracing-appender-0.2)
       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))))

(define-public rust-ratatui-0.26
  (package
    (inherit rust-ratatui-0.29)
    (name "rust-ratatui")
    (version "0.26.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ratatui" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n1ivnbpng797ssrw1rv1i0j4sjgylm3bssn1m5n2qkcpy7jzcdw"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=buffer::tests::index_of_panics_on_out_of_bounds"
         "--skip=buffer::tests::pos_of_panics_on_out_of_bounds"
         "--skip=buffer::Buffer::index_of"
         "--skip=buffer::Buffer::pos_of"
         "--skip=terminal::frame::Frame"
         "--skip=src/widgets.rs")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-compact-str" ,rust-compact-str-0.7)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-itertools" ,rust-itertools-0.12)
                       ("rust-lru" ,rust-lru-0.12)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-stability" ,rust-stability-0.1)
                       ("rust-strum" ,rust-strum-0.26)
                       ("rust-termion" ,rust-termion-3)
                       ("rust-termwiz" ,rust-termwiz-0.22)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-argh" ,rust-argh-0.1)
        ("rust-better-panic" ,rust-better-panic-0.3)
        ("rust-cargo-husky" ,rust-cargo-husky-1)
        ("rust-color-eyre" ,rust-color-eyre-0.6)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-derive-builder" ,rust-derive-builder-0.13)
        ("rust-fakeit" ,rust-fakeit-1)
        ("rust-font8x8" ,rust-font8x8-0.3)
        ("rust-palette" ,rust-palette-0.7)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-rstest" ,rust-rstest-0.18)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-ratatui-0.25
  (package
    (inherit rust-ratatui-0.26)
    (name "rust-ratatui")
    (version "0.25.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ratatui" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sw0s4s9y09n2nsxs996frrlmy4fay7ibwfrvar0fvmswi99wrd5"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=buffer::tests::index_of_panics_on_out_of_bounds"
         "--skip=buffer::tests::pos_of_panics_on_out_of_bounds"
         "--skip=buffer::Buffer::index_of"
         "--skip=buffer::Buffer::pos_of")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-itertools" ,rust-itertools-0.12)
                       ("rust-lru" ,rust-lru-0.12)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-stability" ,rust-stability-0.1)
                       ("rust-strum" ,rust-strum-0.25)
                       ("rust-termion" ,rust-termion-2)
                       ("rust-termwiz" ,rust-termwiz-0.20)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-argh" ,rust-argh-0.1)
        ("rust-better-panic" ,rust-better-panic-0.3)
        ("rust-cargo-husky" ,rust-cargo-husky-1)
        ("rust-color-eyre" ,rust-color-eyre-0.6)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-fakeit" ,rust-fakeit-1)
        ("rust-palette" ,rust-palette-0.7)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-ratatui-0.24
  (package
    (inherit rust-ratatui-0.26)
    (name "rust-ratatui")
    (version "0.24.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ratatui" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "099433has5bhl6zbckpv2qskb66h7xz4rfgc6xn5cyjjzdy93g0f"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=buffer::tests::index_of_panics_on_out_of_bounds"
         "--skip=buffer::tests::pos_of_panics_on_out_of_bounds"
         "--skip=buffer::Buffer::index_of"
         "--skip=buffer::Buffer::pos_of")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-indoc" ,rust-indoc-2)
                       ("rust-itertools" ,rust-itertools-0.11)
                       ("rust-lru" ,rust-lru-0.12)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-strum" ,rust-strum-0.25)
                       ("rust-termion" ,rust-termion-2)
                       ("rust-termwiz" ,rust-termwiz-0.20)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-argh" ,rust-argh-0.1)
        ("rust-better-panic" ,rust-better-panic-0.3)
        ("rust-cargo-husky" ,rust-cargo-husky-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-fakeit" ,rust-fakeit-1)
        ("rust-palette" ,rust-palette-0.7)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-ratatui-0.20
  (package
    (inherit rust-ratatui-0.24)
    (name "rust-ratatui")
    (version "0.20.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ratatui" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ab8w62dkp2c2l8s1xb904imqlv7aqkc07hm6bp01afbphrd1h6w"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=buffer::tests::index_of_panics_on_out_of_bounds"
         "--skip=buffer::tests::pos_of_panics_on_out_of_bounds"
         "--skip=buffer::Buffer::index_of"
         "--skip=buffer::Buffer::pos_of")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cassowary" ,rust-cassowary-0.3)
        ("rust-crossterm" ,rust-crossterm-0.26)
        ("rust-serde" ,rust-serde-1)
        ("rust-termion" ,rust-termion-2)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-argh" ,rust-argh-0.1)
                                   ("rust-rand" ,rust-rand-0.8))))))

(define-public rust-raw-cpuid-11
  (package
    (name "rust-raw-cpuid")
    (version "11.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "raw-cpuid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "138dm4mqmmkdd1g5gkf90dlj2bnlxp0yy4d56r5xbyz3rwby77nb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-termimad" ,rust-termimad-0.25))
       #:cargo-development-inputs (("rust-core-affinity" ,rust-core-affinity-0.8)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-phf" ,rust-phf-0.11)
                                   ("rust-rustversion" ,rust-rustversion-1))))
    (home-page "https://github.com/gz/rust-cpuid")
    (synopsis "Library to parse the x86 CPUID instruction, written in Rust")
    (description
     "This package provides a library to parse the x86 CPUID instruction,
written in Rust with no external dependencies.  The implementation closely
resembles the Intel CPUID manual description.  The library does only depend on
libcore.")
    (license license:expat)))

(define-public rust-raw-cpuid-10
  (package
    (inherit rust-raw-cpuid-11)
    (name "rust-raw-cpuid")
    (version "10.7.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "raw-cpuid" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ckkg47m8wbdinqg4z4dx7ipi3d7fjxdnrwzikx70x46rdwpcabc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-clap" ,rust-clap-3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-termimad" ,rust-termimad-0.20))
       #:cargo-development-inputs
       (("rust-core-affinity" ,rust-core-affinity-0.5)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-phf" ,rust-phf-0.11)
        ("rust-rustversion" ,rust-rustversion-1))))))

(define-public rust-raw-cpuid-8
  (package
    (inherit rust-raw-cpuid-10)
    (name "rust-raw-cpuid")
    (version "8.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "raw-cpuid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wry932lx7gqyxn7w54mg61b7hiwywyir754jhfxiws3pnfpvpqz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-core-affinity" ,rust-core-affinity-0.5)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustversion" ,rust-rustversion-0.1))))))

(define-public rust-rawpointer-0.2
  (package
    (name "rust-rawpointer")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rawpointer" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1qy1qvj17yh957vhffnq6agq0brvylw27xgks171qrah75wmg8v0"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/bluss/rawpointer/")
    (synopsis "Extra methods for raw pointers")
    (description "Extra methods for raw pointers.  For example
@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
and @code{ptrdistance}.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rawpointer-0.1
  (package
    (inherit rust-rawpointer-0.2)
    (name "rust-rawpointer")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rawpointer" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))))

(define-public rust-rawslice-0.1
  (package
    (name "rust-rawslice")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rawslice" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kfidydpw770wfzp2c4y7jfq1vr5jbql5sk86xg2wx3an84cj8wf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rawpointer" ,rust-rawpointer-0.2))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.4))))
    (home-page "https://github.com/bluss/rawslice/")
    (synopsis "Reimplementation of the slice iterators, with extra features")
    (description
     "Reimplementation of the slice iterators, with extra features.
For example creation from raw pointers and start, end pointer
accessors.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rayon-1
  (package
    (name "rust-rayon")
    (version "1.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rayon" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ylgnzwgllajalr4v00y4kj22klq2jbwllm70aha232iah0sc65l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-either" ,rust-either-1)
        ("rust-rayon-core" ,rust-rayon-core-1)
        ("rust-wasm-sync" ,rust-wasm-sync-0.1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3))))
    (home-page "https://github.com/rayon-rs/rayon")
    (synopsis "Simple work-stealing parallelism for Rust")
    (description
     "This package provides a simple work-stealing parallelism for
Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rayon-0.8
  (package
    (inherit rust-rayon-1)
    (name "rust-rayon")
    (version "0.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rayon" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j2l9x98ma63qkh9w8zik0vcpwqf9cvc2ynh66ibjp36nq4gw55n"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rayon-core" ,rust-rayon-core-1))
      #:cargo-development-inputs
      (("rust-compiletest-rs" ,rust-compiletest-rs-0.2)
       ("rust-docopt" ,rust-docopt-0.7)
       ("rust-futures" ,rust-futures-0.1)
       ("rust-rand" ,rust-rand-0.3)
       ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))

(define-public rust-rayon-core-1
  (package
    (name "rust-rayon-core")
    (version "1.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rayon-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qpwim68ai5h0j7axa8ai8z0payaawv3id0lrgkqmapx7lx8fr8l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-wasm-sync" ,rust-wasm-sync-0.1))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-scoped-tls" ,rust-scoped-tls-1))))
    (home-page "https://github.com/rayon-rs/rayon")
    (synopsis "Core APIs for Rayon")
    (description "This package provides core APIs for Rayon.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rclite-0.2
  (package
    (name "rust-rclite")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rclite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fa379adiwincgywigi341zd969d3459ljq71n5ymwwficp0r7zf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-branches" ,rust-branches-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/fereidani/rclite")
    (synopsis "Reference counting compatible with Arc and Rc APIs")
    (description
     "This package provides reference counting, which is compatible with
Arc and Rc APIs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rctree-0.6
  (package
    (name "rust-rctree")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rctree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sd6vsa5p3j27v6f1v0l0afl3hn4an1jr3psky3024gcmdk7hgp0"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RazrFalcon/rctree")
    (synopsis "'DOM-like' tree implemented using reference counting")
    (description "This package provides a @code{DOM-like} tree implemented using
reference counting.")
    (license license:expat)))

(define-public rust-rdrand-0.4
  (package
    (name "rust-rdrand")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rdrand" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.3))))
    (home-page "https://github.com/nagisa/rust_rdrand/")
    (synopsis "Random number generator")
    (description
     "This package is an implementation of random number generator based on
@code{rdrand} and @code{rdseed} instructions")
    (license license:isc)))

(define-public rust-read-process-memory-0.1
  (package
    (name "rust-read-process-memory")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "read-process-memory" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c1vmw8a2ywf7v96xfwbsyrnpk3fy8cc2a0rdxw8fs0b5wxni5w4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-mach" ,rust-mach-0.3)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rbspy/read-process-memory")
    (synopsis "Read memory from another process")
    (description "This package provides a crate that allows reading memory
from another process.")
    (license license:expat)))

(define-public rust-readlock-0.1
  (package
    (name "rust-readlock")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "readlock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18l0la7zxavbw1ppfigq84f994lyw65rbpl4hlf5gakd37kj7cyp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rclite" ,rust-rclite-0.2))))
    (home-page "https://github.com/jplatte/readlock")
    (synopsis "Weird alternative to Arc<RwLock<T>>")
    (description
     "This package provides a weird alternative to @code{Arc<RwLock<T>>}.")
    (license license:mpl2.0)))

(define-public rust-readlock-tokio-0.1
  (package
    (name "rust-readlock-tokio")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "readlock-tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zc356rp6x0imb4rq2jyq238lv065h4gnyr7zsh3c6aj0s4kd8zv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rclite" ,rust-rclite-0.2)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/jplatte/readlock")
    (synopsis "Weird alternative to Arc<RwLock<T>> using tokio's RwLock")
    (description
     "This package provides a weird alternative to Arc<@code{RwLock<T>>},
using tokio's @code{RwLock}")
    (license license:mpl2.0)))

(define-public rust-recvmsg-1
  (package
    (name "rust-recvmsg")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "recvmsg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xa173gbg1cx8q7wyzi6c4kmcsz5rka68r4jb6kg14icskax9vfk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://docs.rs/recvmsg/1.0.0")
    (synopsis "Traits for receiving datagrams reliably, without truncation")
    (description
     "This package provides traits for receiving datagrams reliably,
without truncation.")
    (license license:bsd-0)))

(define-public rust-recycler-0.1
  (package
    (name "rust-recycler")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "recycler" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1yll0sqswy6afk9ik7r22djqafa3wfgvgdzqqh7jbczyiqr2gp4q"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/frankmcsherry/recycler")
    (synopsis "Rust library for recycling types containing owned memory")
    (description
     "This package provides a small Rust library for recycling types containing
owned memory.")
    (license license:expat)))

(define-public rust-redox-syscall-0.5
  (package
    (name "rust-redox-syscall")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "redox_syscall" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zja6y3av9z50gg1hh0vsc053941wng21r43whhk8mfb9n4m5426"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Functions not implemented on Linux.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
    (home-page "https://gitlab.redox-os.org/redox-os/syscall")
    (synopsis "Rust library to access raw Redox system calls")
    (description
     "This package provides a Rust library to access raw Redox system calls.")
    (license license:expat)))

(define-public rust-redox-syscall-0.4
  (package
    (inherit rust-redox-syscall-0.5)
    (name "rust-redox-syscall")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "redox_syscall" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1aiifyz5dnybfvkk4cdab9p2kmphag1yad6iknc7aszlxxldf8j7"))))
    (arguments
     `(#:tests? #f      ; could not find `CloneFlags` in the crate root
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-redox-syscall-0.3
  (package
    (inherit rust-redox-syscall-0.4)
    (name "rust-redox-syscall")
    (version "0.3.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "redox_syscall" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0acgiy2lc1m2vr8cr33l5s7k9wzby8dybyab1a9p753hcbr68xjn"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-redox-syscall-0.2
  (package
    (inherit rust-redox-syscall-0.3)
    (name "rust-redox-syscall")
    (version "0.2.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "redox_syscall" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16jicm96kjyzm802cxdd1k9jmcph0db1a4lhslcnhjsvhp0mhnpv"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1))))))

;; This package requires features which are unavailable
;; on the stable releases of Rust.
(define-public rust-redox-syscall-0.1
  (package
    (inherit rust-redox-syscall-0.2)
    (name "rust-redox-syscall")
    (version "0.1.57")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "redox_syscall" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1kh59fpwy33w9nwd5iyc283yglq8pf2s41hnhvl48iax9mz0zk21"))))
    (arguments '(#:skip-build? #t))))

(define-public rust-redox-termios-0.1
  (package
    (name "rust-redox-termios")
    (version "0.1.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "redox_termios" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1jzifsj7fqyksz4325l3azfzpyv027kjabf93zcmass3p9q5c510"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/redox-os/termios")
    (synopsis "Rust library to access Redox termios functions")
    (description
     "This package provides a Rust library to access Redox termios functions.")
    (license license:expat)))

(define-public rust-redox-users-0.4
  (package
    (name "rust-redox-users")
    (version "0.4.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "redox_users" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1498qyfyc2k3ih5aaffddvbhzi36na8iqg54hcm4pnpfa6b3sa5x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-libredox" ,rust-libredox-0.1)
        ("rust-rust-argon2" ,rust-rust-argon2-0.8)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://gitlab.redox-os.org/redox-os/users")
    (synopsis "Rust library to access Redox users and groups functionality")
    (description
     "This package provides a Rust library to access Redox users and groups
functionality")
    (license license:expat)))

(define-public rust-redox-users-0.3
  (package
    (inherit rust-redox-users-0.4)
    (name "rust-redox-users")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "redox_users" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "179fxmyqaqzibp533ajgbn4ljah9lrzpqvd3i73h55bs7qrkf1yy"))))
    (arguments
     `(#:skip-build? #t     ; redox-syscall no longer builds.
       #:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.1)
        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
        ("rust-rust-argon2" ,rust-rust-argon2-0.8))))))

(define-public rust-ref-cast-1
  (package
    (name "rust-ref-cast")
    (version "1.0.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ref-cast" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0sxzy3f0zmclsmi1z17n16xbjbp99d5c6nh7592yy6f3fya82h8n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Doesn't always interact well with the test crate.
       #:cargo-inputs
       (("rust-ref-cast-impl" ,rust-ref-cast-impl-1))
       #:cargo-development-inputs
       (("rust-ref-cast-test-suite" ,rust-ref-cast-test-suite-0.0.0)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/ref-cast")
    (synopsis "Safely cast &T to &U")
    (description
     "Safely cast &T to &U where the struct U contains a single field of type T.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ref-cast-0.2
  (package
    (name "rust-ref-cast")
    (version "0.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ref-cast" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1fcbpfb7xhr992qvyfg9hr5p63xqykjp48pm3f7a1q21vmhzksvv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-0.1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/ref-cast")
    (synopsis "Safely cast &T to &U")
    (description
     "Safely cast &T to &U where the struct U contains a single field of type T.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ref-cast-impl-1
  (package
    (name "rust-ref-cast-impl")
    (version "1.0.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ref-cast-impl" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "05kjg9g9akzb0yns255a5zvdkbwk0wa9kp1cf8k6h25nv7d57gv8"))))
    (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-ref-cast" ,rust-ref-cast-1))))
    (home-page "https://github.com/dtolnay/ref-cast")
    (synopsis "Derive implementation for @code{ref_cast::RefCast}")
    (description
     "Derive implementation for @code{ref_cast::RefCast}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ref-cast-impl-0.2
  (package
    (inherit rust-ref-cast-impl-1)
    (name "rust-ref-cast-impl")
    (version "0.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ref-cast-impl" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ref-cast-test-suite-0.0.0
  (package
    (name "rust-ref-cast-test-suite")
    (version "0.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ref-cast-test-suite" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cx15bhs8zq99qidrhjmjhc5krlfclcaq0y5c68pq48vlds72idl"))))
    (build-system cargo-build-system)
    (arguments (list #:skip-build? #t))
    (home-page "https://github.com/dtolnay/ref-cast")
    (synopsis "Test suite of the ref-cast crate")
    (description "Test suite of the ref-cast crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ref-thread-local-0.1
  (package
    (name "rust-ref-thread-local")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ref_thread_local" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w7zw42bzywh9jfhlj5dswdh79dk7bvh4mmsamw9jy40lrh1dmd0"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Xeiron/ref_thread_local.rs")
    (synopsis "Macro for declaring thread-local `static`s")
    (description "This package provides a macro for declaring thread-local
`static`s like using both of `lazy_static!` and `@code{RefCell`}")
    (license license:expat)))

(define-public rust-reference-counted-singleton-0.1
  (package
    (name "rust-reference-counted-singleton")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "reference-counted-singleton" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fcc50l2xh74r2qn4nx2kk0h4i5ys3v4fhgpg5cz793g00gq8br4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-serial-test" ,rust-serial-test-3))))
    (home-page "https://codeberg.org/koutheir/reference-counted-singleton.git")
    (synopsis "Reference-counted singleton with recreatable data")
    (description
     "This package provides a reference-counted singleton whose protected data
can be recreated as needed.")
    (license license:expat)))

(define-public rust-refpool-0.4
  (package
    (name "rust-refpool")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "refpool" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0n6b1qpq0fcyzm3nrmiw0z9x4nawy9dklqfr3mb8rp571yw8d7in"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/bodil/refpool")
    (synopsis "Efficient memory pool with reference counting")
    (description "@code{refpool} is a re-implementation of Rust's
@code{std::boxed::Box} and @code{std::rc::Rc} which uses a pool of reusable
memory to speed up reallocation.")
    (license license:mpl2.0)))

(define-public rust-regex-1
  (package
    (name "rust-regex")
    (version "1.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "148i41mzbx8bmq32hsj1q4karkzzx5m60qza6gdw4pdc9qdyyi5m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex-automata" ,rust-regex-automata-0.4)
        ("rust-regex-syntax" ,rust-regex-syntax-0.8))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-regex-test" ,rust-regex-test-0.1))))
    (home-page "https://github.com/rust-lang/regex")
    (synopsis "Regular expressions for Rust")
    (description
     "This package is an implementation of regular expressions for Rust.  It
uses finite automata and guarantees linear time matching on all inputs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-regex-0.2
  (package
    (inherit rust-regex-1)
    (name "rust-regex")
    (version "0.2.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "regex" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1163ir1k5zjspirfjl4wqbviwrxlhmfwy95xxb69y4irkv4snack"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-0.6)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex-syntax" ,rust-regex-syntax-0.5)
        ("rust-thread-local" ,rust-thread-local-0.3)
        ("rust-utf8-ranges" ,rust-utf8-ranges-1))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-rand" ,rust-rand-0.4))))))

(define-public rust-regex-0.1
  (package
    (inherit rust-regex-0.2)
    (name "rust-regex")
    (version "0.1.80")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g"))))
    (arguments
     `(#:skip-build? #t     ; Can't find dependent crates.
       #:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-0.5)
        ("rust-memchr" ,rust-memchr-0.1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.3)
        ("rust-simd" ,rust-simd-0.2) ; 0.1?
        ("rust-thread-local" ,rust-thread-local-0.2)
        ("rust-utf8-ranges" ,rust-utf8-ranges-0.1))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-0.1)
        ("rust-quickcheck" ,rust-quickcheck-0.2)
        ("rust-rand" ,rust-rand-0.3))))))

(define-public rust-regex-automata-0.4
  (package
    (name "rust-regex-automata")
    (version "0.4.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-automata" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18wd530ndrmygi6xnz3sp345qi0hy2kdbsa89182nwbl6br5i1rn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Not all files included.
       #:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex-syntax" ,rust-regex-syntax-0.8))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bstr" ,rust-bstr-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-regex-test" ,rust-regex-test-0.1))))
    (home-page "https://github.com/rust-lang/regex/tree/master/regex-automata")
    (synopsis "Automata construction and matching using regular expressions")
    (description
     "Automata construction and matching using regular expressions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-regex-automata-0.3
  (package
    (inherit rust-regex-automata-0.4)
    (name "rust-regex-automata")
    (version "0.3.9")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "regex-automata" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1agg6ymbgjydj3q31ay6dbzgp3i5cnrnygpylczqj623xs93xcjr"))))
    (arguments
     `(#:tests? #f          ; Not all files included.
       #:cargo-inputs
       (("rust-aho-corasick" ,rust-aho-corasick-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-regex-syntax" ,rust-regex-syntax-0.7))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bstr" ,rust-bstr-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-regex-test" ,rust-regex-test-0.1))))))

(define-public rust-regex-automata-0.1
  (package
    (inherit rust-regex-automata-0.3)
    (name "rust-regex-automata")
    (version "0.1.9")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "regex-automata" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-fst" ,rust-fst-0.4)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6))
       #:cargo-development-inputs
       (("rust-bstr" ,rust-bstr-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-toml" ,rust-toml-0.5)))))) ; 0.4

(define-public rust-regex-cache-0.2
  (package
    (name "rust-regex-cache")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-cache" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14w7h1rl68fzzvavig18hf184macxcypqsrv6m7vkf23jzb64yrg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lru-cache" ,rust-lru-cache-0.1)
                       ("rust-oncemutex" ,rust-oncemutex-0.1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.6))))
    (home-page "https://github.com/1aim/rust-regex-cache")
    (synopsis "Lazy and cached regular expressions")
    (description "This package provides lazy and cached regular expressions.")
    (license license:expat)))

(define-public rust-regex-cursor-0.1
  (package
    (name "rust-regex-cursor")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-cursor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sbi1xr9201hd5c40779gfnmlnmrb4yqs4jj07d6zbp3znsjfhxf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-regex-automata" ,rust-regex-automata-0.4)
                       ("rust-regex-syntax" ,rust-regex-syntax-0.8)
                       ("rust-ropey" ,rust-ropey-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-regex-test" ,rust-regex-test-0.1))))
    (home-page "https://github.com/pascalkuthe/regex-cursor")
    (synopsis "Regex fork that can search discontiguous haystacks")
    (description
     "This package provides regex fork that can search discontiguous haystacks.")
    (license (list license:expat license:asl2.0))))

(define-public rust-regex-lite-0.1
  (package
    (name "rust-regex-lite")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-lite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13ndx7ibckvlasyzylqpmwlbp4kahrrdl3ph2sybsdviyar63dih"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-regex-test" ,rust-regex-test-0.1))))
    (home-page "https://github.com/rust-lang/regex/tree/master/regex-lite")
    (synopsis
     "Lightweight regex engine optimized for binary size and compilation time")
    (description
     "This package provides a lightweight regex engine that optimizes for binary
size and compilation time.")
    (license (list license:expat license:asl2.0))))

(define-public rust-regex-syntax-0.8
  (package
    (name "rust-regex-syntax")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-syntax" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p41p3hj9ww7blnbwbj9h7rwxzxg0c1hvrdycgys8rxyhqqw859b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1))))
    (home-page "https://github.com/rust-lang/regex/tree/master/regex-syntax")
    (synopsis "Regular expression parser")
    (description "This package provides a regular expression parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-regex-syntax-0.7
  (package
    (inherit rust-regex-syntax-0.8)
    (name "rust-regex-syntax")
    (version "0.7.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "regex-syntax" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nhjmqdlakfi4yb8lh7vbbh71dsy90jjvrjvvnrih6larldgpdfv"))))
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1))))))

(define-public rust-regex-syntax-0.6
  (package
    (inherit rust-regex-syntax-0.7)
    (name "rust-regex-syntax")
    (version "0.6.27")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-syntax" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i32nnvyzzkvz1rqp2qyfxrp2170859z8ck37jd63c8irrrppy53"))))
    (arguments '())))

(define-public rust-regex-syntax-0.5
  (package
    (inherit rust-regex-syntax-0.6)
    (name "rust-regex-syntax")
    (version "0.5.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "regex-syntax" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19zp25jr3dhmclg3qqjk3bh1yrn7bqi05zgr5v52szv3l97plw3x"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ucd-util" ,rust-ucd-util-0.1))))))

(define-public rust-regex-syntax-0.4
  (package
    (inherit rust-regex-syntax-0.6)
    (name "rust-regex-syntax")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "regex-syntax" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "03p24bsfg2rw2cc5h8ri4fp7j06xwyyd5grlqy0g11ixp5c1r4wf"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.6)
        ("rust-rand" ,rust-rand-0.4))))))

(define-public rust-regex-syntax-0.3
  (package
    (inherit rust-regex-syntax-0.6)
    (name "rust-regex-syntax")
    (version "0.3.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "regex-syntax" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.2)
        ("rust-rand" ,rust-rand-0.3))))))

(define-public rust-regex-test-0.1
  (package
    (name "rust-regex-test")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "regex-test" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qjf6j8fvwzwmqj5cvjjs11sm1w978vbpgba6as9iif4kf9z0h6s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-bstr" ,rust-bstr-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-toml" ,rust-toml-0.8))))
    (home-page "https://github.com/rust-lang/regex/tree/master/regex-test")
    (synopsis "Infrastructure for testing regexes")
    (description
     "Infrastructure for testing regexes.  You probably don't want to use this
crate unless you're working on a regex implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-region-3
  (package
    (name "rust-region")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "region" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19wrf7fg741jfnyz2314dv9m9hwssh816v27rpwsw2f07g8ypdp6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=alloc::tests::alloc_frees_memory_when_dropped"
         "--skip=query::tests::query_returns_one_region_for_multiple_page_allocation")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mach2" ,rust-mach2-0.4)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-mmap-fixed" ,rust-mmap-fixed-0.1))))
    (home-page "https://github.com/darfink/region-rs")
    (synopsis "Library for manipulating memory regions")
    (description
     "This package provides a library for manipulating memory regions.")
    (license license:expat)))

(define-public rust-relative-path-1
  (package
    (name "rust-relative-path")
    (version "1.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "relative-path" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1limlh8fzwi21g0473fqzd6fln9iqkwvzp3816bxi31pkilz6fds"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags       ; Skip the doctests.
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://docs.rs/crate/relative-path/")
    (synopsis "Portable, relative paths for Rust")
    (description "This package provides portable, relative paths for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-remoteprocess-0.5
  (package
    (name "rust-remoteprocess")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "remoteprocess" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "087z016qvypalbqjgdxmri97vsrqg4k1kpmc8b5d5hdgqxq4f6g6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-addr2line" ,rust-addr2line-0.24)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-goblin" ,rust-goblin-0.9)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libproc" ,rust-libproc-0.14)
        ("rust-log" ,rust-log-0.4)
        ("rust-mach" ,rust-mach-0.3)
        ("rust-mach-o-sys" ,rust-mach-o-sys-0.1)
        ("rust-memmap2" ,rust-memmap2-0.9)
        ("rust-nix" ,rust-nix-0.26)
        ("rust-object" ,rust-object-0.36)
        ("rust-proc-maps" ,rust-proc-maps-0.4)
        ("rust-read-process-memory" ,rust-read-process-memory-0.1)
        ("rust-regex" ,rust-regex-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.10)
        ("rust-mark-flaky-tests" ,rust-mark-flaky-tests-1))))
    (home-page "https://github.com/benfred/remoteprocess")
    (synopsis "Library for getting information on running processes")
    (description "This package provides an API for getting information on
running processes.")
    (license license:expat)))

(define-public rust-rend-0.4
  (package
    (name "rust-rend")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rend" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1av8mfxrc6dvm0hmn2ymi56jrv6a7dqssxwdn1zx6h4j1790h42q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytecheck" ,rust-bytecheck-0.6))))
    (home-page "https://github.com/djkoloski/rend")
    (synopsis "Endian-aware primitives for Rust")
    (description "Rend is a library that provides endian-aware primitives for
Rust.")
    (license license:expat)))

(define-public rust-rental-0.5
  (package
    (name "rust-rental")
    (version "0.5.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rental" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0bhzz2pfbg0yaw8p1l31bggq4jn077wslf6ifhj22vf3r8mgx2fc"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f  ; cannot move out of `foo` because it is borrowed
           #:cargo-inputs
           `(("rust-rental-impl" ,rust-rental-impl-0.5)
             ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/jpernst/rental")
    (synopsis "Macro to generate safe self-referential structs")
    (description
     "A macro to generate safe self-referential structs, plus
premade types for common use-cases.  This crate is frozen and should be
avoided if possible.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rental-impl-0.5
  (package
    (name "rust-rental-impl")
    (version "0.5.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rental-impl" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1pj0qgmvwwsfwyjqyjxzikkwbwc3vj7hm3hdykr47dy5inbnhpj7"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-proc-macro2" ,rust-proc-macro2-1)
             ("rust-quote" ,rust-quote-1)
             ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/jpernst/rental")
    (synopsis "Implementation details of the rust-rental crate")
    (description "Implementation details for the rust-rental crate.
Should not be used directly.")
    (license (list license:expat license:asl2.0))))

(define-public rust-reopen-1
  (package
    (name "rust-reopen")
    (version "1.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "reopen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14w2v7a4dav23jzfrxj9lgacp731xizvng4bn7slan7qmk1wwhpz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-signal-hook" ,rust-signal-hook-0.3))
       #:cargo-development-inputs (("rust-log" ,rust-log-0.4)
                                   ("rust-partial-io" ,rust-partial-io-0.3)
                                   ("rust-simple-logging" ,rust-simple-logging-2)
                                   ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/vorner/reopen")
    (synopsis "File reopening utility")
    (description "File reopening utility.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-reopen-0.3
  (package
    (inherit rust-reopen-1)
    (name "rust-reopen")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "reopen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12b3mfxkwb8akdfa701nzvqr6lsc6n84vrq088gmjy8lxlmr4an6"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-signal-hook" ,rust-signal-hook-0.1)
                       ("rust-libc" ,rust-libc-0.2))))))

(define-public rust-repr-offset-0.2
  (package
    (name "rust-repr-offset")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "repr_offset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1skj3cy77j7vwslnjjzgladq61z6jjvwlw89kp0zz7fjbdsp047v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; tests must be run with the "testing" feature
       #:cargo-inputs
       (("rust-repr-offset-derive" ,rust-repr-offset-derive-0.2)
        ("rust-tstr" ,rust-tstr-0.2))
       #:cargo-development-inputs
       (("rust-repr-offset-derive" ,rust-repr-offset-derive-0.2))))
    (home-page "https://github.com/rodrimati1992/repr_offset_crates/")
    (synopsis "Offsets of fields for types with a stable layout")
    (description "Offsets of fields for types with a stable layout.")
    (license license:zlib)))

(define-public rust-repr-offset-derive-0.2
  (package
    (name "rust-repr-offset-derive")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "repr_offset_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rwkbf12vmgi5v1llmgiirn0yaaiyw821rd7fc9fhpbkdxz95yh9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; tests must be run with the "testing" feature
       #:cargo-inputs
       (("rust-as-derive-utils" ,rust-as-derive-utils-0.8)
        ("rust-core-extensions" ,rust-core-extensions-0.1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rodrimati1992/repr_offset_crates/")
    (synopsis
     "For deriving the offsets of fields for types with a stable layout")
    (description
     "For deriving the offsets of fields for types with a stable layout.")
    (license license:zlib)))

(define-public rust-resolv-conf-0.7
  (package
    (name "rust-resolv-conf")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "resolv-conf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "005sk8r1php2g41yn7fdf1sn8cafyaqm6jxia42h2v88saa47r2j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-hostname" ,rust-hostname-0.3)
        ("rust-quick-error" ,rust-quick-error-1))))
    (home-page "https://github.com/tailhook/resolv-conf")
    (synopsis "Parser for @file{/etc/resolv.conf}")
    (description
     "This package provides a parser for @file{/etc/resolv.conf} file.")
    (license (list license:expat license:asl2.0))))

(define-public rust-resolv-conf-0.6
  (package
    (inherit rust-resolv-conf-0.7)
    (name "rust-resolv-conf")
    (version "0.6.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "resolv-conf" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jlzifww1h7j23jnjj49xz8q0fpd9rqpd0ks8c4y651vgw9lx0qi"))))
    (arguments
     `(#:tests? #f  ; Not all test files included.
       #:cargo-inputs
       (("rust-quick-error" ,rust-quick-error-1)
        ("rust-hostname" ,rust-hostname-0.3))))))

(define-public rust-result-1
  (package
    (name "rust-result")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "result" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q2mslk9mvpdrl5zr1yvlb8ikmynpq5786c8ybn1wpa03rcqwk8r"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/arcnmx/result-rs")
    (synopsis
     "Helpers for dealing with nested @code{Result} and @code{Option} types")
    (description
     "This package provides helpers for dealing with nested @code{Result} and
@code{Option} types.")
    (license license:expat)))

(define-public rust-retain-mut-0.1
  (package
    (name "rust-retain-mut")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "retain_mut" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c0jfxzba0mcw8q4z7dnc4ypwzxgqkdggngb55hazvwvg3az32a3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/upsuper/retain_mut")
    (synopsis "Mutable borrow for the retain predicate")
    (description "This package provides retain_mut method that has the same
functionality as retain but gives mutable borrow to the predicate.")
    (license license:expat)))

(define-public rust-retain-mut-0.1.7
  (package
    (inherit rust-retain-mut-0.1)
    (name "rust-retain-mut")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "retain_mut" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11j09lp1wqwc2r9bw58my2474zj95jz5fihff3ldv3rz0g2baccc"))))))

(define-public rust-rfc2047-decoder-1
  (package
    (name "rust-rfc2047-decoder")
    (version "1.0.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rfc2047-decoder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0afyg0k2hagnirvv5rk2ysr3khz8ab5ifdap3dsnli9121fm8dmw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-base64" ,rust-base64-0.22)
                       ("rust-charset" ,rust-charset-0.1)
                       ("rust-chumsky" ,rust-chumsky-0.9)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-quoted-printable" ,rust-quoted-printable-0.5)
                       ("rust-thiserror" ,rust-thiserror-2))))
    (home-page "https://github.com/TornaxO7/rfc2047-decoder")
    (synopsis "Rust library for decoding RFC 2047 MIME Message Headers")
    (description "This package provides a rust library for decoding RFC 2047
MIME Message Headers.")
    (license license:expat)))

(define-public rust-rhai-1
  (package
    (name "rust-rhai")
    (version "1.17.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rhai" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0alqy1jglawbh3wq77axikl0613i3vm81h5yn2jah12d4ir369zn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=tests::check_struct_sizes")
       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-core-error" ,rust-core-error-0.0.0)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-instant" ,rust-instant-0.1)
                       ("rust-libm" ,rust-libm-0.2)
                       ("rust-no-std-compat" ,rust-no-std-compat-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-rhai-codegen" ,rust-rhai-codegen-2)
                       ("rust-rust-decimal" ,rust-rust-decimal-1)
                       ("rust-rustyline" ,rust-rustyline-13)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-smartstring" ,rust-smartstring-1)
                       ("rust-thin-vec" ,rust-thin-vec-0.2)
                       ("rust-unicode-xid" ,rust-unicode-xid-0.2))
       #:cargo-development-inputs (("rust-rmp-serde" ,rust-rmp-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://rhai.rs")
    (synopsis "Embedded scripting for Rust")
    (description "Embedded scripting for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rhai-codegen-2
  (package
    (name "rust-rhai-codegen")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rhai_codegen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v45b68rf6yd7z5flryjh8mjb599qis0amff2wx1hj4x9kfgidwx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; TODO: Only 36/68 tests pass.
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-rhai" ,rust-rhai-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://rhai.rs/book/plugins/index.html")
    (synopsis "Procedural macros support package for Rhai")
    (description "This package provides procedural macros support package for
Rhai, a scripting language and engine for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ringbuf-0.2
  (package
    (name "rust-ringbuf")
    (version "0.2.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ringbuf" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wxd2sb5b0kjwc5mcv8qrmzl0spfs0agznrxain3xhrr769g6q3c"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs `(("rust-cache-padded" ,rust-cache-padded-1))))
    (home-page "https://github.com/agerasev/ringbuf")
    (synopsis
     "Lock-free SPSC FIFO ring buffer with direct access to inner data")
    (description
     "Lock-free @acronym{SPSC, Single Producer Single Consumer} @acronym{FIFO,
First In First Out} ring buffer with direct access to inner data.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rinja-0.3
  (package
    (name "rust-rinja")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rinja" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "198ppf5bnm6q53dhn4nijl9vbrdm49i1z86msyrk0m2r006r9i1x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-humansize" ,rust-humansize-2)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-rinja-derive" ,rust-rinja-derive-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://rinja.readthedocs.io/")
    (synopsis "Type-safe, compiled Jinja-like templates for Rust")
    (description
     "This package provides a type-safe, compiled Jinja-like templates for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rinja-derive-0.3
  (package
    (name "rust-rinja-derive")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rinja_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12x1dfrjxhzfai2izmrqpbplj1aifkq1a58vby1f5xmf8q0yvn88"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-basic-toml" ,rust-basic-toml-0.1)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-mime" ,rust-mime-0.3)
                       ("rust-mime-guess" ,rust-mime-guess-2)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.12)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rinja-parser" ,rust-rinja-parser-0.3)
                       ("rust-rustc-hash" ,rust-rustc-hash-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-console" ,rust-console-0.15)
                                   ("rust-prettyplease" ,rust-prettyplease-0.2)
                                   ("rust-similar" ,rust-similar-2)
                                   ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/rinja-rs/rinja")
    (synopsis "Procedural macro package for Rinja")
    (description "This package provides a procedural macro package for Rinja.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rinja-parser-0.3
  (package
    (name "rust-rinja-parser")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rinja_parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "046602hy9x1q3np3qm64xpkw1xx64kiyjikyn8gpl2p0w9kaiyck"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/rinja-rs/rinja")
    (synopsis "Parser for Rinja templates")
    (description "This package provides a parser for Rinja templates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rio-0.9
  (package
    (name "rust-rio")
    (version "0.9.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nv8wrnkd41flb32lmxb412l6m1790j12c3lg305764hcmbc564y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs (("rust-extreme" ,rust-extreme-666))))
    (home-page "https://github.com/spacejam/rio")
    (synopsis "Bindings for io_uring")
    (description
     "This package provides bindings for io_uring.")
    (license license:gpl3)))

(define-public rust-rkyv-0.7
  (package
    (name "rust-rkyv")
    (version "0.7.44")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rkyv" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1h4rpjn15bfldwb2j3zlmv3zaksvizzl1yf6vg24yfdk5534dfjw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-bitvec" ,rust-bitvec-1)
        ("rust-bytecheck" ,rust-bytecheck-0.6)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-hashbrown" ,rust-hashbrown-0.12)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-ptr-meta" ,rust-ptr-meta-0.1)
        ("rust-rend" ,rust-rend-0.4)
        ("rust-rkyv-derive" ,rust-rkyv-derive-0.7)
        ("rust-seahash" ,rust-seahash-4)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-smol-str" ,rust-smol-str-0.2)
        ("rust-tinyvec" ,rust-tinyvec-1)
        ("rust-uuid" ,rust-uuid-1))))
    (home-page "https://github.com/rkyv/rkyv")
    (synopsis "Zero-copy deserialization framework for Rust")
    (description "Rkyv is a zero-copy deserialization framework for Rust.")
    (license license:expat)))

(define-public rust-rkyv-0.6
  (package
    (inherit rust-rkyv-0.7)
    (name "rust-rkyv")
    (version "0.6.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rkyv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01wsn0i8gsw958j892w8i4fyzjdsyhrh7c5zajig049kbqz5n4yb"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytecheck" ,rust-bytecheck-0.5)
        ("rust-memoffset" ,rust-memoffset-0.6)
        ("rust-ptr-meta" ,rust-ptr-meta-0.1)
        ("rust-rkyv-derive" ,rust-rkyv-derive-0.6)
        ("rust-seahash" ,rust-seahash-4))))))

(define-public rust-rkyv-derive-0.7
  (package
    (name "rust-rkyv-derive")
    (version "0.7.44")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rkyv_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0rbwvbxka171bvhj60yjaxn77ipi5d1nwknnp5i6ypp2ipzxzpd7"))))
    (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/rkyv/rkyv")
    (synopsis "Derive macro for zero-copy deserialization framework")
    (description "This package provides a Derive macro for the rkyv
deserialization framework.")
    (license license:expat)))

(define-public rust-rkyv-derive-0.6
  (package
    (inherit rust-rkyv-derive-0.7)
    (name "rust-rkyv-derive")
    (version "0.6.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rkyv_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mc7rnps41gdywahsffqlypsp9jqmp0r6hlh2nxm31bddfgli3xs"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-rle-decode-fast-1
  (package
    (name "rust-rle-decode-fast")
    (version "1.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rle-decode-fast" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08kljzl29rpm12fiz0qj5pask49aiswdvcjigdcq73s224rgd0im"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-criterion" ,rust-criterion-0.2))))
    (home-page "https://github.com/WanzenBug/rle-decode-helper")
    (synopsis "Implement decoding for Run Length Encoded data in Rust")
    (description
     "This crate provides a fast way to implement any kind of decoding
for Run Length Encoded data in Rust.

Writing a fast decoder that is also safe can be quite challenging, so
this crate is here to save you the hassle of maintaining and testing
your own implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rlimit-0.9
  (package
    (name "rust-rlimit")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rlimit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13mb3ligflqb4h7m76pkyc8z5pswpc38fcl6qm1lvp2jls3rv8pq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/Nugine/rlimit/")
    (synopsis "Resource limits")
    (description "This package provides controls for resource limits.")
    (license license:expat)))

(define-public rust-rlp-0.5
  (package
    (name "rust-rlp")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rlp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1da7b1hc4czlmsyr7ifs9bz9fv8hi5dw8q14xnmjlydfn2mhi5cr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-rustc-hex" ,rust-rustc-hex-2))))
    (home-page "https://github.com/paritytech/parity-common")
    (synopsis "Recursive-length prefix encoding, decoding, and compression")
    (description "This package provides Recursive-length prefix encoding,
decoding, and compression.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rmp-0.8
  (package
    (name "rust-rmp")
    (version "0.8.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rmp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i1l6dhv7vws5vp0ikakj44fk597xi59g3j6ng1q55x3dz0xg3i2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-paste" ,rust-paste-1))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/3Hren/msgpack-rust")
    (synopsis "Pure Rust MessagePack serialization implementation")
    (description
     "RMP is a pure Rust MessagePack implementation of an efficient binary
serialization format.  This crate provides low-level core functionality,
writers and readers for primitive values with direct mapping between binary
MessagePack format.")
    (license license:expat)))

(define-public rust-rmp-serde-1
  (package
    (name "rust-rmp-serde")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rmp-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nylmh7w2vpa1bwrnx1jfp2l4yz6i5qrmpic5zll166gfyj9kraj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `rmpv`
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rmp" ,rust-rmp-0.8)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11))))
    (home-page "https://github.com/3Hren/msgpack-rust")
    (synopsis "Serde bindings for RMP")
    (description "This crate provides Serde bindings for RMP.")
    (license license:expat)))

(define-public rust-rmp-serde-0.15
  (package
    (inherit rust-rmp-serde-1)
    (name "rust-rmp-serde")
    (version "0.15.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rmp-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "178f4qlicldm9iy74q4wdqldk5i11p1ad30wzs9avx04mpwwygkj"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rmp" ,rust-rmp-0.8)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-rmp-serde-0.13
  (package
    (name "rust-rmp-serde")
    (version "0.13.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rmp-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lqclnffx1b3r1faicscmk9j21mijl9bj7ywgjps77vf8ic1s7h1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rmp" ,rust-rmp-0.8)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/3Hren/msgpack-rust")
    (synopsis "Serde bindings for RMP")
    (description "This crate provides Serde bindings for RMP.")
    (license license:expat)))

(define-public rust-rmpv-1
  (package
   (name "rust-rmpv")
   (version "1.3.0")
   (source
    (origin
     (method url-fetch)
     (uri (crate-uri "rmpv" version))
     (file-name (string-append name "-" version ".tar.gz"))
     (sha256
      (base32 "1adjigqyrzbv71s18qz3sa77zqggqip0p8j4rrrk5scyrlihfiaq"))))
   (build-system cargo-build-system)
   (arguments
    `(#:cargo-inputs
      (("rust-num-traits" ,rust-num-traits-0.2)
       ("rust-rmp" ,rust-rmp-0.8)
       ("rust-serde" ,rust-serde-1)
       ("rust-serde-bytes" ,rust-serde-bytes-0.11))
      #:cargo-development-inputs
      (("rust-quickcheck" ,rust-quickcheck-1))))
   (home-page "https://github.com/3Hren/msgpack-rust")
   (synopsis "Value variant for @code{rust-rmp}")
   (description "This create provides a value variant for @code{rust-rmp}.")
   (license license:expat)))

(define-public rust-roadmap-0.7
  (package
    (name "rust-roadmap")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "roadmap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xwzxsh3qk5mg7yfsjxjm6x68adp5c8szv7dznzf9irla5f7fjgc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-marked-yaml" ,rust-marked-yaml-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-textwrap" ,rust-textwrap-0.16)
                       ("rust-thiserror" ,rust-thiserror-2))))
    (home-page "https://gitlab.com/larswirzenius/roadmap")
    (synopsis "Model a project roadmap as a directed acyclic graph")
    (description "Model a project roadmap as a directed acyclic graph.")
    (license license:expat-0)))

(define-public rust-roaring-0.10
  (package
    (name "rust-roaring")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "roaring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wcgprdw49xy7w00zzspbhrq8f1kvlwqasmfxh8y1gd84vlba3zg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-retain-mut" ,rust-retain-mut-0.1.7)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-proptest" ,rust-proptest-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/RoaringBitmap/roaring-rs")
    (synopsis "Better compressed bitset as a pure Rust implementation")
    (description
     "This package provides a better compressed bitset, as a pure Rust
implementation.")
    (license (list license:expat license:asl2.0))))

(define-public rust-roff-0.2
  (package
    (name "rust-roff")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "roff" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05j324x84xkgp848smhnknnlpl70833xb9lalqg4n2ga6k8dhcxq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-duct" ,rust-duct-0.13)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://github.com/rust-cli/roff-rs")
    (synopsis "ROFF (man page format) generation library")
    (description "ROFF (man page format) generation library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-romio-0.3
  (package
    (name "rust-romio")
    (version "0.3.0-alpha.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "romio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0arxxgdp7j2y1nxd0a94qmkspyv92hyaz8lbirvf77f6qm0298vb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-async-datagram" ,rust-async-datagram-3)
        ("rust-async-ready" ,rust-async-ready-3)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
        ("rust-futures-preview" ,rust-futures-preview-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-parking-lot" ,rust-parking-lot-0.9)
        ("rust-slab" ,rust-slab-0.4))))
    (home-page "https://github.com/withoutboats/romio")
    (synopsis "Asynchronous networking primitives")
    (description
     "This package provides event loop and I/O resources for asynchronous
network services using futures.")
    (license license:expat)))

(define-public rust-ron-0.8
  (package
    (name "rust-ron")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ron" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "154w53s895yxdfg7rn87c6f6x4yncc535x1x31zpcj7p0pzpw7xr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-base64" ,rust-base64-0.21)
        ("rust-bitflags" ,rust-bitflags-2)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-option-set" ,rust-option-set-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/ron-rs/ron")
    (synopsis "Rusty Object Notation")
    (description "This package provides Rusty Object Notation (RON).")
    (license (list license:expat license:asl2.0))))

(define-public rust-ron-0.7
  (package
    (inherit rust-ron-0.8)
    (name "rust-ron")
    (version "0.7.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ron" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "06iz51r6pyi197jjpfddq8h8884y85myaswfan07cnqylqwkj1w8"))))
    (arguments
     `(#:tests? #f          ; Cannot find bitflags_serial.
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-option-set" ,rust-option-set-0.1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-ron-0.6
  (package
    (inherit rust-ron-0.7)
    (name "rust-ron")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ron" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07vzhbrnimz1lij0f280y624j4yzipn2404jmygs24mp7xhshkh6"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.13)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-ron-0.5
  (package
    (inherit rust-ron-0.6)
    (name "rust-ron")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ron" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256 (base32 "1mb2bavvp8jg5wx0kx9n45anrsbjwhjzddim987bjaa11hg45kif"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=test_nul_in_string")
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.10)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-bytes" ,rust-serde-bytes-0.10)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-ron-0.4
  (package
    (inherit rust-ron-0.5)
    (name "rust-ron")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ron" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13ypx80ac1minrmn9w9sgnbxlknwiv7qhx5n50azh0s484j2mx8p"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.10)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (;("rust-serde-bytes" ,rust-serde-bytes-0.10)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-ropey-1
  (package
    (name "rust-ropey")
    (version "1.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ropey" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dckf3likfi1my2ilqwhq2ifsm9iq8cayg6ws7fpa6nd1d11whck"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-smallvec" ,rust-smallvec-1)
        ("rust-str-indices" ,rust-str-indices-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
    (home-page "https://github.com/cessen/ropey")
    (synopsis "Fast and robust text rope for Rust")
    (description
     "Ropey is a UTF-8 text rope for Rust, designed to be the backing
text-buffer for applications such as text editors.  Ropey is fast, robust, and
can handle huge texts and memory-incoherent edits with ease.")
    (license license:expat)))

(define-public rust-roxmltree-0.20
  (package
    (name "rust-roxmltree")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "roxmltree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15vw91ps91wkmmgy62khf9zb63bdinvm80957dascbsw7dwvc83c"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RazrFalcon/roxmltree")
    (synopsis "Represent an XML as a read-only tree")
    (description
     "@code{roxmltree} represents an XML 1.0 document as a read-only tree.")
    (license (list license:expat license:asl2.0))))

(define-public rust-roxmltree-0.19
  (package
    (inherit rust-roxmltree-0.20)
    (name "rust-roxmltree")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "roxmltree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zs0q8hg5nnh91s1ib6r0fky7xm8ay63ayfa5i1afxxpwgalzl9w"))))))

(define-public rust-roxmltree-0.18
  (package
    (inherit rust-roxmltree-0.19)
    (name "rust-roxmltree")
    (version "0.18.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "roxmltree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00mkd2xyrxm8ap39sxpkhzdzfn2m98q3zicf6wd2f6yfa7il08w6"))))
    (arguments
     `(#:cargo-inputs (("rust-xmlparser" ,rust-xmlparser-0.13))))))

(define-public rust-rpassword-7
  (package
    (name "rust-rpassword")
    (version "7.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rpassword" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "08l3jbjwpsj6awm4lacm2bcj3cn9jhy4j6q21n68k49lmdiwyy36"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rtoolbox" ,rust-rtoolbox-0.0.1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/conradkleinespel/rpassword")
    (synopsis "Read passwords in Rust console applications")
    (description "This package provides a crate for reading passwords in
console applications.")
    (license license:asl2.0)))

(define-public rust-rpassword-6
  (package
    (inherit rust-rpassword-7)
    (name "rust-rpassword")
    (version "6.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rpassword" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0mnrpxvai78mn9wqkqx8wp1gd280jjhn29ixd1dm84l6i2hrkw1b"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-rpassword-5
  (package
    (inherit rust-rpassword-6)
    (name "rust-rpassword")
    (version "5.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rpassword" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yry1kmgjcb4qd5wak91203493x42ak3dz9hy1c0r9kyib7kdjgz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-rpds-1
  (package
    (name "rust-rpds")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rpds" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "194hjbsicmgqi3dyllqrz09mmhh597m2j9l49lr16cyfscambqd0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-archery" ,rust-archery-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/orium/rpds")
    (synopsis "Persistent data structures with structural sharing")
    (description "This package provides support for fully persistent data
structures with structural sharing.")
    (license license:mpl2.0)))

(define-public rust-rpm-pkg-count-0.2
  (package
    (name "rust-rpm-pkg-count")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rpm-pkg-count" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jzh63l7k30l37s5gd2m2hvh8slzjaxw54s4xpcjnaqb8xfsq0sa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:features '("runtime")
       #:cargo-test-flags '("--features" "runtime")
       #:cargo-inputs (("rust-libloading" ,rust-libloading-0.8)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/RubixDev/rpm-pkg-count")
    (synopsis "Count installed RPM packages using librpm")
    (description
     "This package counts installed RPM packages using librpm.")
    (license license:gpl3)))

(define-public rust-rspec-1
  (package
    (name "rust-rspec")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rspec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02hfwxqjdc39ygnjysvn5qz343fahmwm16rxvxayh403d5y9wf49"))
       (patches (search-patches "rust-rspec-1-remove-clippy.patch"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-colored" ,rust-colored-2)
        ("rust-derive-new" ,rust-derive-new-0.5)
        ("rust-derive-builder" ,rust-derive-builder-0.9)
        ("rust-expectest" ,rust-expectest-0.12)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-time" ,rust-time-0.2))))
    (home-page "https://github.com/rust-rspec/rspec")
    (synopsis "Write Rspec-like tests with stable rust")
    (description "This package helps writing Rspec-like tests with stable
rust.")
    (license license:mpl2.0)))

(define-public rust-rspec-1.0.0-beta.3
  (package
    (inherit rust-rspec-1)
    (name "rust-rspec")
    (version "1.0.0-beta.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rspec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qkafvyg3r3h4ffhb7bhzq54mxxbirn2hk693wxdv5zhdjx68a99"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   (("clippy.*") ""))))))
    (arguments `())))

(define-public rust-rspotify-0.11
  (package
    (name "rust-rspotify")
    (version "0.11.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rspotify" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0jxpdiic1550h13j8gaqk1g3xlv3b7p7dzyjrf6xx6j8hzh74kjw"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-async-stream" ,rust-async-stream-0.3)
             ("rust-async-trait" ,rust-async-trait-0.1)
             ("rust-base64" ,rust-base64-0.20)
             ("rust-chrono" ,rust-chrono-0.4)
             ("rust-dotenv" ,rust-dotenv-0.15)
             ("rust-futures" ,rust-futures-0.3)
             ("rust-getrandom" ,rust-getrandom-0.2)
             ("rust-log" ,rust-log-0.4)
             ("rust-maybe-async" ,rust-maybe-async-0.2)
             ("rust-rspotify-http" ,rust-rspotify-http-0.11)
             ("rust-rspotify-macros" ,rust-rspotify-macros-0.11)
             ("rust-rspotify-model" ,rust-rspotify-model-0.11)
             ("rust-serde" ,rust-serde-1)
             ("rust-serde-json" ,rust-serde-json-1)
             ("rust-sha2" ,rust-sha2-0.10)
             ("rust-thiserror" ,rust-thiserror-1)
             ("rust-url" ,rust-url-2)
             ("rust-webbrowser" ,rust-webbrowser-0.8))
           #:cargo-development-inputs
           `(("rust-env-logger" ,rust-env-logger-0.10)
             ("rust-futures-util" ,rust-futures-util-0.3)
             ("rust-tokio" ,rust-tokio-1))
           #:phases
           #~(modify-phases %standard-phases
               (add-before 'check 'pre-check
                 ;; This test requires RSPOTIFY_CLIENT_ID and RSPOTIFY_CLIENT_SECRET
                 (lambda _
                   (delete-file "tests/test_with_credential.rs"))))))
    (native-inputs (list pkg-config openssl))
    (home-page "https://github.com/ramsayleung/rspotify")
    (synopsis "Spotify API wrapper")
    (description "This package provides a wrapper API for the Spotify
streaming service.")
    (license license:expat)))

(define-public rust-rspotify-http-0.11
  (package
    (name "rust-rspotify-http")
    (version "0.11.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rspotify-http" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1a1xdvnlksb0gbkyrw9q4l7fyy8ba0mfsjs71qv2r6bbpadij0d8"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-async-trait" ,rust-async-trait-0.1)
             ("rust-log" ,rust-log-0.4)
             ("rust-maybe-async" ,rust-maybe-async-0.2)
             ("rust-reqwest" ,rust-reqwest-0.11)
             ("rust-serde-json" ,rust-serde-json-1)
             ("rust-thiserror" ,rust-thiserror-1)
             ("rust-ureq" ,rust-ureq-2))
           #:cargo-development-inputs
           `(("rust-rspotify-model" ,rust-rspotify-model-0.11)
             ("rust-tokio" ,rust-tokio-1))))
    (native-inputs (list pkg-config openssl))
    (home-page "https://github.com/ramsayleung/rspotify")
    (synopsis "HTTP compatibility layer for RSpotify")
    (description "RSpotify is a wrapper for the Spotify Web API.  This
package contains a HTTP compatibility layer for RSpotify.")
    (license license:expat)))

(define-public rust-rspotify-macros-0.11
  (package
    (name "rust-rspotify-macros")
    (version "0.11.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rspotify-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "00zjxnbhljak54bf5q1h09487bh7sza3mqsxk21x43q7pw5jlrkg"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-development-inputs
           `(("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/ramsayleung/rspotify")
    (synopsis "Macros for RSpotify")
    (description "RSpotify is a wrapper for the Spotify Web API.  This crate
contains Macros for RSpotify.")
    (license license:expat)))

(define-public rust-rspotify-model-0.11
  (package
    (name "rust-rspotify-model")
    (version "0.11.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rspotify-model" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1j0fy5n3f0gwq2qnn4qss0sx5kvbghfr8149jb0bp8azzvlg3gbg"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-chrono" ,rust-chrono-0.4)
             ("rust-enum-dispatch" ,rust-enum-dispatch-0.3)
             ("rust-serde" ,rust-serde-1)
             ("rust-serde-json" ,rust-serde-json-1)
             ("rust-strum" ,rust-strum-0.24)
             ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/ramsayleung/rspotify")
    (synopsis "API endpoint response model object for RSpotify")
    (description "RSpotify is a wrapper for the Spotify Web API.  This crate
contains the API endpoint response objects.")
    (license license:expat)))

(define-public rust-rstar-0.9
  (package
    (name "rust-rstar")
    (version "0.9.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rstar" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1yi5dbwayig107d3x7xmmx1yqxagnwl9qsg6cfy49aydbbz1n3xl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib")
       #:cargo-inputs
       (("rust-heapless" ,rust-heapless-0.7)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-rand-hc" ,rust-rand-hc-0.2)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/georust/rstar")
    (synopsis "R*-tree library for the rust ecosystem")
    (description
     "R*-tree library for the rust ecosystem.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rstar-0.8
  (package
    (inherit rust-rstar-0.9)
    (name "rust-rstar")
    (version "0.8.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rstar" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0z52954pcb8mvl4p0hq7ggpcbncspicg5ijmgvcy8dsdh3lc0i9s"))))
    (arguments
     `(#:cargo-inputs (("rust-heapless" ,rust-heapless-0.6)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-pdqselect" ,rust-pdqselect-0.1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3)
                                   ("rust-rand" ,rust-rand-0.7)
                                   ("rust-rand-hc" ,rust-rand-hc-0.2)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-rstest-0.23
  (package
    (name "rust-rstest")
    (version "0.23.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0d90hr3i2yajzgpzvsh6p2yjzmcb3nm8884xdbb5sswvwmdmhb0a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `rstest_test`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.23)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.22)
        ("rust-temp-testdir" ,rust-temp-testdir-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-unindent" ,rust-unindent-0.2))))
    (home-page "https://github.com/la10736/rstest")
    (synopsis "Rust fixture based test framework")
    (description
     "This package provides a Rust fixture based test framework.  It uses a
procedural macro to implement fixtures and table based tests.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rstest-0.22
  (package
    (inherit rust-rstest-0.23)
    (name "rust-rstest")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dlrn6y4z5xgsvf6ky3lrjwsxpvi13sizlkwnqs1gmmxc873yhkv"))))
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `rstest_test`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.22)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.21)
        ("rust-temp-testdir" ,rust-temp-testdir-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-unindent" ,rust-unindent-0.2))))))

(define-public rust-rstest-0.21
  (package
    (inherit rust-rstest-0.23)
    (name "rust-rstest")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10inb7hv1p42i981bf6705dakbgfbdgl2qaim4sf9mk9f2k5bzcs"))))
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `rstest_test`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.21)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs (("rust-actix-rt" ,rust-actix-rt-2)
                                   ("rust-async-std" ,rust-async-std-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-pretty-assertions" ,rust-pretty-assertions-1)
                                   ("rust-rstest" ,rust-rstest-0.20)
                                   ("rust-temp-testdir" ,rust-temp-testdir-0.2)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-unindent" ,rust-unindent-0.2))))))

(define-public rust-rstest-0.20
  (package
    (inherit rust-rstest-0.21)
    (name "rust-rstest")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w7nkivvbvz2nvlr926w2pc6sfdcq3ki35gplsb88pwcjm8ry197"))))
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `rstest_test`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.20)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs (("rust-actix-rt" ,rust-actix-rt-2)
                                   ("rust-async-std" ,rust-async-std-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-pretty-assertions" ,rust-pretty-assertions-1)
                                   ("rust-rstest" ,rust-rstest-0.19)
                                   ("rust-temp-testdir" ,rust-temp-testdir-0.2)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-unindent" ,rust-unindent-0.2))))))

(define-public rust-rstest-0.19
  (package
    (inherit rust-rstest-0.21)
    (name "rust-rstest")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c43nsxpm1b74jxc73xwg94is6bwqvfzkrr1xbqyx7j7l791clwx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; no method named `set_default_timeout`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.19)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs (("rust-actix-rt" ,rust-actix-rt-2)
                                   ("rust-async-std" ,rust-async-std-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-pretty-assertions" ,rust-pretty-assertions-1)
                                   ("rust-rstest" ,rust-rstest-0.18)
                                   ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
                                   ("rust-rstest-test" ,rust-rstest-test-0.11)
                                   ("rust-temp-testdir" ,rust-temp-testdir-0.2)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-unindent" ,rust-unindent-0.2))))))

(define-public rust-rstest-0.18
  (package
    (inherit rust-rstest-0.21)
    (name "rust-rstest")
    (version "0.18.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1681ncnlzhc8894idm3pqf40nndn4k4kcp0kpv29n68a7hpspvlp"))))
    (arguments
     `(#:tests? #f  ; no method named `set_default_timeout`
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.18)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs (("rust-actix-rt" ,rust-actix-rt-2)
                                   ("rust-async-std" ,rust-async-std-1)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-pretty-assertions" ,rust-pretty-assertions-1)
                                   ("rust-rstest" ,rust-rstest-0.18)
                                   ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
                                   ("rust-rstest-test" ,rust-rstest-test-0.11)
                                   ("rust-temp-testdir" ,rust-temp-testdir-0.2)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-unindent" ,rust-unindent-0.2))))))

(define-public rust-rstest-0.17
  (package
    (inherit rust-rstest-0.18)
    (name "rust-rstest")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qnrx40c05ziz2sxhrj0i4pamvlip8cx7w62439qr1wils3b86yy"))))
    (arguments
     `(#:skip-build? #t ; requires rust-artix-rt@2.7.0
       #:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-timer" ,rust-futures-timer-3)
                       ("rust-rstest-macros" ,rust-rstest-macros-0.17)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))))))

(define-public rust-rstest-0.16
  (package
    (inherit rust-rstest-0.17)
    (name "rust-rstest")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pqfpj727hkn4rr7nspnaab0h74gl9yxqlb53vn9h8a7dhbjszxh"))))
    (arguments
     `(#:tests? #f  ; integration tests fail
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-rstest-macros" ,rust-rstest-macros-0.16)
        ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.13)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.4)
        ("rust-rstest-test" ,rust-rstest-test-0.9)
        ("rust-temp-testdir" ,rust-temp-testdir-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-unindent" ,rust-unindent-0.1))))))

(define-public rust-rstest-0.15
  (package
    (inherit rust-rstest-0.17)
    (name "rust-rstest")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rstest" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0c5r8wimr2fv3x25dbb99rk165lzcsz6jlpv7xk2ny99rikdrjg9"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-futures" ,rust-futures-0.3)
             ("rust-futures-timer" ,rust-futures-timer-3)
             ("rust-rstest-macros" ,rust-rstest-macros-0.14)
             ("rust-rustc-version" ,rust-rustc-version-0.3))))))

(define-public rust-rstest-0.13
  (package
    (inherit rust-rstest-0.15)
    (name "rust-rstest")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p04kbsvk2xna7fk5657p0zi76qrcglrxkw33ay147fbjdgjjfdr"))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-timer" ,rust-futures-timer-3)
        ("rust-rstest-macros" ,rust-rstest-macros-0.13)
        ("rust-rustc-version" ,rust-rustc-version-0.4))))))

(define-public rust-rstest-0.12
  (package
    (inherit rust-rstest-0.15)
    (name "rust-rstest")
    (version "0.12.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rstest" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0vv11n0wiqm70lyjc1byl22sqd1z1cpaq49yxrk9myd3ar8z64nr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-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))))))

(define-public rust-rstest-0.11
  (package
    (inherit rust-rstest-0.15)
    (name "rust-rstest")
    (version "0.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rstest" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "02nh4kpfg1j4v95fhc0bxx9ak3wnz5jg70f94z92wfzyx9mcd212"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-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))))))

(define-public rust-rstest-macros-0.23
  (package
    (name "rust-rstest-macros")
    (version "0.23.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nmdm7a4ysihnh0zz6w6gqrmw205zfp7xqkb2id3858vg20afpl2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `rstest`
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-relative-path" ,rust-relative-path-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.22))))
    (home-page "https://github.com/la10736/rstest")
    (synopsis "Procedural macros for @code{rstest}.")
    (description
     "This package provides the procedural macro crate for @code{rstest}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rstest-macros-0.22
  (package
    (inherit rust-rstest-macros-0.23)
    (name "rust-rstest-macros")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hiba8l3d20ajkifd3kz5rzzpxsy311ca4c4ll94pxqlglg73qf5"))))
    (arguments
     `(#:tests? #f      ; unresolved import `rstest`
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-relative-path" ,rust-relative-path-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.21))))))

(define-public rust-rstest-macros-0.21
  (package
    (inherit rust-rstest-macros-0.23)
    (name "rust-rstest-macros")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13brqq64wp8gjaiq1d7g8jbzcwdwpwy0swpcilfx97d3b6pdyra1"))))
    (arguments
     `(#:tests? #f      ; unresolved import `rstest`
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-relative-path" ,rust-relative-path-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-rstest-macros-0.20
  (package
    (inherit rust-rstest-macros-0.21)
    (name "rust-rstest-macros")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fmgmwkd95ljsm6czad4fgbpnn1zlik7gbd6lwz0nk0hvxj2s4z6"))))
    (arguments
     `(#:tests? #f      ; unresolved import `rstest`
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-relative-path" ,rust-relative-path-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1))))))

(define-public rust-rstest-macros-0.19
  (package
    (inherit rust-rstest-macros-0.21)
    (name "rust-rstest-macros")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09ackagv8kc2v4xy0s7blyg4agij9bz9pbb31l5h4rqzrirdza84"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--" "--skip=rstest")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-relative-path" ,rust-relative-path-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.18)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
        ("rust-rstest-test" ,rust-rstest-test-0.11))))))

(define-public rust-rstest-macros-0.18
  (package
    (inherit rust-rstest-macros-0.21)
    (name "rust-rstest-macros")
    (version "0.18.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01g6rg60snmscipc9xiili7nsn0v25sv64713gp99y2jg0jgha6l"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=rstest")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-relative-path" ,rust-relative-path-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-maplit" ,rust-maplit-1)
        ("rust-pretty-assertions"  ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.18)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
        ("rust-rstest-test" ,rust-rstest-test-0.11))))
    (home-page "https://github.com/la10736/rstest")
    (synopsis "Procedural macros for @code{rstest}")
    (description
     "This package provides the procedural macro crate for @code{rstest}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rstest-macros-0.17
  (package
    (inherit rust-rstest-macros-0.18)
    (name "rust-rstest-macros")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a7w30h0g88v40p938skcbngsm6x6pf49gc369ydnznar2hs2319"))))
    (arguments
     `(#:skip-build? #t ; requires rust-artix-rt@2.7.0
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-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-unicode-ident" ,rust-unicode-ident-1))))))

(define-public rust-rstest-macros-0.16
  (package
    (inherit rust-rstest-macros-0.17)
    (name "rust-rstest-macros")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xzrgwjih87myghqzm9ncqm0449y2sf4migz6x7yc1h7mq2vaabj"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=rstest (line 740)"
                            "--skip=rstest (line 764)")
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-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-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-actix-rt" ,rust-actix-rt-2)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rstest" ,rust-rstest-0.15)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.4)
        ("rust-rstest-test" ,rust-rstest-test-0.9))))))

(define-public rust-rstest-macros-0.14
  (package
    (inherit rust-rstest-macros-0.17)
    (name "rust-rstest-macros")
    (version "0.14.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rstest_macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0rlwp3r1dg3fl4f100wjd3ya7dhs23vpyqgf7vg5mac50s5fc5ah"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-cfg-if" ,rust-cfg-if-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))))))

(define-public rust-rstest-macros-0.13
  (package
    (inherit rust-rstest-macros-0.14)
    (name "rust-rstest-macros")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05k1q6jij3v3iapxcr83m92ygsvnv33qx4j0jfjjny13h62bm2pp"))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-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))))))

(define-public rust-rstest-reuse-0.6
  (package
    (name "rust-rstest-reuse")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_reuse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "191l5gfwx9rmkqd48s85fkh21b73f38838fc896r4rxy39l0nlw8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests expect rustup
       #:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-rstest" ,rust-rstest-0.18)
                                   ("rust-rstest-test" ,rust-rstest-test-0.11)
                                   ("rust-temp-testdir" ,rust-temp-testdir-0.2))))
    (home-page "https://github.com/la10736/rstest")
    (synopsis "Reuse rstest attributes")
    (description
     "This package provides a Rust library for reusing rstest attributes by
creating a set of tests and applying it to every scenario you want to test.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rstest-reuse-0.4
  (package
    (inherit rust-rstest-reuse-0.6)
    (name "rust-rstest-reuse")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rstest_reuse" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "05zcs22fbvv7q50p2xs6w13lqbcklddnj2dm1mz1wi2pak9sxdgr"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-quote" ,rust-quote-1)
             ("rust-rustc-version" ,rust-rustc-version-0.4)
             ("rust-syn" ,rust-syn-1))))))

(define-public rust-rstest-reuse-0.3
  (package
    (inherit rust-rstest-reuse-0.4)
    (name "rust-rstest-reuse")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rstest_reuse" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0k9xdqp0gw655g9l46ii0kyv64dschnf2z7vs43s6zp2phbk37dj"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-quote" ,rust-quote-1)
             ("rust-rustc-version" ,rust-rustc-version-0.4)
             ("rust-syn" ,rust-syn-1))))))

(define-public rust-rstest-test-0.11
  (package
    (name "rust-rstest-test")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16z1525ww9n1x94mvvgd6zcpxc2pzlf1r031kryk383lgd3wgi9p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests expect rustup
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-toml-edit" ,rust-toml-edit-0.19))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rstest" ,rust-rstest-0.16)
        ("rust-temp-testdir" ,rust-temp-testdir-0.2))))
    (home-page "https://github.com/la10736/rstest")
    (synopsis "Provides some utilities used to write rstest crate's tests")
    (description
     "This package provides some utilities used to write the rstest crate's
tests.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rstest-test-0.9
  (package
    (inherit rust-rstest-test-0.11)
    (name "rust-rstest-test")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rstest_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bdy2pni88vh6m2w2mk0wj5hsgka4yslwv472wyfk6794ilgl203"))))
    (arguments
     `(#:tests? #f      ; Tests expect rustup
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-toml-edit" ,rust-toml-edit-0.15))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rstest" ,rust-rstest-0.15)
        ("rust-temp-testdir" ,rust-temp-testdir-0.2))))))

(define-public rust-rt-format-0.3
  (package
    (name "rust-rt-format")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rt-format" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qjjwh9ny95xck1kp99gi6hfm9glrx54jx8npnj6yccxc7p7q225"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/vstojkovic/rt-format")
    (synopsis "Runtime equivalent of the Rust format! macro")
    (description "This package provides a runtime equivalent of the Rust
format! macro. It allows formatting strings like the format! macro, with the
formatting string and the arguments provided at runtime.  This crate supports
all the formatting features of the format! macro, except for the fill
character.")
    (license license:asl2.0)))

(define-public rust-rtnetlink-0.14
  (package
    (name "rust-rtnetlink")
    (version "0.14.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rtnetlink" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19dbbky7bcrwk4jhgam148s8ykxc7pfrblxjvmciipyq8i9lg15n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=link::test::create_get_delete_macvlan"
                            "--skip=link::test::create_get_delete_wg"
                            "--skip=traffic_control::add_filter::test::test_new_filter"
                            "--skip=traffic_control::add_qdisc::test::test_new_qdisc")
       #:cargo-inputs (("rust-async-global-executor" ,rust-async-global-executor-2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
                       ("rust-netlink-packet-route" ,rust-netlink-packet-route-0.19)
                       ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
                       ("rust-netlink-proto" ,rust-netlink-proto-0.11)
                       ("rust-netlink-sys" ,rust-netlink-sys-0.8)
                       ("rust-nix" ,rust-nix-0.27)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-async-std" ,rust-async-std-1)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-ipnetwork" ,rust-ipnetwork-0.18)
                                   ("rust-macaddr" ,rust-macaddr-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-netlink/rtnetlink")
    (synopsis "Manipulate linux networking resources via netlink")
    (description "This crate provides methods to manipulate networking
resources (links, addresses, arp tables, route tables) via the netlink route
protocol.")
    (license license:expat)))

(define-public rust-rtoolbox-0.0.1
  (package
    (name "rust-rtoolbox")
    (version "0.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rtoolbox" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0jjjngwn1fa39kschc8zb4hynp4b0jdind7z225cph7m2k2j4kh3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "")
    (synopsis "Utility functions for other crates")
    (description
     "This package provides utility functions for other crates with no
backwards compatibility guarantees.")
    (license license:asl2.0)))

(define-public rust-rug-1
  (package
    (name "rust-rug")
    (version "1.18.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rug" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1f81id6y3vljys0nvl9mimhm0kh8z0vxnrh2ki1x2838mddklcam"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-az" ,rust-az-1)
        ("rust-gmp-mpfr-sys" ,rust-gmp-mpfr-sys-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (inputs
     (list gmp mpc mpfr))
    (home-page "https://gitlab.com/tspiteri/rug")
    (synopsis
      "Arbitrary-precision integers, rational, floating-point and complex numbers")
    (description "This is a Rust library of arbitrary-precision integers, rational,
floating-point, and complex numbers based on GMP, MPFR and MPC.")
    (license license:lgpl3+)))

(define-public rust-run-script-0.10
  (package
    (name "rust-run-script")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "run_script" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ix9kf1b3h5vmdadpv7rfxylmj8mphlbx0xgv6frhy4dqpyri7w2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fsio" ,rust-fsio-0.4))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "http://github.com/sagiegurari/run_script")
    (synopsis "Run shell scripts in Rust")
    (description "This library enables to invoke shell scripts based on their
content.  While @code{std::process::Command} works great to execute standalone
command, you need more manual code to take a script text and execute it.  For
this purpose, this library was created.")
    (license license:asl2.0)))

(define-public rust-runtime-0.3
  (package
    (name "rust-runtime")
    (version "0.3.0-alpha.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "runtime" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04aj2jslnndwhhbvp9ysdgh98vfy6lk6f0rzqsan5wlfpd70nzc3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-preview" ,rust-futures-preview-0.3)
        ("rust-pin-project" ,rust-pin-project-0.4)
        ("rust-runtime-attributes" ,rust-runtime-attributes-0.3)
        ("rust-runtime-native" ,rust-runtime-native-0.3)
        ("rust-runtime-raw" ,rust-runtime-raw-0.3))
       #:cargo-development-inputs
       (("rust-failure" ,rust-failure-0.1)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-futures-preview" ,rust-futures-preview-0.3)
        ("rust-juliex" ,rust-juliex-0.3)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-runtime-tokio" ,rust-runtime-tokio-0.3)
        ("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://github.com/rustasync/runtime")
    (synopsis "Empowering everyone to build asynchronous software")
    (description
     "Runtime is an asynchronous library.

This package is deprecated.  If you're looking for an asynchronous runtime
please consider using @code{async-std} or @code{tokio}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-runtime-attributes-0.3
  (package
    (name "rust-runtime-attributes")
    (version "0.3.0-alpha.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "runtime-attributes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08n9sqpiwbjm7scyqz0xp57nggzb15rb0sydidw50lx0j0k9xn2n"))))
    (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))
       #:cargo-development-inputs
       (("rust-runtime-raw" ,rust-runtime-raw-0.3))))
    (home-page "https://github.com/rustasync/runtime")
    (synopsis "Proc Macro attributes for the Runtime crate")
    (description
     "This package Proc macro attributes for the Runtime crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-runtime-native-0.3
  (package
    (name "rust-runtime-native")
    (version "0.3.0-alpha.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "runtime-native" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h6cp6c3wr3rmix01mfxm5vy5d6xai60qap711ylv5dzr53a8rv8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-datagram" ,rust-async-datagram-3)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-futures-preview" ,rust-futures-preview-0.3)
        ("rust-futures-timer" ,rust-futures-timer-0.3)
        ("rust-juliex" ,rust-juliex-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-romio" ,rust-romio-0.3)
        ("rust-runtime-raw" ,rust-runtime-raw-0.3)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3))))
    (home-page "https://github.com/rustasync/runtime")
    (synopsis "Cross-platform asynchronous runtime")
    (description
     "This package provides a cross-platform asynchronous runtime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-runtime-raw-0.3
  (package
    (name "rust-runtime-raw")
    (version "0.3.0-alpha.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "runtime-raw" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k02nd0cg27s5ixflzsxqhil5rfzw4z3v0yvqbxzlhps90rq19y1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-preview" ,rust-futures-preview-0.3))))
    (home-page "https://github.com/rustasync/runtime")
    (synopsis "Traits to implement custom Runtimes")
    (description "This package provides traits to implement custom Runtimes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-runtime-tokio-0.3
  (package
    (name "rust-runtime-tokio")
    (version "0.3.0-alpha.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "runtime-tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mf5fyh164i4m5rj1j45hs7dwv1k4m1xckq0apa6y4c99gwzhq3a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures" ,rust-futures-0.1)
                       ("rust-futures-preview" ,rust-futures-preview-0.3)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-mio" ,rust-mio-0.6)
                       ("rust-runtime-raw" ,rust-runtime-raw-0.3)
                       ("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://github.com/rustasync/runtime")
    (synopsis "Tokio-based asynchronous runtime")
    (description "This package provides a Tokio-based asynchronous runtime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rusb-0.9
  (package
    (name "rust-rusb")
    (version "0.9.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusb" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1905rijhabvylblh24379229hjmkfhxr80jc79aqd9v3bgq9z7xb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-libusb1-sys" ,rust-libusb1-sys-0.7)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-regex" ,rust-regex-1)
                                   ("rust-usb-ids" ,rust-usb-ids-1))))
    (inputs (list libusb))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/a1ien/rusb")
    (synopsis "Library for accessing USB devices")
    (description
     "This package provides a Rust library for accessing USB devices.")
    (license license:expat)))

(define-public rust-rust-base58-0.0.4
  (package
    (name "rust-rust-base58")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-base58" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0fa4y2jjjmg1a0cr3gz4z8rkic0hx2vx5nm23za9lwf6rlgvj4xk"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Otherwise we get an error: no method named `gen_iter` found
           ;; for type `rand::prelude::ThreadRng`
           (substitute* "Cargo.toml"
             (("rand.*") "rand = \"<0.6\"\n"))
           #t))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num" ,rust-num-0.1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/nham/rust-base58")
    (synopsis
     "Simple library for converting to and from base-58 strings")
    (description
     "Convert to and from base-58 strings with a simple Rust api.
 Currently the conversion uses the Bitcoin base58 alphabet.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rust-decimal-1
  (package
    (name "rust-rust-decimal")
    (version "1.35.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rust_decimal" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ymlnlykg2k9cxxs6wcy41sz6xij6cbazq70k49j30faq32d340p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; not all test files included.
       #:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-borsh" ,rust-borsh-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-diesel" ,rust-diesel-1)
        ("rust-diesel" ,rust-diesel-2)
        ("rust-ndarray" ,rust-ndarray-0.15)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-postgres-types" ,rust-postgres-types-0.2)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-rocket" ,rust-rocket-0.5)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio-postgres" ,rust-tokio-postgres-0.7))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-csv" ,rust-csv-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-postgres" ,rust-postgres-0.19)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rust-decimal-macros" ,rust-rust-decimal-macros-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-postgres" ,rust-tokio-postgres-0.7)
        ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/paupino/rust-decimal")
    (synopsis "Decimal implementation suitable for financial calculations")
    (description
     "This package provides a decimal implementation written in pure Rust
suitable for financial calculations.")
    (license license:expat)))

(define-public rust-rust-decimal-macros-1
  (package
    (name "rust-rust-decimal-macros")
    (version "1.34.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust_decimal_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10kdmfm95z9yx3ypk3kfqjbvnr5dhfsg4md6wyayz6vji0ap0674"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-rust-decimal" ,rust-rust-decimal-1))
       #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/paupino/rust-decimal")
    (synopsis "Shorthand macros to assist creating Decimal types")
    (description "Shorthand macros to assist creating Decimal types.")
    (license license:expat)))

(define-public rust-rust-embed-8
  (package
    (name "rust-rust-embed")
    (version "8.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-embed" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h2k15ajsq9x70l11h61m4wlg8qias4mw4bg4yy7wpnx9x5ayrps"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=create_is_accurate"
                            "--skip=last_modified_is_accurate"
                            "--skip=RustEmbed")
       #:cargo-inputs (("rust-actix-web" ,rust-actix-web-4)
                       ("rust-axum" ,rust-axum-0.7)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-include-flate" ,rust-include-flate-0.3)
                       ("rust-mime-guess" ,rust-mime-guess-2)
                       ("rust-poem" ,rust-poem-1)
                       ("rust-rocket" ,rust-rocket-0.5)
                       ("rust-rust-embed-impl" ,rust-rust-embed-impl-8)
                       ("rust-rust-embed-utils" ,rust-rust-embed-utils-8)
                       ("rust-salvo" ,rust-salvo-0.16)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-warp" ,rust-warp-0.3))
       #:cargo-development-inputs (("rust-sha2" ,rust-sha2-0.10))))
    (home-page "https://github.com/pyrossh/rust-embed")
    (synopsis "Rust custom @code{Derive} macro")
    (description
     "This package provides a custom @code{Derive} macro which loads files
into the Rust binary at compile time during release and loads the file from
the file-system during development.")
    (license license:expat)))

(define-public rust-rust-embed-5
  (package
    (inherit rust-rust-embed-8)
    (name "rust-rust-embed")
    (version "5.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-embed" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08smnqn21vn5zaywfki391v2l9v30cs0446qzzhvjssxmimgxq9g"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=RustEmbed")
       #:cargo-inputs
       (("rust-actix-web" ,rust-actix-web-3)
        ("rust-include-flate" ,rust-include-flate-0.1)
        ("rust-mime-guess" ,rust-mime-guess-2)
        ("rust-rocket" ,rust-rocket-0.4)
        ("rust-rust-embed-impl" ,rust-rust-embed-impl-5)
        ("rust-rust-embed-utils" ,rust-rust-embed-utils-5)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-warp" ,rust-warp-0.2))))))

(define-public rust-rust-embed-impl-8
  (package
    (name "rust-rust-embed-impl")
    (version "8.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-embed-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y0lfrvpqnh98lngf6z6crjwkhp9yhvl2ac7xig14lbrhv4dn9b1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rust-embed-utils" ,rust-rust-embed-utils-8)
                       ("rust-shellexpand" ,rust-shellexpand-3)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/pyrossh/rust-embed")
    (synopsis "Rust custom @code{Derive} macro")
    (description
     "This package provides a custom @code{Derive} macro which loads files
into the Rust binary at compile time during release and loads the file from
the file-system during development.")
    (license license:expat)))

(define-public rust-rust-embed-impl-5
  (package
    (inherit rust-rust-embed-impl-8)
    (name "rust-rust-embed-impl")
    (version "5.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-embed-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rlykmykrpllkf4900wv2jfdmq3m5qqrqhw4fdlbzxrfqi0irn9y"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rust-embed-utils" ,rust-rust-embed-utils-5)
        ("rust-shellexpand" ,rust-shellexpand-2)
        ("rust-syn" ,rust-syn-1)
        ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-rust-embed-utils-8
  (package
    (name "rust-rust-embed-utils")
    (version "8.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-embed-utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17aj29y2xis2fhp4i1wyf0xqm6ljhn3z5qdh75hbbb4sgrvlflrf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-globset" ,rust-globset-0.4)
                       ("rust-mime-guess" ,rust-mime-guess-2)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/pyrossh/rust-embed")
    (synopsis "Utilities for @code{rust-embed}")
    (description "This package provides utilities for @code{rust-embed}.")
    (license license:expat)))

(define-public rust-rust-embed-utils-5
  (package
    (inherit rust-rust-embed-utils-8)
    (name "rust-rust-embed-utils")
    (version "5.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-embed-utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vc7492a6qlq7r899p7vyx5cwiqwkw2pf85mfw5anwr42ccj4l9a"))))
    (arguments
     `(#:cargo-inputs (("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-rust-hawktracer-0.7
  (package
    (name "rust-rust-hawktracer")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rust_hawktracer" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1h9an3b73pmhhpzc2kk93nh93lplkvsffysj0rp6rxi7p4lhlj73"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rust-hawktracer-normal-macro"
         ,rust-rust-hawktracer-normal-macro-0.4)
        ("rust-rust-hawktracer-proc-macro"
         ,rust-rust-hawktracer-proc-macro-0.4))))
    (home-page "https://github.com/AlexEne/rust_hawktracer")
    (synopsis "Rust bindings for hawktracer profiling library")
    (description
     "Rust bindings for hawktracer profiling library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rust-hawktracer-normal-macro-0.4
  (package
    (name "rust-rust-hawktracer-normal-macro")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rust_hawktracer_normal_macro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1sfjmipdbb5s498c150czr6wihjlkwwgla2jyg3cs7cyjich0mwa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rust-hawktracer-sys" ,rust-rust-hawktracer-sys-0.4))))
    (home-page "https://github.com/AlexEne/rust_hawktracer_normal_macro")
    (synopsis "Helper crate for hawktracer profiling library")
    (description
     "This package provides a helper crate for hawktracer profiling library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rust-hawktracer-proc-macro-0.4
  (package
    (name "rust-rust-hawktracer-proc-macro")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rust_hawktracer_proc_macro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1qfksscfv8rbbzv2zb0i9sbbqmig0dr0vrma3c1kzsfmpsynlqnb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rust-hawktracer-sys" ,rust-rust-hawktracer-sys-0.4))))
    (home-page "https://github.com/AlexEne/rust_hawktracer_proc_macro")
    (synopsis
     "Helper crate for hawktracer profiling library")
    (description
     "This package is a helper crate for hawktracer profiling library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rust-hawktracer-sys-0.4
  (package
    (name "rust-rust-hawktracer-sys")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rust_hawktracer_sys" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "15acrj881y2g7cwsgf1nr22cixrknp8m4x08dkx1an6zf4q8bk37"))
        (snippet
         #~(begin (use-modules (guix build utils))
                  (delete-file "pregenerated_bindings.rs")
                  ;; TODO: Unbundle hawktracer
                  (substitute* "Cargo.toml"
                    (("0\\.37\\.0") "0.56")
                    ;; Generate the bindings by default since we delete the
                    ;; pregenerated bindings.
                    (("\\[features\\]")
                     "[features]\ndefault = ['generate_bindings']"))
                  (substitute* "build.rs"
                    (("( +)\\.generate" _ space)
                     (string-append space ".size_t_is_usize(true)\n"
                                    space ".generate")))
                  (substitute* "hawktracer/CMakeLists.txt"
                    (("(ENABLE_DOC.*) ON" _ enable_doc)
                     (string-append enable_doc " OFF")))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cmake" ,rust-cmake-0.1)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-bindgen" ,rust-bindgen-0.56)
        ("rust-itertools" ,rust-itertools-0.8))))
    (native-inputs
     (list clang cmake-minimal))
    (home-page "https://github.com/AlexEne/rust_hawktracer_sys")
    (synopsis "Sys crate for the rust_hawktracer library")
    (description
     "This package provides a sys crate for the rust_hawktracer library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rust-htslib-0.38
  (package
    (name "rust-rust-htslib")
    (version "0.38.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rust-htslib" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "070sihnvyiyqcw8yjkdl8hvav598bsw36m722phgd2b394k6djia"))))
    (build-system cargo-build-system)
    (arguments
     ;; TODO: cannot find openssl_src
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bio-types" ,rust-bio-types-0.12)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-custom-derive" ,rust-custom-derive-0.1)
        ("rust-derive-new" ,rust-derive-new-0.5)
        ("rust-hts-sys" ,rust-hts-sys-2)
        ("rust-ieee754" ,rust-ieee754-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-linear-map" ,rust-linear-map-1)
        ("rust-newtype-derive" ,rust-newtype-derive-0.1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
    (inputs (list openssl))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/rust-bio/rust-htslib.git")
    (synopsis "HTSlib bindings and API for reading and writing BAM files")
    (description
     "This library provides HTSlib bindings and a high level Rust API for
reading and writing BAM files.")
    (license license:expat)))

(define-public rust-rust-ini-0.21
  (package
    (name "rust-rust-ini")
    (version "0.21.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-ini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17s0fmfba05i9cnfwfy02wp7mf5wkapis5x1d68vgvmnw7q0wcaf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-ordered-multimap" ,rust-ordered-multimap-0.7)
                       ("rust-trim-in-place" ,rust-trim-in-place-0.1)
                       ("rust-unicase" ,rust-unicase-2))))
    (home-page "https://github.com/zonyitoo/rust-ini")
    (synopsis "Ini configuration file parsing library in Rust")
    (description
     "This package provides An Ini configuration file parsing library in Rust.")
    (license license:expat)))

(define-public rust-rust-ini-0.20
  (package
    (inherit rust-rust-ini-0.21)
    (name "rust-rust-ini")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-ini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12h608iy8kzxdrd0i5r20pzmgnw5fwg4rjwy5azq526bdch9h1iy"))))
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-ordered-multimap" ,rust-ordered-multimap-0.7)
                       ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-rust-ini-0.18
  (package
    (inherit rust-rust-ini-0.21)
    (name "rust-rust-ini")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-ini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1px22l3m84v7f46pa3p4bsjykivw8ryq6af8kpkzdd16c11z5mgn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-ordered-multimap" ,rust-ordered-multimap-0.4)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-rust-ini-0.17
  (package
    (inherit rust-rust-ini-0.18)
    (name "rust-rust-ini")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-ini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08hfh6p2svznza3m07vavsc4c8x4g6d715sz58rzh73sm551qiv3"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-ordered-multimap" ,rust-ordered-multimap-0.3)
        ("rust-unicase" ,rust-unicase-2))))))

(define-public rust-rust-ini-0.13
  (package
    (inherit rust-rust-ini-0.17)
    (name "rust-rust-ini")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rust-ini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hifnbgaz01zja5995chy6vjacbif2m76nlxsisw7y1pxx4c2liy"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-rustc-demangle-0.1
  (package
    (name "rust-rustc-demangle")
    (version "0.1.24")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustc-demangle" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "07zysaafgrkzy2rjgwqdj2a8qdpsm6zv6f5pgpk9x0lm40z9b6vi"))))
    (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))))
    (home-page "https://github.com/alexcrichton/rustc-demangle")
    (synopsis "Rust compiler symbol demangling")
    (description
     "This package demanges the symbols from the Rust compiler.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rustc-demangle-capi-0.1
  (package
    (name "rust-rustc-demangle-capi")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc-demangle-capi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s2g4z1yrh1sxl4qkmpd19ss3x2lr9115vbir7pnhgy63r1d63yv"))))
    (build-system cargo-build-system)
    (arguments
     (list
      #:cargo-inputs `(("rust-rustc-demangle" ,rust-rustc-demangle-0.1))
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'install 'install-c-library
            (lambda _
              (install-file
               (car (find-files "." "^rustc_demangle\\.h$"))
               (string-append #$output "/include"))
              (install-file
               (car (find-files "." "^librustc_demangle.so$"))
               (string-append #$output "/lib")))))))
    (home-page "https://github.com/alexcrichton/rustc-demangle")
    (synopsis "C API for the @code{rustc-demangle} crate")
    (description "This package provides a C API library for the
@code{rustc-demangle} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustc-hash-2
  (package
    (name "rust-rustc-hash")
    (version "2.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustc-hash" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "15yln6fmqlbg0k35r748h8g9xsd637ri23xihq81jb03ncwq1yy7"))))
    (build-system cargo-build-system)
    (arguments `(#:cargo-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/rust-lang/rustc-hash")
    (synopsis "Speedy, non-cryptographic hash used in rustc")
    (description
     "This package provides a speedy, non-cryptographic hash used in rustc.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustc-hash-1
  (package
    (inherit rust-rustc-hash-2)
    (name "rust-rustc-hash")
    (version "1.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustc-hash" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-rustc-hex-2
  (package
    (name "rust-rustc-hex")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc-hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mkjy2vbn5kzg67wgngwddlk4snmd8mkjkql2dzrzzfh6ajzcx9y"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/debris/rustc-hex")
    (synopsis "@code{rustc-serialize} compatible hex conversion traits")
    (description "This Rust library provides @code{rustc-serialize} compatible
hex conversion traits.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustc-hex-1
  (package
    (inherit rust-rustc-hex-2)
    (name "rust-rustc-hex")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc-hex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07pff94vqc1mhrqp9i06xzayiad4xfx7588zkqsdw875lpkqrsqc"))))
    (arguments (list #:tests? #f))))    ; Test suite can't find the package itself.

(define-public rust-rustc-rayon-0.5
  (package
    (name "rust-rustc-rayon")
    (version "0.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rustc-rayon" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "040p2am25g3isnpsixrcrjrv70yz2lzkbq8gpv76xjipi3fam0gb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-either" ,rust-either-1)
        ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.5))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3))))
    (home-page "https://github.com/rust-lang/rustc-rayon")
    (synopsis "Simple work-stealing parallelism for Rust - fork for rustc")
    (description
     "Rustc-rayon is a fork of the Rayon crate.  It adds a few \"in progress\"
features that rustc is using, mostly around deadlock detection.  These features
are not stable and should not be used by others -- though they may find their
way into rayon proper at some point.  In general, if you are not rustc, you
should be using the real rayon crate, not rustc-rayon.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustc-rayon-0.4
  (package
    (inherit rust-rustc-rayon-0.5)
    (name "rust-rustc-rayon")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rustc-rayon" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ykjr1i56jmi8ykkcr7x555wnxki1vsi703mz6n2x7k0naqg0y8s"))))
    (arguments
     `(#:tests? #f                      ;XXX can not find rayon?
       #:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
        ("rust-either" ,rust-either-1)
        ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.4))
       #:cargo-development-inputs
       (("rust-docopt" ,rust-docopt-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-rustc-rayon-core-0.5
  (package
    (name "rust-rustc-rayon-core")
    (version "0.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rustc-rayon-core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0zqbr87x58j2g9rgm2lc0254b6yqabb41jvddw99qd8fy2m8srk7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-num-cpus" ,rust-num-cpus-1))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-scoped-tls" ,rust-scoped-tls-1))))
    (home-page "https://github.com/rust-lang/rustc-rayon")
    (synopsis "Core APIs for Rayon - fork for rustc")
    (description
     "Note: This package is an unstable fork made for use in rustc

Rayon-core represents the \"core, stable\" APIs of Rayon: join, scope, and so
forth, as well as the ability to create custom thread-pools with ThreadPool.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustc-rayon-core-0.4
  (package
    (inherit rust-rustc-rayon-core-0.5)
    (name "rust-rustc-rayon-core")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rustc-rayon-core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0c4cf58056ya3282c24bnyq39cwm1rd1m96lymfbb6yvl12929h2"))))
    (arguments
     `(#:tests? #f   ;XXX cannot find rayon_core?
       #:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-num-cpus" ,rust-num-cpus-1))
       #:cargo-development-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
        ("rust-scoped-tls" ,rust-scoped-tls-1))))))

(define-public rust-rustc-serialize-0.3
  (package
    (name "rust-rustc-serialize")
    (version "0.3.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc-serialize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00c494bsxjqjvc15h9x2nkgwl6bjdp9bmb9v0xs4ckv0h33lp0zy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; could not find `rustc_serialize` in the crate root
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.3))))
    (home-page "https://github.com/rust-lang/rustc-serialize")
    (synopsis "Generic serialization/deserialization support")
    (description
     "This package provides generic serialization/deserialization support
corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the
compiler.  Also includes support for hex, base64, and json encoding and
decoding.

This crate is deprecated in favor of serde.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustc-std-workspace-alloc-1
  (package
    (name "rust-rustc-std-workspace-alloc")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc-std-workspace-alloc" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "11psmqk6glglxl3zwh8slz6iynfxaifh4spd2wcnws552dqdarpz"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://crates.io/crates/rustc-std-workspace-alloc")
    (synopsis "Rust workspace hack")
    (description "This package is a Rust workspace hack.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustc-std-workspace-core-1
  (package
    (name "rust-rustc-std-workspace-core")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustc-std-workspace-core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://crates.io/crates/rustc-std-workspace-core")
    (synopsis "Explicitly empty crate for rust-lang/rust integration")
    (description "This crate provides an explicitly empty crate for
rust-lang/rust integration.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-rustc-std-workspace-std-1
  (package
    (name "rust-rustc-std-workspace-std")
    (version "1.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustc-std-workspace-std" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1vq4vaclamwhk0alf4f7wq3i9wxa993sxpmhy6qfaimy1ai7d9mb"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://crates.io/crates/rustc-std-workspace-std")
    (synopsis "Workaround for rustbuild")
    (description "This package provides a workaround for rustbuild.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustc-test-0.3
  (package
    (name "rust-rustc-test")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fsr9rnlsch5gygxhz0mq3d02vzrrf0jgbwcihhaz0xfn1kpkk5a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Name collision with the rust compiler.
       #:cargo-inputs
       (("rust-getopts" ,rust-getopts-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-term" ,rust-term-0.4)
        ("rust-time" ,rust-time-0.1))))
    (home-page "https://github.com/servo/rustc-test")
    (synopsis "Fork of Rust's test crate")
    (description
     "This package provides a fork of Rust's test crate that doesn't
require unstable language features.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustc-version-0.4
  (package
    (name "rust-rustc-version")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc_version" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14lvdsmr5si5qbqzrajgb6vfn69k0sfygrvfvr2mps26xwi3mjyg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-semver" ,rust-semver-1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/djc/rustc-version-rs")
    (synopsis "Library for querying the version of an installed rustc compiler")
    (description
     "This package provides a library for querying the version of an installed
rustc compiler.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustc-version-0.3
  (package
    (inherit rust-rustc-version-0.4)
    (name "rust-rustc-version")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc_version" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-semver" ,rust-semver-0.11))))))

(define-public rust-rustc-version-0.2
  (package
    (inherit rust-rustc-version-0.3)
    (name "rust-rustc-version")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc_version" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-semver" ,rust-semver-0.9))))))

(define-public rust-rustc-version-0.1
  (package
    (inherit rust-rustc-version-0.3)
    (name "rust-rustc-version")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustc_version" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1160jjsqhqr25cvhr48hmpp8v61bjvjcnxzb0cyf4373lmp3gxf5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-semver" ,rust-semver-0.1))))))

(define-public rust-rustdct-0.7
  (package
    (name "rust-rustdct")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustdct" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lcm1191xx8wizima5j3n25fs90x58v3q1kwg6cbzafn0m8maqcb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rustfft" ,rust-rustfft-6))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/ejmahler/rust_dct")
    (synopsis "Compute Discrete Cosine Transforms (DCT) in pure Rust")
    (description
     "This package provides a Rust library to compute the main Discrete Cosine
Transforms (DCT) of any size in O(nlogn) time.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustdoc-json-0.8
  (package
    (name "rust-rustdoc-json")
    (version "0.8.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustdoc-json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "120k214xy255pfvizb6xlks0yv7psgjr3nh6l9xj9bgdfis747m2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-cargo-manifest" ,rust-cargo-manifest-0.13)
                       ("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-toml" ,rust-toml-0.8))
       #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2)
                                   ("rust-expect-test" ,rust-expect-test-1)
                                   ("rust-predicates" ,rust-predicates-3)
                                   ("rust-public-api" ,rust-public-api-0.33)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page
     "https://github.com/Enselic/cargo-public-api/tree/main/rustdoc-json")
    (synopsis "Utilities for working with rustdoc JSON")
    (description "Utilities for working with rustdoc JSON.")
    (license license:expat)))

(define-public rust-rustdoc-stripper-0.1
  (package
    (name "rust-rustdoc-stripper")
    (version "0.1.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustdoc-stripper" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "053041694rjfcs0c6nkfz164d67klmj66wkf8dwlcc7y75gf57wp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/GuillaumeGomez/rustdoc-stripper")
    (synopsis "Nanipulate rustdoc comments")
    (description
     "This package provides a tool to manipulate rustdoc comments.")
    (license license:asl2.0)))

(define-public rust-rustdoc-types-0.23
  (package
    (name "rust-rustdoc-types")
    (version "0.23.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustdoc-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "095jdf44p0b02xq0n9vx1qpnrfgdqkd8nsbmp61r0s4x0q4nyr6c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("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/aDotInTheVoid/rustdoc-types/")
    (synopsis "Types for rustdoc's json output")
    (description "Types for rustdoc's json output.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustfft-6
  (package
    (name "rust-rustfft")
    (version "6.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustfft" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11hx83yr2h2jszkba9qhq2d08q9i5rsashq62rfhqvahpihnb023"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-primal-check" ,rust-primal-check-0.3)
                       ("rust-strength-reduce" ,rust-strength-reduce-0.2)
                       ("rust-transpose" ,rust-transpose-0.2)
                       ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-paste" ,rust-paste-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/ejmahler/RustFFT")
    (synopsis "Rust FFT library")
    (description
     "This package provides a high-performance FFT (Fast Fourier Transform)
library written in pure Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustfix-0.8
  (package
    (name "rust-rustfix")
    (version "0.8.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustfix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09d3jy7c7zzqsphj836shjp55qq30lkj404wnfhlhvas81kb1clg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/rust-lang/cargo")
    (synopsis "Automatically apply the suggestions made by rustc")
    (description "Automatically apply the suggestions made by rustc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustfix-0.7
  (package
    (inherit rust-rustfix-0.8)
    (name "rust-rustfix")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustfix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xaicbgcbvwkf4m9wxmd8jic1a1di0k63mjlyd74jbiap6z0rhby"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))))

(define-public rust-rustfix-0.6
  (package
    (inherit rust-rustfix-0.7)
    (name "rust-rustfix")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustfix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10b4qlvfwljp7yss8afj0lnn8vqj78n93n9vfmkq9616kqyqblpc"))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency chain here
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-rustfix-0.5
  (package
    (inherit rust-rustfix-0.6)
    (name "rust-rustfix")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustfix" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0kkhfab60747zpmn8jwfdwl9a2s4rqiq7yjjfs7yppfwp9s0pigj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs
       (("rust-difference" ,rust-difference-2)
        ("rust-duct" ,rust-duct-0.13)
        ("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-log" ,rust-log-0.4)
        ("rust-proptest" ,rust-proptest-0.9)
        ("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-rustfix-0.4
  (package
    (inherit rust-rustfix-0.5)
    (name "rust-rustfix")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustfix" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "01zn0ysnass3mmrhxk90584y713vjfq1x97mi4saac99g9vsql3i"))))
    (arguments
     (substitute-keyword-arguments (package-arguments rust-rustfix-0.5)
       ((#:cargo-inputs cargo-inputs)
        `(("rust-failure" ,rust-failure-0.1)
          ,@(alist-delete "rust-anyhow" cargo-inputs)))))))

(define-public rust-rusticata-macros-4
  (package
    (name "rust-rusticata-macros")
    (version "4.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusticata-macros" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "03dmfxhgwzpm1360iwcpcg3y18ddgya0i0hc599am212pdvj7ib5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nom" ,rust-nom-7))))
    (home-page "https://github.com/rusticata/rusticata-macros")
    (synopsis "Helper macros for Rusticata")
    (description "Helper macros for Rusticata.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustix-0.38
  (package
    (name "rust-rustix")
    (version "0.38.42")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11fvprv3p450ggyqacp7sdpjbbsgm5zvfjwnzy8bfbmbrf7c6ggr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.9)
        ("rust-serial-test" ,rust-serial-test-2)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/bytecodealliance/rustix")
    (synopsis "Safe Rust bindings to POSIX syscalls")
    (description
     "This package provides safe Rust bindings to POSIX syscalls.")
    ;; Apache 2.0, Apache 2.0 with LLVM exception, or Expat.
    (license (list license:asl2.0 license:expat))))

(define-public rust-rustix-0.37
  (package
    (inherit rust-rustix-0.38)
    (name "rust-rustix")
    (version "0.37.27")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "rustix" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1lidfswa8wbg358yrrkhfvsw0hzlvl540g4lwqszw09sg8vcma7y"))
              (snippet
               #~(begin
                   (use-modules (guix build utils))
                   (for-each delete-file (find-files "." "\\.a$"))
                   (delete-file "Cargo.toml")
                   (substitute* "Cargo.toml.orig"
                     ;; Depend unconditionally on the cc crate
                     (("(cc = .*), optional = true.*" _ cc)
                      (string-append cc " }\n"))
                     ;; Disable using the linux_raw backend
                     (("not\\(rustic_use_libc\\)") "miri"))
                   (substitute* "build.rs"
                     ;; Always use the 'feature = "cc"' path
                     (("not\\(feature = \"cc\"\\)") "feature = \"foobar\"")
                     (("#\\[cfg\\(feature = \"cc\"\\)\\]" all)
                      (string-append "//" all)))
                   (copy-file "Cargo.toml.orig" "Cargo.toml")))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-io-lifetimes" ,rust-io-lifetimes-1)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs
       (("rust-ctor" ,rust-ctor-0.2)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-io-lifetimes" ,rust-io-lifetimes-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.9)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustix-0.36
  (package
    (inherit rust-rustix-0.37)
    (name "rust-rustix")
    (version "0.36.17")
    (source (origin
              (inherit (package-source rust-rustix-0.37))
              (method url-fetch)
              (uri (crate-uri "rustix" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1vf7p0ixq1vm537bv7zs6fq21dabk4vg3x8xa3mkjhfy9z8znpih"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cc" ,rust-cc-1)
        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-io-lifetimes" ,rust-io-lifetimes-1)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-windows-sys" ,rust-windows-sys-0.45))
       #:cargo-development-inputs
       (("rust-ctor" ,rust-ctor-0.1)
        ("rust-errno" ,rust-errno-0.3)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-io-lifetimes" ,rust-io-lifetimes-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memoffset" ,rust-memoffset-0.7)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustix-0.35
  (package
    (inherit rust-rustix-0.36)
    (name "rust-rustix")
    (version "0.35.16")
    (source (origin
              (inherit (package-source rust-rustix-0.36))
              (method url-fetch)
              (uri (crate-uri "rustix" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qlb5s7zgmks58ric301yma02p4aq8j0n2nxq5zx8kr4llbgcqsk"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-bitflags" ,rust-bitflags-1)
             ("rust-cc" ,rust-cc-1)
             ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
             ("rust-errno" ,rust-errno-0.2)
             ("rust-io-lifetimes" ,rust-io-lifetimes-0.7)
             ("rust-itoa" ,rust-itoa-1)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.0.46)
             ("rust-once-cell" ,rust-once-cell-1)
             ("rust-rustc-std-workspace-alloc"
              ,rust-rustc-std-workspace-alloc-1)
             ("rust-rustc-std-workspace-core"
              ,rust-rustc-std-workspace-core-1)
             ("rust-windows-sys" ,rust-windows-sys-0.42))
           #:cargo-development-inputs
           `(("rust-ctor" ,rust-ctor-0.1)
             ("rust-errno" ,rust-errno-0.2)
             ("rust-io-lifetimes" ,rust-io-lifetimes-0.7)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-memoffset" ,rust-memoffset-0.6)
             ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustix-openpty-0.1
  (package
    (name "rust-rustix-openpty")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustix-openpty" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04pw7k8z1fk3642f9wr4jy1f2f6rly4pf2485jw4whn1kynklp52"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-errno" ,rust-errno-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-rustix" ,rust-rustix-0.38))
       #:cargo-development-inputs (("rust-rustix" ,rust-rustix-0.38))))
    (home-page "https://github.com/sunfishcode/rustix-openpty")
    (synopsis "Safe Rust bindings to `openpty` and related functions")
    (description "Safe Rust bindings to `openpty` and related functions.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-rusttype-0.9
  (package
    (name "rust-rusttype")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusttype" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ngcwn7d2dybjrylga3gpxm3k3mcw3m405hcp32iignhvrx74z6w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ab-glyph-rasterizer" ,rust-ab-glyph-rasterizer-0.1)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-owned-ttf-parser" ,rust-owned-ttf-parser-0.6)
        ("rust-rustc-hash" ,rust-rustc-hash-1))))
    (home-page "https://gitlab.redox-os.org/redox-os/rusttype")
    (synopsis "Pure Rust alternative to libraries like FreeType")
    (description
     "This package provides a pure Rust alternative to libraries like FreeType.
RustType provides an API for loading, querying and rasterising TrueType fonts.
It also provides an implementation of a dynamic GPU glyph cache for hardware
font rendering.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rusttype-0.8
  (package
    (inherit rust-rusttype-0.9)
    (name "rust-rusttype")
    (version "0.8.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusttype" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h5lyr61ffgg0wzp4yhc1fr5y83lzf3is17ixih7n7qhal842qcz"))))
    (arguments
     `(#:tests? #f      ; Artifacts for tests not included.
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-ordered-float" ,rust-ordered-float-1)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-stb-truetype" ,rust-stb-truetype-0.3))))))

(define-public rust-rusttype-0.7
  (package
    (inherit rust-rusttype-0.8)
    (name "rust-rusttype")
    (version "0.7.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusttype" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1m9ms4p94cgif74y1rzkj04rx8i1la193c0jgvnip61rd904429i"))))
    (arguments
     `(#:tests? #f      ; Artifacts for tests not included.
       #:cargo-inputs
       (("rust-rusttype" ,rust-rusttype-0.8))
       #:cargo-development-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.4)
        ("rust-blake2" ,rust-blake2-0.8)
        ("rust-glium" ,rust-glium-0.25)
        ("rust-image" ,rust-image-0.21)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))

(define-public rust-rustup-toolchain-0.1
  (package
    (name "rust-rustup-toolchain")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustup-toolchain" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15fcw826mrgml07qw1h0ylgqvhj3wr7ggry2dwr9q63z8rh6yh34"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-expect-test" ,rust-expect-test-1)
                                   ("rust-public-api" ,rust-public-api-0.32)
                                   ("rust-rustdoc-json" ,rust-rustdoc-json-0.8))))
    (home-page
     "https://github.com/Enselic/cargo-public-api/tree/main/rustup-toolchain")
    (synopsis "Utilities for rustup toolchain")
    (description "Utilities for working with rustup toolchains.")
    (license license:expat)))

(define-public rust-rustversion-1
  (package
    (name "rust-rustversion")
    (version "1.0.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustversion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j2207vmgrcxwwwvknfn3lwv4i8djhjnxlvwdnz8bwijqqmrz08f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/rustversion")
    (synopsis "Conditional compilation according to rustc compiler version")
    (description
     "This package provides conditional compilation according to the
@code{rustc} compiler version.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rustversion-0.1
  (package
    (name "rust-rustversion")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustversion" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1s3ib2paa5gq17x4qsmjmnsw68z7b5d5av1wsiqcrihmqb7kk0dl"))))
    (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/dtolnay/rustversion")
    (synopsis "Conditional compilation according to rustc compiler version")
    (description "This package provides conditional compilation according to
rustc compiler version.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rusty-fork-0.3
  (package
    (name "rust-rusty-fork")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusty-fork" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kxwq5c480gg6q0j3bg4zzyfh2kwmc3v2ba94jw8ncjc8mpcqgfb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
    (home-page "https://github.com/altsysrq/rusty-fork")
    (synopsis "Library for running Rust tests in sub-processes")
    (description
     "This package is a cross-platform library for running Rust tests in
sub-processes using a fork-like interface.")
    (license (list license:expat license:asl2.0))))

(define-public rust-rusty-fork-0.2
  (package
    (inherit rust-rusty-fork-0.3)
    (name "rust-rusty-fork")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rusty-fork" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bjg8adk0i921088j52rn0hmvsry34q19g96x41pamqcw5j35n9x"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2))))))

(define-public rust-rustyline-13
  (package
    (name "rust-rustyline")
    (version "13.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11mywskk2jcxhanlsgzza5yx6ywpdlzr64qhbgpsx45clj1xd8h2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=binding::test::size_of_event")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-clipboard-win" ,rust-clipboard-win-5)
                       ("rust-fd-lock" ,rust-fd-lock-4)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-nix" ,rust-nix-0.27)
                       ("rust-radix-trie" ,rust-radix-trie-0.2)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rusqlite" ,rust-rusqlite-0.30)
                       ("rust-rustyline-derive" ,rust-rustyline-derive-0.10)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-skim" ,rust-skim-0.10)
                       ("rust-termios" ,rust-termios-0.3)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-utf8parse" ,rust-utf8parse-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/kkawakam/rustyline")
    (synopsis "Readline implementation in Rust")
    (description
     "Rustyline is a readline implementation based on the linenoise package.")
    (license license:expat)))

(define-public rust-rustyline-12
  (package
    (inherit rust-rustyline-13)
    (name "rust-rustyline")
    (version "12.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fcxgkz6hia74wnwnf1b92s69gnij5xgr42xw637xj05r95wlklr"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-clipboard-win" ,rust-clipboard-win-4)
                       ("rust-fd-lock" ,rust-fd-lock-3)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-radix-trie" ,rust-radix-trie-0.2)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rusqlite" ,rust-rusqlite-0.29)
                       ("rust-rustyline-derive" ,rust-rustyline-derive-0.9)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-skim" ,rust-skim-0.10)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-utf8parse" ,rust-utf8parse-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustyline-10
  (package
    (inherit rust-rustyline-12)
    (name "rust-rustyline")
    (version "10.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vvsd68cch0lpcg6mcwfvfdd6r4cxbwis3bf9443phzkqcr3rs61"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-clipboard-win" ,rust-clipboard-win-4)
                       ("rust-dirs-next" ,rust-dirs-next-2)
                       ("rust-fd-lock" ,rust-fd-lock-3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-nix" ,rust-nix-0.25)
                       ("rust-radix-trie" ,rust-radix-trie-0.2)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-skim" ,rust-skim-0.10)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-utf8parse" ,rust-utf8parse-0.2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rustyline-derive" ,rust-rustyline-derive-0.7)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustyline-9
  (package
    (inherit rust-rustyline-12)
    (name "rust-rustyline")
    (version "9.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f8069ljhiv9nf97y975wvv9yvx82w3lm9g50d5n298fkiw2cy6v"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-clipboard-win" ,rust-clipboard-win-4)
        ("rust-dirs-next" ,rust-dirs-next-2)
        ("rust-fd-lock" ,rust-fd-lock-3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-nix" ,rust-nix-0.23)
        ("rust-radix-trie" ,rust-radix-trie-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-scopeguard" ,rust-scopeguard-1)
        ("rust-skim" ,rust-skim-0.9)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-utf8parse" ,rust-utf8parse-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-rustyline-derive" ,rust-rustyline-derive-0.6)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustyline-6
  (package
    (inherit rust-rustyline-9)
    (name "rust-rustyline")
    (version "6.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustyline" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "04w4k0nwsra84h90rvwkr6vmjp3nshjqaj9rakfym8qr09xmw3bg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-dirs-next" ,rust-dirs-next-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-nix" ,rust-nix-0.18)
        ("rust-scopeguard" ,rust-scopeguard-1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-utf8parse" ,rust-utf8parse-0.2)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-skim" ,rust-skim-0.7))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-rustyline-derive" ,rust-rustyline-derive-0.3)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-rustyline-derive-0.10
  (package
    (name "rust-rustyline-derive")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lfr25qdrn0awccq999d6g8m7bhsyxbkliibdpzimbzniff9bbz5"))))
    (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/kkawakam/rustyline")
    (synopsis "Rustyline macros implementation in Rust")
    (description "This package provides Rustyline macros implementation in Rust.")
    (license license:expat)))

(define-public rust-rustyline-derive-0.9
  (package
    (inherit rust-rustyline-derive-0.10)
    (name "rust-rustyline-derive")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hvaj1n0k7ys8iqfxvymmakv9aqqpvm53hagw55jw7954xaaycjs"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-rustyline-derive-0.7
  (package
    (inherit rust-rustyline-derive-0.9)
    (name "rust-rustyline-derive")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "139dpx6zp0v6p5wc5n317jivi52dz5sq79v2zagc02ipgxfksz0h"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-rustyline-derive-0.6
  (package
    (inherit rust-rustyline-derive-0.7)
    (name "rust-rustyline-derive")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "rustyline-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mw0nfi8xxsm4q80mv4va7ff8m0kgnsfjvv067zc1d8hp1daaddv"))))
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-rustyline-derive-0.3
  (package
    (inherit rust-rustyline-derive-0.9)
    (name "rust-rustyline-derive")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rustyline-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0daj9szvfi442vj2fhm7qb92wmzv7g75qsjq9a6ycnqac4lhx9al"))))
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ryu-1
  (package
    (name "rust-ryu")
    (version "1.0.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ryu" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "17xx2s8j1lln7iackzd9p0sv546vjq71i779gphjq923vjh5pjzk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-no-panic" ,rust-no-panic-0.1))
       #:cargo-development-inputs
       (("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.3))))
    (home-page "https://github.com/dtolnay/ryu")
    (synopsis "Fast floating point to string conversion")
    (description
     "This package provides a pure Rust implementation of Ryū, an algorithm to
quickly convert floating point numbers to decimal strings.")
    (license (list license:asl2.0 license:boost1.0))))

(define-public rust-s3handler-0.7
  (package
    (name "rust-s3handler")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "s3handler" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cgxjzlili1598j9q21kdmml2m67hmcb1fpamhw8n2xf3h7mkf80"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-base64" ,rust-base64-0.13)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-dyn-clone" ,rust-dyn-clone-1)
        ("rust-failure" ,rust-failure-0.1)
        ("rust-failure-derive" ,rust-failure-derive-0.1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-hmac" ,rust-hmac-0.11)
        ("rust-hmac-sha1" ,rust-hmac-sha1-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-md5" ,rust-md5-0.7)
        ("rust-mime-guess" ,rust-mime-guess-2)
        ("rust-quick-xml" ,rust-quick-xml-0.22)
        ("rust-regex" ,rust-regex-1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sha2" ,rust-sha2-0.9)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-url" ,rust-url-2))))
    (home-page "https://crates.io/crates/s3handler")
    (synopsis "Library for S3 Rich Support client (S3RS)")
    (description
     "This package is a s3 handler for S3 Rich Support client (S3RS).")
    (license license:expat)))

(define-public rust-safe-arch-0.7
  (package
    (name "rust-safe-arch")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "safe_arch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m63dasp3rs9mkaa5wai6l6v14lbb788igaidys7k8g6w5f0g67k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1))))
    (home-page "https://github.com/Lokathor/safe_arch")
    (synopsis "Access core::arch safely")
    (description "This package exposes @code{core::arch} safely via
@code{#[cfg()]}.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-safe-arch-0.6
  (package
    (inherit rust-safe-arch-0.7)
    (name "rust-safe-arch")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "safe_arch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ad5ykwgq9ll1ymp83d9cayzj8q191rik71ga5wzkndhrkj22j3r"))))
    (arguments
     `(#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1))))))

(define-public rust-safe-arch-0.5
  (package
    (inherit rust-safe-arch-0.6)
    (name "rust-safe-arch")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "safe_arch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01ffy9aw9v1n4bcwl525zw3gnh18jk7aq38iqcn51bwnjrnkvzy1"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1))))))

(define-public rust-safe-lock-0.1
  (package
    (name "rust-safe-lock")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "safe-lock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p661vi35v8rb79w0vz532vm1yi2817cslxplny9cwap1bnl367j"))))
    (build-system cargo-build-system)
    (home-page "https://gitlab.com/leonhard-llc/ops")
    (synopsis "Lock struct for Rust")
    (description
     "This package provides a lock struct with a @code{const fn} constructor
and no @code{unsafe}.")
    (license license:asl2.0)))

(define-public rust-safemem-0.3
  (package
    (name "rust-safemem")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "safemem" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0wp0d2b2284lw11xhybhaszsczpbq1jbdklkxgifldcknmy3nw7g"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/abonander/safemem")
    (synopsis "Safe wrappers for memory-accessing functions")
    (description
     "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-same-file-1
  (package
    (name "rust-same-file")
    (version "1.0.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "same-file" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-winapi-util" ,rust-winapi-util-0.1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/BurntSushi/same-file")
    (synopsis "Determine whether two file paths point to the same file")
    (description
     "This package provides a simple crate for determining whether two file
paths point to the same file.")
    (license (list license:unlicense
                   license:expat))))

(define-public rust-same-file-0.1
  (package
    (inherit rust-same-file-1)
    (name "rust-same-file")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "same-file" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "19qpl6j8s3ph9jm8rh1k0wp2nkyw5ah34xly00vqcfx4v97s8cfr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-winapi" ,rust-winapi-0.2))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.3))))))

(define-public rust-sample-arrow2-0.17
  (package
    (name "rust-sample-arrow2")
    (version "0.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-arrow2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xw9mdhzb0wx26b4bq1d94ib179lmzc5kfsrhgp5gk75g84k0ash"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrow2" ,rust-arrow2-0.17)
                       ("rust-sample-std" ,rust-sample-std-0.2))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-sample-test" ,rust-sample-test-0.2))))
    (home-page "https://docs.rs/sample-arrow2")
    (synopsis "Samplers for arrow2 for use with sample-test")
    (description "Samplers for arrow2 for use with sample-test.")
    (license license:asl2.0)))

(define-public rust-sample-arrow2-0.1
  (package
    (inherit rust-sample-arrow2-0.17)
    (name "rust-sample-arrow2")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-arrow2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b0pqyxsv6qjg16xsj8isx5maj6cdmy12rg31b7gc14cg4npqmav"))))
    (arguments
     `(#:cargo-inputs (("rust-arrow2" ,rust-arrow2-0.17)
                       ("rust-sample-std" ,rust-sample-std-0.1))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-sample-test" ,rust-sample-test-0.1))))))

(define-public rust-sample-std-0.2
  (package
    (name "rust-sample-std")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j2q8flzjjcbfnqkj08fyqa2dwdwigxaxn04w2hjqazbqqcx52wl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Errors in the test code.
       #:cargo-inputs (("rust-casey" ,rust-casey-0.4)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rand-regex" ,rust-rand-regex-0.15)
                       ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-sample-test" ,rust-sample-test-0.2))))
    (home-page "https://docs.rs/sample-std")
    (synopsis "Sampler definitions and implementations for st")
    (description "Sampler definitions and implementations for st.")
    (license license:asl2.0)))

(define-public rust-sample-std-0.1
  (package
    (inherit rust-sample-std-0.2)
    (name "rust-sample-std")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j2p3bj3c8gcxrfx5402zygm5l564p09bc0gj8wfhb1hqcyiayjn"))))
    (arguments
     `(#:tests? #f      ; Errors in the test code.
       #:cargo-inputs (("rust-casey" ,rust-casey-0.4)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rand-regex" ,rust-rand-regex-0.15)
                       ("rust-regex" ,rust-regex-1))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-sample-test" ,rust-sample-test-0.1))))))

(define-public rust-sample-test-0.2
  (package
    (name "rust-sample-test")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gymqxvr6avi40g73mg56lgzbs2x4yvy50mm15mpa5k4a7557cp8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-sample-std" ,rust-sample-std-0.2)
                       ("rust-sample-test-macros" ,rust-sample-test-macros-0.2))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://docs.rs/sample-test")
    (synopsis "Sampling strategies and machinery for testing arbitrary data")
    (description
     "Sampling strategies and machinery for testing arbitrary data")
    (license license:asl2.0)))

(define-public rust-sample-test-0.1
  (package
    (inherit rust-sample-test-0.2)
    (name "rust-sample-test")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cli62gcy91d4n97visnqqpbpws5xwrzlnl0w8dgq6gz8w4m0gki"))))
    (arguments
     `(#:cargo-inputs (("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-quickcheck" ,rust-quickcheck-1)
                       ("rust-sample-std" ,rust-sample-std-0.1)
                       ("rust-sample-test-macros" ,rust-sample-test-macros-0.1))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1))))))

(define-public rust-sample-test-macros-0.2
  (package
    (name "rust-sample-test-macros")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-test-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vxmx4i0hcnbbaky4d7xpzw2ckff00bkkdmdzn0lbfw9fnd47ijw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-sample-std" ,rust-sample-std-0.2)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-sample-test" ,rust-sample-test-0.2))))
    (home-page "https://docs.rs/sample-test-macros")
    (synopsis "Proc-macros used by sample-test")
    (description "Proc-macros used by sample-test.")
    (license license:asl2.0)))

(define-public rust-sample-test-macros-0.1
  (package
    (inherit rust-sample-test-macros-0.2)
    (name "rust-sample-test-macros")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sample-test-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kjkavrzz8zs6jkjya6l73ggy4bi6yma67gdnsasx6i55a1jq6nz"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-sample-std" ,rust-sample-std-0.1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-sample-test" ,rust-sample-test-0.1))))))

(define-public rust-sanakirja-1
  (package
    (name "rust-sanakirja")
    (version "1.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sanakirja" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04bdmhs3y35w3ip265mm4yiyf2493vcizl04kwh248af0q6zgal1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         ;; Some of the tests seem to get stuck in a loop
         "--skip=tests::put_growth"
         "--skip=tests::random_scenario_sized_fork"
         ;; expected `u64`, found `NonZero<u64>`
         "--skip=src/lib.rs - (line 18)")
       #:cargo-inputs (("rust-crc32fast" ,rust-crc32fast-1)
                       ("rust-fs2" ,rust-fs2-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memmap2" ,rust-memmap2-0.9)
                       ("rust-parking-lot" ,rust-parking-lot-0.11)
                       ("rust-sanakirja-core" ,rust-sanakirja-core-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.8)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-lmdb-rs" ,rust-lmdb-rs-0.7)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-sled" ,rust-sled-0.34)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-uuid" ,rust-uuid-0.8))))
    (inputs (list lmdb))
    (home-page "https://nest.pijul.com/pijul/sanakirja")
    (synopsis "Key-value dictionary, using copy-on-write and B-trees")
    (description
     "This package provides a key-value dictionary, using copy-on-write and B
trees.  It features:
@itemize
@item ACID semantics.
@item B trees with copy-on-write.
@item Support for referential transparency: databases can be cloned in time
O(log n) (where n is the size of the database).  This was the original
motivation for writing this library.
@end itemize")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sanakirja-core-1
  (package
    (name "rust-sanakirja-core")
    (version "1.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sanakirja-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xcb4d9gaxp61na4dyz9iiq3n1shhiivqs0iv5xnxb1ymqsdnxl3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crc32fast" ,rust-crc32fast-1)
                       ("rust-ed25519-zebra" ,rust-ed25519-zebra-2)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-uuid" ,rust-uuid-1))))
    (home-page "https://nest.pijul.com/pijul/sanakirja")
    (synopsis "Copy-on-write datastructures with a stable format")
    (description
     "This package provides copy-on-write datastructures, storable on disk
(or elsewhere) with a stable format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sc-0.2
  (package
    (name "rust-sc")
    (version "0.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12x3c3mn36am3jfamswqfsd0vpr0hz3kdck6wskla7gx7fyih3h1"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/japaric/syscall.rs")
    (synopsis "Raw system calls")
    (description "This package provides raw system calls for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-scale-info-1
  (package
    (name "rust-scale-info")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scale-info" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0bvq3a9im6c20xmx8lipr5px9y4x22dpilm0ccnm69cw752bfmaw"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-bitvec" ,rust-bitvec-0.20)
         ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-derive-more" ,rust-derive-more-0.99)
         ("rust-parity-scale-codec" ,rust-parity-scale-codec-2)
         ("rust-scale-info-derive" ,rust-scale-info-derive-1)
         ("rust-serde" ,rust-serde-1))))
    (home-page "https://www.parity.io/")
    (synopsis "Info about SCALE encodable Rust types")
    (description "This package provides info about SCALE encodable Rust types.")
    (license license:asl2.0)))

(define-public rust-scale-info-derive-1
  (package
    (name "rust-scale-info-derive")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scale-info-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "1k8z7y6181yjdnggbhnqr8mfnpw197pa8ni0hqpmk003d602gsxs"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
    (home-page "https://www.parity.io/")
    (synopsis "Derive type info for SCALE encodable types")
    (description "This package provides derive type info for SCALE
encodable types.")
    (license license:asl2.0)))

(define-public rust-scan-fmt-0.2
  (package
    (name "rust-scan-fmt")
    (version "0.2.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scan_fmt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0j0jb1dsa8zjpnc875wy72190zlyngvl62mfv8pqwal8vfjv0lqb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/wlentz/scan_fmt")
    (synopsis "Simple scanf()-like input for Rust")
    (description "This package provides a simple scanf()-like input for Rust.")
    (license license:expat)))

(define-public rust-scc-2
  (package
    (name "rust-scc")
    (version "2.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rhy3pxjhmhh2f2ab9mk8y8nw53zz18zjywwzkjzr2ls23dpm50c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-loom" ,rust-loom-0.7)
                       ("rust-sdd" ,rust-sdd-3)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/wvwwvwwv/scalable-concurrent-containers/")
    (synopsis
     "Containers and utilities for concurrent and asynchronous programming")
    (description
     "This package provides High performance containers and utilities for
concurrent and asynchronous programming.")
    (license license:asl2.0)))

(define-public rust-sce-0.1
  (package
    (name "rust-sce")
    (version "0.1.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "sce" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1fv0nbx6r44rcqfy6881gin30d92zgxl0jrx4hfl725h0425i74j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-csv" ,rust-csv-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-num" ,rust-num-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-sprs" ,rust-sprs-0.11))))
    (home-page "https://github.com/parazodiac/SingleCellExperiment")
    (synopsis "Import and manage various single-cell matrices")
    (description
     "This package provides a library for importing and managing various
single-cell matrices.")
    (license license:bsd-3)))

(define-public rust-scheduled-thread-pool-0.2
  (package
    (name "rust-scheduled-thread-pool")
    (version "0.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scheduled-thread-pool" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "068s77f9xcpvzl70nsxk8750dzzc6f9pixajhd979815cj0ndg1w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-parking-lot" ,rust-parking-lot-0.12))))
    (home-page "https://github.com/sfackler/scheduled-thread-pool")
    (synopsis "Scheduled thread pool")
    (description "This package provides a scheduled thread pool.")
    (license (list license:expat license:asl2.0))))

(define-public rust-schemars-0.8
  (package
    (name "rust-schemars")
    (version "0.8.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "schemars" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "14lyx04388wgbilgcm0nl75w6359nw16glswfqv7x2rpi9329h09"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.5)
         ("rust-arrayvec" ,rust-arrayvec-0.7)
         ("rust-bigdecimal" ,rust-bigdecimal-0.4)
         ("rust-bigdecimal" ,rust-bigdecimal-0.3)
         ("rust-bytes" ,rust-bytes-1)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-dyn-clone" ,rust-dyn-clone-1)
         ("rust-either" ,rust-either-1)
         ("rust-enumset" ,rust-enumset-1)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-indexmap" ,rust-indexmap-2)
         ("rust-rust-decimal" ,rust-rust-decimal-1)
         ("rust-schemars-derive" ,rust-schemars-derive-0.8)
         ("rust-semver" ,rust-semver-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-smol-str" ,rust-smol-str-0.1)
         ("rust-url" ,rust-url-2)
         ("rust-uuid" ,rust-uuid-0.8)
         ("rust-uuid" ,rust-uuid-1))
        #:cargo-development-inputs
        (("rust-pretty-assertions" ,rust-pretty-assertions-1)
         ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://graham.cool/schemars/")
    (synopsis "Generate JSON Schemas from Rust code")
    (description "This Rust library can help generating JSON Schemas from
Rust code.")
    (license license:expat)))

(define-public rust-schemars-0.6
  (package
    (inherit rust-schemars-0.8)
    (name "rust-schemars")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "schemars" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v6acgxkbhaw7fzg4mp09jv231f0mr224my629435wxasrrrfmh7"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=doc_comments_struct")
       #:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.5)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-either" ,rust-either-1)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-schemars-derive" ,rust-schemars-derive-0.6)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-uuid" ,rust-uuid-0.8))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))

(define-public rust-schemars-derive-0.8
  (package
    (name "rust-schemars-derive")
    (version "0.8.21")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "schemars_derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "03ncmrkldfmdc9skmlyysx2vqdlyyz91r5mbavw77zwaay4fbvmi"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.29)
         ("rust-syn" ,rust-syn-2))
        #:cargo-development-inputs
        (("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://graham.cool/schemars/")
    (synopsis "Macros for @code{#[derive(JsonSchema)]}, for use with schemars")
    (description "This package provides macros for @code{#[derive(JsonSchema)]},
for use with schemars.")
    (license license:expat)))

(define-public rust-schemars-derive-0.6
  (package
    (inherit rust-schemars-derive-0.8)
    (name "rust-schemars-derive")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "schemars_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a9h8bqqqd0i6605gyhz2jw2hi1wq1vfi262qrflkn3pyk75wlrq"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))

(define-public rust-scoped-threadpool-0.1
  (package
    (name "rust-scoped-threadpool")
    (version "0.1.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scoped_threadpool" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/Kimundi/scoped-threadpool-rs")
    (synopsis "Library for scoped and cached threadpools")
    (description
     "This crate provides a stable, safe and scoped threadpool.  It can be used
to execute a number of short-lived jobs in parallel without the need to respawn
the underlying threads.  Jobs are runnable by borrowing the pool for a given
scope, during which an arbitrary number of them can be executed.  These jobs can
access data of any lifetime outside of the pools scope, which allows working on
non-'static references in parallel.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-scoped-tls-1
  (package
    (name "rust-scoped-tls")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scoped-tls" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://github.com/alexcrichton/scoped-tls")
    (synopsis "Rust library providing the old standard library's scoped_thread_local")
    (description "This crate provides a library implementation of the standard
library's old @code{scoped_thread_local!} macro for providing scoped access to
@dfn{thread local storage} (TLS) so any type can be stored into TLS.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-scoped-tls-0.1
  (package
    (inherit rust-scoped-tls-1)
    (name "rust-scoped-tls")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scoped-tls" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))

(define-public rust-scopeguard-1
  (package
    (name "rust-scopeguard")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scopeguard" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jcz9sd47zlsgcnm1hdw0664krxwb5gczlif4qngj2aif8vky54l"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/bluss/scopeguard")
    (synopsis "Scope guard which will run a closure even out of scope")
    (description "This package provides a RAII scope guard that will run a
given closure when it goes out of scope, even if the code between panics
(assuming unwinding panic).  Defines the macros @code{defer!},
@code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
with one of the implemented strategies.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-scopeguard-0.3
  (package
    (inherit rust-scopeguard-1)
    (name "rust-scopeguard")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scopeguard" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))

(define-public rust-scopetime-0.1
  (package
    (name "rust-scopetime")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scopetime" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ngkasx6l072cvigx7q5r33i8acjardr4g8jnwdrcym4758f5vb6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/extrawurst/gitui")
    (synopsis "Log scope runtime")
    (description "This create is for logging runtime of arbitrary scope.")
    (license license:expat)))

(define-public rust-scraper-0.18
  (package
    (name "rust-scraper")
    (version "0.18.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scraper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qf3vfj8xrggq9cwrr6yq88807sckjfirnvklmw1nccvf7iq0m2q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-cssparser" ,rust-cssparser-0.31)
                       ("rust-ego-tree" ,rust-ego-tree-0.6)
                       ("rust-getopts" ,rust-getopts-0.2)
                       ("rust-html5ever" ,rust-html5ever-0.26)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-selectors" ,rust-selectors-0.25)
                       ("rust-tendril" ,rust-tendril-0.4))))
    (home-page "https://github.com/causal-agent/scraper")
    (synopsis "HTML parsing and querying with CSS selectors")
    (description
     "Scraper provides an interface to Servo's html5ever and selectors crates,
for browser-grade parsing and querying.")
    (license license:isc)))

(define-public rust-scratch-1
  (package
    (name "rust-scratch")
    (version "1.0.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scratch" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0lk160986gamss2rxi746nj747xx7gg8r2hfskrr9fccqc8prkx3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-fs2" ,rust-fs2-0.4))))
    (home-page "https://github.com/dtolnay/scratch")
    (synopsis "Compile-time temporary directory")
    (description "This crate exposes a compile-time temporary directory
shareable by multiple crates in a build graph and erased by @code{cargo
clean}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-scroll-0.12
  (package
    (name "rust-scroll")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scroll" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19mix9vm4k23jkknpgbi0ylmhpf2hnlpzzrfj9wqcj88lj55kf3a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-scroll-derive" ,rust-scroll-derive-0.12))))
    (home-page "https://github.com/m4b/scroll")
    (synopsis "Endian-aware Read/Write traits for byte buffers")
    (description
     "This package provides a suite of powerful, extensible, generic,
endian-aware Read/Write traits for byte buffers.")
    (license license:expat)))

(define-public rust-scroll-0.11
  (package
    (inherit rust-scroll-0.12)
    (name "rust-scroll")
    (version "0.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "scroll" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nhrhpzf95pxbcjjy222blwf8rl3adws6vsqax0yzyxsa6snbi84"))))
    (arguments
     `(#:cargo-inputs
       (("rust-scroll-derive" ,rust-scroll-derive-0.11))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rayon" ,rust-rayon-1))))))

(define-public rust-scroll-0.10
  (package
    (inherit rust-scroll-0.11)
    (name "rust-scroll")
    (version "0.10.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scroll" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1v61drdig30qfx2xh8bn7qdk2xgqbmmhwyrznjl0gf1h915qv8px"))))
    (arguments
     `(#:cargo-inputs
       (("rust-scroll-derive" ,rust-scroll-derive-0.10))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rayon" ,rust-rayon-1))))))

(define-public rust-scroll-0.9
  (package
    (name "rust-scroll")
    (version "0.9.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scroll" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10q3w86bn22xrjlfg1c90dfi9c26qjkzn26nad0i9z8pxwad311g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-scroll-derive" ,rust-scroll-derive-0.9)
        ("rust-rustc-version" ,rust-rustc-version-0.2))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/m4b/scroll")
    (synopsis "Read/Write traits for byte buffers")
    (description
     "This package provides a suite of powerful, extensible, generic,
endian-aware Read/Write traits for byte buffers.")
    (license license:expat)))

(define-public rust-scroll-derive-0.12
  (package
    (name "rust-scroll-derive")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scroll_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cmr3hxk318s2ivv37cik2l1r0d8r0qhahnin5lpxbr5w3yw50bz"))))
    (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-scroll" ,rust-scroll-0.11))))
    (home-page "https://github.com/m4b/scroll")
    (synopsis "Pread and Pwrite traits from the scroll crate")
    (description
     "This package provides a macros 1.1 derive implementation for Pread and
Pwrite traits from the scroll crate.")
    (license license:expat)))

(define-public rust-scroll-derive-0.11
  (package
    (inherit rust-scroll-derive-0.12)
    (name "rust-scroll-derive")
    (version "0.11.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "scroll_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1bi5ljnzksvqhic6j7i2a2ap41s78xr0gifkgjxdxlj63pw4kc8x"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-scroll" ,rust-scroll-0.11))))))

(define-public rust-scroll-derive-0.10
  (package
    (inherit rust-scroll-derive-0.11)
    (name "rust-scroll-derive")
    (version "0.10.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "scroll_derive" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0a7f0xybi27p1njs4bqmxh9zyb2dqal4dbvgnhjjix4zkgm4wn7q"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-quote" ,rust-quote-1))))))

(define-public rust-scroll-derive-0.9
  (package
    (name "rust-scroll-derive")
    (version "0.9.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "scroll_derive" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1jqg5mm8nvii6avl1z1rc89agzh2kwkppgpsnwfakxg78mnaj6lg"))))
    (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))
       #:cargo-development-inputs
       (("rust-scroll" ,rust-scroll-0.9))))
    (home-page "https://github.com/m4b/scroll_derive")
    (synopsis "Derive Pread and Pwrite traits from the scroll crate")
    (description
     "This package provides a macros 1.1 derive implementation for Pread and
Pwrite traits from the scroll crate.")
    (license license:expat)))

(define-public rust-sct-0.7
  (package
    (name "rust-sct")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sct" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "056lmi2xkzdg1dbai6ha3n57s18cbip4pnmpdhyljli3m99n216s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ring" ,rust-ring-0.17)
        ("rust-untrusted" ,rust-untrusted-0.9))))
    (home-page "https://github.com/ctz/sct.rs")
    (synopsis "Certificate transparency SCT verification library")
    (description "Certificate transparency SCT verification library.")
    (license (list license:asl2.0 license:isc license:expat))))

(define-public rust-sct-0.6
  (package
    (inherit rust-sct-0.7)
    (name "rust-sct")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sct" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ki8qa7yf4d9i4ynsfvwwkpnnqw0m8ayx0jva4w9zrp0k0wbhqmk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ring" ,rust-ring-0.16)
        ("rust-untrusted" ,rust-untrusted-0.7))))))

(define-public rust-sct-0.5
  (package
    (inherit rust-sct-0.6)
    (name "rust-sct")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "sct" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1fb9ym5bwswx01yyggn7v2vfryih4vnqpp4r4ssv3qaqpn7xynig"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ring" ,rust-ring-0.14)
        ("rust-untrusted" ,rust-untrusted-0.6))))))

(define-public rust-sct-0.4
  (package
    (inherit rust-sct-0.6)
    (name "rust-sct")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sct" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nkl03nqfczz0784sg3bf2j08qq350yh9063f4m0dpgawvwn33yb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ring" ,rust-ring-0.13)
        ("rust-untrusted" ,rust-untrusted-0.6))))))

(define-public rust-sctk-adwaita-0.10
  (package
    (name "rust-sctk-adwaita")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sctk-adwaita" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v14vqp7k39jk7pgaibwc06qq9vcmi82k7zlv3qpfvq52w17y9xn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ab-glyph" ,rust-ab-glyph-0.2)
        ("rust-crossfont" ,rust-crossfont-0.8)
        ("rust-log" ,rust-log-0.4)
        ("rust-memmap2" ,rust-memmap2-0.9)
        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.19)
        ("rust-tiny-skia" ,rust-tiny-skia-0.11))))
    (home-page "https://github.com/PolyMeilex/sctk-adwaita")
    (synopsis "Adwaita-like SCTK Frame")
    (description "This package provides Adwaita-like SCTK Frame.")
    (license license:expat)))

(define-public rust-sctk-adwaita-0.8
  (package
    (inherit rust-sctk-adwaita-0.10)
    (name "rust-sctk-adwaita")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sctk-adwaita" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l35njnl25axhkg2r5jg1iqdyhp788qfgcl8p4hsar5jlprymcl2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ab-glyph" ,rust-ab-glyph-0.2)
        ("rust-crossfont" ,rust-crossfont-0.7)
        ("rust-log" ,rust-log-0.4)
        ("rust-memmap2" ,rust-memmap2-0.9)
        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.18)
        ("rust-tiny-skia" ,rust-tiny-skia-0.11))))))

(define-public rust-sctk-adwaita-0.5
  (package
    (inherit rust-sctk-adwaita-0.8)
    (name "rust-sctk-adwaita")
    (version "0.5.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "sctk-adwaita" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "02gdwfc0dmx9azqd13sfnfczl0z8jjvci0df5b64q5zxw5xyk96d"))))
    (arguments
     `(#:cargo-inputs
       (("rust-ab-glyph" ,rust-ab-glyph-0.2)
        ("rust-crossfont" ,rust-crossfont-0.5)
        ("rust-log" ,rust-log-0.4)
        ("rust-memmap2" ,rust-memmap2-0.5)
        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.16)
        ("rust-tiny-skia" ,rust-tiny-skia-0.8))))))

(define-public rust-sctk-adwaita-0.4
  (package
    (inherit rust-sctk-adwaita-0.5)
    (name "rust-sctk-adwaita")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sctk-adwaita" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f93q74iv1qsk0hkcx0jqh2a9qf2slri1nq737n7fkbbrhlhc9v1"))))
    (arguments
     `(#:cargo-inputs
       (("rust-crossfont" ,rust-crossfont-0.5)
        ("rust-log" ,rust-log-0.4)
        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.16)
        ("rust-tiny-skia" ,rust-tiny-skia-0.7))))))

(define-public rust-sd-notify-0.4
  (package
    (name "rust-sd-notify")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sd-notify" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0clc887rjdz0796c1lsbwnrgmcis4b30gyy3qb4v8zg0yf03c7k2"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/lnicola/sd-notify")
    (synopsis "Lightweight crate for systemd service state notifications")
    (description
     "This package provides a lightweight crate for systemd service state
notifications.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sdd-3
  (package
    (name "rust-sdd")
    (version "3.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sdd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g4alppkxrabhqfh9dfwngswnlhsv4jn6ys11dr9j04vbndbb9v0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-loom" ,rust-loom-0.7))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/wvwwvwwv/scalable-delayed-dealloc/")
    (synopsis "Scalable lock-free delayed memory reclaimer")
    (description
     "This package provides Scalable lock-free delayed memory reclaimer.")
    (license license:asl2.0)))

(define-public rust-seahash-3
  (package
    (name "rust-seahash")
    (version "3.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "seahash" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0iqg12lxkn0ivsfa1gkylcwj5wmi6zl87mbizlrkg918s6hprxaq"))))
    (build-system cargo-build-system)
    (home-page
     "https://gitlab.redox-os.org/redox-os/seahash")
    (synopsis
     "Hash function with proven statistical guarantees")
    (description
     "This package provides a blazingly fast, portable hash function with
proven statistical guarantees.")
    (license license:expat)))

(define-public rust-seahash-4
  (package
    (name "rust-seahash")
    (version "4.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "seahash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sxsb64np6bvnppjz5hg4rqpnkczhsl8w8kf2a5lr1c08xppn40w"))))
    (build-system cargo-build-system)
    (arguments '(#:skip-build? #t))
    (home-page "https://gitlab.redox-os.org/redox-os/seahash")
    (synopsis "Hash function with proven statistical guarantees")
    (description
     "This package provides a fast, portable hash function with proven
statistical guarantees.")
    (license license:expat)))

(define-public rust-seccomp-sys-0.1
  (package
    (name "rust-seccomp-sys")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "seccomp-sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1rkbiq1vd5d3cc4w5ql05pj1vbjqfi7zir02szwfm2khl15zgg75"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (inputs (list libseccomp))
    (home-page "https://github.com/polachok/seccomp-sys")
    (synopsis "Low-level bindings to libseccomp")
    (description "This package provides low-level bindings to libseccomp.")
    (license license:lgpl2.1)))

(define-public rust-secfmt-0.1
  (package
    (name "rust-secfmt")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "secfmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0710fwskvbgz5kzsa3c29j47bs5lbhkn27qabmy9j48phqr39iy8"))))
    (build-system cargo-build-system)
    (home-page "https://crates.io/crates/secfmt")
    (synopsis "Converts seconds into a human readable format")
    (description
     "This package provides a way to convert seconds into a human readable
format (struct) containing years, days, hours, minutes and seconds.")
    (license license:expat)))

(define-public rust-secrecy-0.10
  (package
    (name "rust-secrecy")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "secrecy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nmfsf9qm8921v2jliz08bj8zrryqar4gj3d6irqfc3kaj2az4g8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-zeroize" ,rust-zeroize-1))))
    (home-page "https://github.com/iqlusioninc/crates/")
    (synopsis "Wrapper types and traits for secret management")
    (description
     "This package provides wrapper types and traits for secret management which
help ensure they aren't accidentally copied, logged, or otherwise exposed (as
much as possible), and also ensure secrets are securely wiped from memory when
dropped.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-secrecy-0.8
  (package
    (inherit rust-secrecy-0.10)
    (name "rust-secrecy")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "secrecy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07p9h2bpkkg61f1fzzdqqbf74kwv1gg095r1cdmjzzbcl17cblcv"))))
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-zeroize" ,rust-zeroize-1))))))

(define-public rust-secret-service-3
  (package
    (name "rust-secret-service")
    (version "3.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "secret-service" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "15cddmlbbmahlzq9ib39i1yy7x83cvrxjxrgz0v3bh189nnsb8ax"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Build needs to decide on a crypto backend.
       #:cargo-inputs
       (("rust-aes" ,rust-aes-0.7)
        ("rust-block-modes" ,rust-block-modes-0.8)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-generic-array" ,rust-generic-array-0.14)
        ("rust-hkdf" ,rust-hkdf-0.12)
        ("rust-num" ,rust-num-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-sha2" ,rust-sha2-0.10)
        ("rust-zbus" ,rust-zbus-3))
       #:cargo-development-inputs
       (("rust-test-with" ,rust-test-with-0.8)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/hwchen/secret-service-rs.git")
    (synopsis "Library to interface with Secret Service API")
    (description "Library to interface with Secret Service API.")
    (license (list license:expat license:asl2.0))))

(define-public rust-section-testing-0.0.5
  (package
    (name "rust-section-testing")
    (version "0.0.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "section_testing" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "18dfl8nacwcd1z2y4sgdx7751czzpl6282q6cd49ys5gd0xlkljz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/evanw/section_testing")
    (synopsis "Library for section-style testing")
    (description
     "This package provides a library for section-style testing.")
    (license license:expat)))

(define-public rust-selectors-0.25
  (package
    (name "rust-selectors")
    (version "0.25.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "selectors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01kvl1r7plzlb665r64p11djabhsrd88si2zh7vci3v3ydshbcsf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cssparser" ,rust-cssparser-0.31)
                       ("rust-derive-more" ,rust-derive-more-0.99)
                       ("rust-fxhash" ,rust-fxhash-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1)
                       ("rust-phf" ,rust-phf-0.10)
                       ("rust-phf-codegen" ,rust-phf-codegen-0.10)
                       ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
                       ("rust-servo-arc" ,rust-servo-arc-0.3)
                       ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/servo/servo")
    (synopsis "CSS Selectors matching for Rust")
    (description "This package provides CSS Selectors matching for Rust.")
    (license license:mpl2.0)))

(define-public rust-selectors-0.24
  (package
    (inherit rust-selectors-0.25)
    (name "rust-selectors")
    (version "0.24.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "selectors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05il06smqbhf7p18fawm5fd0pmdkysvmyih455lh17cnh20mfdqc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cssparser" ,rust-cssparser-0.29)
        ("rust-derive-more" ,rust-derive-more-0.99)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-phf-codegen" ,rust-phf-codegen-0.8)
        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
        ("rust-servo-arc" ,rust-servo-arc-0.2)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-to-shmem" ,rust-to-shmem-0.0.0)
        ("rust-to-shmem-derive" ,rust-to-shmem-derive-0.0.0))))))

(define-public rust-selectors-0.23
  (package
    (inherit rust-selectors-0.24)
    (name "rust-selectors")
    (version "0.23.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "selectors" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "17w7slv2bkksvbq6pggx3db23vh1g022hxv06smilwmyhv38gspx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cssparser" ,rust-cssparser-0.28)
        ("rust-derive-more" ,rust-derive-more-0.99)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-phf-codegen" ,rust-phf-codegen-0.8)
        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
        ("rust-servo-arc" ,rust-servo-arc-0.1)
        ("rust-smallvec" ,rust-smallvec-1))))))

(define-public rust-selectors-0.22
  (package
    (inherit rust-selectors-0.23)
    (name "rust-selectors")
    (version "0.22.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "selectors" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1zhjpvww238lh4nz7kdw4ywlpmjbmzvrm76w1jyacjxci4c0ycnz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-cssparser" ,rust-cssparser-0.27)
        ("rust-derive-more" ,rust-derive-more-0.99)
        ("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
        ("rust-servo-arc" ,rust-servo-arc-0.1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thin-slice" ,rust-thin-slice-0.1))
       #:cargo-development-inputs
       (("rust-phf-codegen" ,rust-phf-codegen-0.8))))))

(define-public rust-self-cell-1
  (package
    (name "rust-self-cell")
    (version "1.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "self_cell" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1gmxk5bvnnimcif7v1jk8ai2azfvh9djki545nd86vsnphjgrzf2"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version)
                          (string-append "^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rustversion" ,rust-rustversion-1))
       #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/Voultapher/self_cell")
    (synopsis "Self-referential structs in stable Rust")
    (description
     "This package provides safe-to-use proc-macro-free self-referential structs
in stable Rust.")
    (license license:asl2.0)))

(define-public rust-selinux-0.4
  (package
    (name "rust-selinux")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "selinux" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02vy0n6rrhh8idxadi5xjmv5phvfg1f8jg5cwmjzvzxvkcg1ndsk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-reference-counted-singleton" ,rust-reference-counted-singleton-0.1)
        ("rust-selinux-sys" ,rust-selinux-sys-0.6)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-assert-matches" ,rust-assert-matches-1)
                                   ("rust-serial-test" ,rust-serial-test-3)
                                   ("rust-socketpair" ,rust-socketpair-0.19)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (inputs (list clang libselinux))
    (home-page "https://codeberg.org/koutheir/selinux.git")
    (synopsis "Flexible Mandatory Access Control for Linux")
    (description "This package provides a Rust interface to the flexible
Mandatory Access Control for Linux.")
    (license license:expat)))

(define-public rust-selinux-sys-0.6
  (package
    (name "rust-selinux-sys")
    (version "0.6.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "selinux-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v2z4002x3k7vzfq3z2p05xn85f0439iybmpxg47xh9x6yc59m49"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.69)
                       ("rust-cc" ,rust-cc-1)
                       ("rust-dunce" ,rust-dunce-1)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (inputs (list clang libselinux))
    (home-page "https://codeberg.org/koutheir/selinux-sys.git")
    (synopsis "Flexible Mandatory Access Control (MAC) for Linux")
    (description "Flexible Mandatory Access Control (MAC) for Linux.")
    (license license:expat)))

(define-public rust-semver-1
  (package
    (name "rust-semver")
    (version "1.0.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "semver" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fmvjjkd3f64y5fqr1nakkq371mnwzv09fbz5mbmdxril63ypdiw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/dtolnay/semver")
    (synopsis "Semantic version parsing and comparison")
    (description
     "This package provides the parser and evaluator for Cargo's flavor of
Semantic Versioning.")
    (license (list license:expat license:asl2.0))))

(define-public rust-semver-0.11
  (package
    (inherit rust-semver-1)
    (name "rust-semver")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "semver" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dn6064fipjymnmjccyjhb70miyvqvp08gvw1wbg8vbg4c8ay0gk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-diesel" ,rust-diesel-1)
        ("rust-semver-parser" ,rust-semver-parser-0.10)
        ("rust-serde" ,rust-serde-1))))))

(define-public rust-semver-0.9
  (package
    (name "rust-semver")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "semver" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-semver-parser" ,rust-semver-parser-0.7)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-crates-index" ,rust-crates-index-0.13)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://docs.rs/crate/semver")
    (synopsis
     "Semantic version parsing and comparison")
    (description
     "Semantic version parsing and comparison.")
    (license (list license:expat license:asl2.0))))

(define-public rust-semver-0.1
  (package
    (name "rust-semver")
    (version "0.1.20")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "semver" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b10m0hxrr947gp41lj9vnmgl5ddwx3d41vnblsg06ppvkz11x6l"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/semver")
    (synopsis "Parser and evaluator for Cargo's flavor of Semantic Versioning")
    (description
     "This package provides a parser and evaluator for Cargo's flavor of
Semantic Versioning.")
    (license (list license:expat license:asl2.0))))

(define-public rust-semver-parser-0.10
  (package
    (name "rust-semver-parser")
    (version "0.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "semver-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xqijhqhx3bn77xnl1mlcp032hz8nv7n2fbdacbdzq7rnzsvxc00"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;missing files
       #:cargo-inputs
       (("rust-pest" ,rust-pest-2))
       #:cargo-development-inputs
       (("rust-pest-generator" ,rust-pest-generator-2))))
    (home-page "https://github.com/steveklabnik/semver-parser")
    (synopsis "Parsing of the Semver spec")
    (description "This package provides for parsing of the Semver spec.")
    (license (list license:expat license:asl2.0))))

(define-public rust-semver-parser-0.9
  (package
    (inherit rust-semver-parser-0.10)
    (name "rust-semver-parser")
    (version "0.9.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "semver-parser" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))))

(define-public rust-semver-parser-0.7
  (package
    (inherit rust-semver-parser-0.9)
    (name "rust-semver-parser")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "semver-parser" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))

(define-public rust-send-wrapper-0.6
  (package
    (name "rust-send-wrapper")
    (version "0.6.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "send_wrapper" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0wrxzsh9fzgkkkms621ydnz8mj30ilyq299a8cf65jn1y72hw2yd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3))
       #:cargo-development-inputs
       (("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3))))
    (home-page "https://github.com/thk1/send_wrapper")
    (synopsis "Wrapper moving around non-@code{Send} types between threads")
    (description
     "This Rust library implements a wrapper type called @code{SendWrapper}
which allows you to move around non-@code{Send} types between threads, as long
as you access the contained value only from within the original thread.  You
also have to make sure that the wrapper is dropped from within the original
thread.  If any of these constraints is violated, a panic occurs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-send-wrapper-0.5
  (package
    (inherit rust-send-wrapper-0.6)
    (name "rust-send-wrapper")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "send_wrapper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mwbg1nv36d5kdjb0iwmprz24km0m8ck08dn59gdngqdc77hl34k"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-send-wrapper-0.4
  (package
    (inherit rust-send-wrapper-0.5)
    (name "rust-send-wrapper")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "send_wrapper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l7s28vfnwdbjyrrk3lx81jy4f0dcrv4iwyah2wj6vndxhqxaf7n"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-sensors-0.2
  (package
    (name "rust-sensors")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sensors" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l6nvmbbbbl9mdkd9806mmls68d6hvqb2nl0nm14chva5xwz8fks"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-libsensors-sys" ,rust-libsensors-sys-0.2))))
    (inputs (list (list lm-sensors "lib")))
    (home-page "https://github.com/nyantec/sensors")
    (synopsis "Rust-friendly interface to lm-sensors")
    (description
     "This package provides a Rust-friendly interface to lm-sensors.")
    (license license:miros)))

(define-public rust-seq-io-0.3
  (package
    (name "rust-seq-io")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "seq_io" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "173y343wfwxv08ifn65pfcw7y9ghrs9by78d6dnwbcgbppx17cl6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-buffer-redux" ,rust-buffer-redux-1)
        ("rust-crossbeam" ,rust-crossbeam-0.8)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-bio" ,rust-bio-1)
        ("rust-criterion" ,rust-criterion-0.5)
        ("rust-fastq" ,rust-fastq-0.6)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-distr" ,rust-rand-distr-0.4)
        ("rust-rand-isaac" ,rust-rand-isaac-0.3))))
    (inputs
     (list zlib))
    (home-page "https://github.com/markschl/seq_io")
    (synopsis "Fast FASTA, FASTQ and FASTX parsing")
    (description "This library provides readers for the the following sequence
formats:
@itemize
@item FASTA,
@item FASTQ (including multi-line FASTQ),
@item FASTX: Automatic recognition of the sequence format (either FASTA or FASTQ).
@end itemize")
    (license license:expat)))

(define-public rust-seq-macro-0.3
  (package
    (name "rust-seq-macro")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "seq-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d50kbaslrrd0374ivx15jg57f03y5xzil1wd2ajlvajzlkbzw53"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/seq-macro")
    (synopsis "Repeat sequentially indexed copies of a fragment of code")
    (description
     "Macro to repeat sequentially indexed copies of a fragment of code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-1
  (package
    (name "rust-serde")
    (version "1.0.216")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13ikqs0cvd220530x4rj1m9ab5wcflrwkw7cpvl9fnlkdq0q35qb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://serde.rs")
    (synopsis "Generic serialization/deserialization framework")
    (description
     "This package provides a generic serialization/deserialization framework.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-0.9
  (package
    (inherit rust-serde-1)
    (name "rust-serde")
    (version "0.9.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bsla8l5xr9pp5sirkal6mngxcq6q961km88jvf339j5ff8j7dil"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    ((", path =.*}") "}")))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde-derive" ,rust-serde-derive-0.9))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-0.9))))))

(define-public rust-serde-0.8
  (package
    (inherit rust-serde-1)
    (name "rust-serde")
    (version "0.8.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1j4ajipn0sf4ya0crgcb94s848qp7mfc35n6d0q2rf8rk5skzbcx"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-clippy" ,rust-clippy-0.0.302))
       #:tests? #f))))

(define-public rust-serde-aux-4
  (package
    (name "rust-serde-aux")
    (version "4.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde-aux" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0fdf1hdv85ghlfcil6ynl3npbbparmlx3ynn3c0wz7bgxfvy3py3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))
       ;#:cargo-development-inputs
       ;(("rust-serde-qs" ,rust-serde-qs-0.10))
       ))
    (home-page "https://github.com/vityafx/serde-aux")
    (synopsis "Serde crate's auxiliary library")
    (description "This package provides a serde crate's auxiliary library.")
    (license license:expat)))

(define-public rust-serde-bencode-0.2
  (package
    (name "rust-serde-bencode")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_bencode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gj17p1w5hyi69fngv55dai4nb4fmdij76gqwyb9if9qfixzq3d7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-bytes" ,rust-serde-bytes-0.11))
       #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/toby/serde-bencode")
    (synopsis "Serde backed Bencode encoding/decoding library for Rust.")
    (description
     "This package provides a Serde backed Bencode encoding/decoding library
for Rust.")
    (license license:expat)))

(define-public rust-serde-big-array-0.5
  (package
    (name "rust-serde-big-array")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-big-array" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zsb9s9rcca3408kg20c6xpx917c9vbbnap5gvrf0wvdqz17rz0i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/est31/serde-big-array")
    (synopsis "Big array helper for serde")
    (description "Big array helper for serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-big-array-0.4
  (package
    (inherit rust-serde-big-array-0.5)
    (name "rust-serde-big-array")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde-big-array" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1rwhbrffdxy87bxbyx8p68cg30gf0dlflx14vk1qiwlafjdg08rk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-serde-big-array-0.3
  (package
    (name "rust-serde-big-array")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-big-array" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "190hrlbilvarn5almh3n2s4di9qagxnz3chv6xaw1c72dygzacfd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/est31/serde-big-array")
    (synopsis "Big array helper for serde")
    (description "This package provides a big array helper for serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-big-array-0.2
  (package
    (name "rust-serde-big-array")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serde-big-array" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0kj0h99y7ma9nsayv87fj2n680bcrwv2mrcbmc774lgak18ywgl8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/est31/serde-big-array")
    (synopsis "Big array helper for serde")
    (description "This package provides a big array helper for serde.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-serde-big-array-0.1
  (package
    (inherit rust-serde-big-array-0.2)
    (name "rust-serde-big-array")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-big-array" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0gkyqxk760mp1lfcg6lhjk95ajc89nr0qdd0vl4ic0g8pyxcy9mr"))))))

(define-public rust-serde-buf-0.1
  (package
    (name "rust-serde-buf")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_buf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k2nc3pa7rbzyhhnjakw6nkx2wa6da6nrxf65s6p2d3xdjfvx1is"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/KodrAus/serde_buf.git")
    (synopsis "Generic buffering for serde")
    (description "Generic buffering for serde.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-serde-bytes-0.11
  (package
    (name "rust-serde-bytes")
    (version "0.11.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_bytes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sjwczchd9p4ak4m644jpkv4r181zr8yj14fdjll1fq6rc2caz1q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/serde-rs/bytes")
    (synopsis "Handle integer arrays and vectors for Serde")
    (description
     "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-bytes-0.10
  (package
    (inherit rust-serde-bytes-0.11)
    (name "rust-serde-bytes")
    (version "0.10.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_bytes" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "127c9br02ygajs4z3bw850i48nc25f4yn7kmh21wqd3z7nlbiyyy"))))))

(define-public rust-serde-cbor-0.11
  (package
    (name "rust-serde-cbor")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_cbor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xf1bq7ixha30914pd5jl3yw9v1x6car7xgrpimvfvs5vszjxvrb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-half" ,rust-half-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/pyfisch/cbor")
    (synopsis "CBOR support for serde")
    (description "CBOR support for serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-codegen-internals-0.14
  (package
    (name "rust-serde-codegen-internals")
    (version "0.14.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_codegen_internals" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0004s3wlc85vi6hq62hq84cv5b6qbbin1n6hdaqj095xhg98p25w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-syn" ,rust-syn-0.11))))
    (home-page "https://serde.rs")
    (synopsis "AST representation used by Serde codegen")
    (description
     "Unstable AST representation used by Serde codegen.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-derive-1
  (package
    (name "rust-serde-derive")
    (version "1.0.216")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0pm5bm4354n40ir12bbs829arlqwjrw0wmzd4xk5r1kkpzdmky26"))))
    (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-serde" ,rust-serde-1))))
    (home-page "https://serde.rs")
    (synopsis "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
    (description
     "This package provides the macros 1.1 implementation of
@code{#[derive(Serialize, Deserialize)]}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-derive-0.9
  (package
    (inherit rust-serde-derive-1)
    (name "rust-serde-derive")
    (version "0.9.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fkldf0lnl6pwxs00qpyp79m30qmfpi3bk0wm22211ylyikdi3wp"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    ((", path =.*}") "}")))))
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-0.3)
        ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
        ("rust-syn" ,rust-syn-0.11))))))

(define-public rust-serde-derive-internals-0.29
  (package
    (name "rust-serde-derive-internals")
    (version "0.29.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_derive_internals" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04g7macx819vbnxhi52cx0nhxi56xlhrybgwybyy7fb9m4h6mlhq"))))
    (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://serde.rs")
    (synopsis "AST representation used by Serde derive macros")
    (description "This package provides AST representation used by Serde
derive macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-derive-internals-0.26
  (package
    (inherit rust-serde-derive-internals-0.29)
    (name "rust-serde-derive-internals")
    (version "0.26.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_derive_internals" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g2zdr6s8i0r29yy7pdl6ahimq8w6ck70hvrciiry2ljwwlq5gw5"))))
    (arguments
     `(#:tests? #f    ; no variant or associated item named `__TestExhaustive`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-serde-derive-internals-0.25
  (package
    (inherit rust-serde-derive-internals-0.26)
    (name "rust-serde-derive-internals")
    (version "0.25.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serde_derive_internals" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1ihqfkpplqqiwmh87s8p9jsv27ibkz1z7gc0abqs2mrhlr6b7fhx"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-serde-fmt-1
  (package
    (name "rust-serde-fmt")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_fmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "195sp3zxbdgrnaqxwn9z3pij04fd7yyihnm4fpfc261r5fdacqr9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/KodrAus/serde_fmt.git")
    (synopsis "Write any @code{serde::Serialize} using standard formatting APIs")
    (description
     "This package allows one to Write any @code{serde::Serialize} using the
standard formatting APIs.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-serde-hjson-0.9
  (package
    (name "rust-serde-hjson")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-hjson" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y3lzs8556bxqa9jfdyg38pd5jjffblczikckwh571d8m074wfka"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.3)
        ("rust-num-traits" ,rust-num-traits-0.1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-0.8))))
    (home-page "https://github.com/hjson/hjson-rust")
    (synopsis "Human JSON (Hjson) serialization file format")
    (description
     "This crate is a Rust library for parsing and generating Human JSON
Hjson.  It is built upon Serde, a high performance generic serialization
framework.")
    (license license:expat)))

(define-public rust-serde-html-form-0.2
  (package
    (name "rust-serde-html-form")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_html_form" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "133ycw4zdw4jymnw38n4vnjnvhxf5im3hh6g4akr4rps3ip0dq90"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-form-urlencoded" ,rust-form-urlencoded-1)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-assert-matches2" ,rust-assert-matches2-0.1)
                                   ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/jplatte/serde_html_form")
    (synopsis
     "(De-)serialization support for the `application/x-www-form-urlencoded` format")
    (description
     "This package provides (de-)serialization support for the
`application/x-www-form-urlencoded` format.")
    (license license:expat)))

(define-public rust-serde-ignored-0.1
  (package
    (name "rust-serde-ignored")
    (version "0.1.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_ignored" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1psdv0ahmxgw4l3dg341j5q2k09d7glj93v01mm14lhvdniikqx8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/dtolnay/serde-ignored")
    (synopsis "Find ignored keys when deserializing data")
    (description "Find out about keys that are ignored when deserializing
data.  This crate provides a wrapper that works with any existing Serde
@code{Deserializer} and invokes a callback on every ignored field.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-indextree-0.2
  (package
    (name "rust-serde-indextree")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde_indextree" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0kzp3dk6smfy0509fd1sih9ai4a31kgpb1rshsxb0m2l01c7s3m7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indextree" ,rust-indextree-4)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/PoiScript/serde_indextree")
    (synopsis "Serializing indextree structure")
    (description "Serializing indextree structure.")
    (license license:expat)))

(define-public rust-serde-json-1
  (package
    (name "rust-serde-json")
    (version "1.0.134")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z8wk61rzpqjmnwhv6k9zikhsfmsb6lr6qbg84aqpr1fqisl23yh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-2)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-automod" ,rust-automod-1)
        ("rust-indoc" ,rust-indoc-2)
        ("rust-ref-cast" ,rust-ref-cast-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-stacker" ,rust-serde-stacker-0.1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/serde-rs/json")
    (synopsis "JSON serialization file format")
    (description
     "This package provides a JSON serialization file format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-json-0.9
  (package
    (inherit rust-serde-json-1)
    (name "rust-serde-json")
    (version "0.9.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_json" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "188nbf56m7p6mnh3xd71rwqxd4g95lqh8gsl7mfy3lp7gd4cz2xd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-dtoa" ,rust-dtoa-0.4)
        ("rust-itoa" ,rust-itoa-0.3)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.4)
        ("rust-num-traits" ,rust-num-traits-0.1)
        ("rust-serde" ,rust-serde-0.9))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-0.9))))))

(define-public rust-serde-json-core-0.5
  (package
    (name "rust-serde-json-core")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde-json-core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cxv1cp244f7mahw3snmdq91s44py3jwf3lj6i643g606fsim7iw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heapless" ,rust-heapless-0.7)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/rust-embedded-community/serde-json-core")
    (synopsis "serde-json for no_std programs")
    (description "This package provides @code{serde-json} for @code{no_std}
programs in rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-json-core-0.4
  (package
    (inherit rust-serde-json-core-0.5)
    (name "rust-serde-json-core")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-json-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10a7k6ly9ly4xkk30nqq2js7acrg7wjl73bpg43hzjib4zmaw540"))))
    (arguments
     `(#:cargo-inputs (("rust-heapless" ,rust-heapless-0.7)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-serde-norway-0.9
  (package
    (name "rust-serde-norway")
    (version "0.9.38")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_norway" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ddyv4chvy60bnih4d8kx302a4a1qkjkj1fjk8qq290iyq4p3va6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-unsafe-libyaml" ,rust-unsafe-libyaml-0.2))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-indoc" ,rust-indoc-2)
                                   ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/cafkafk/serde-yaml")
    (synopsis "YAML data format for Serde")
    (description "This package provides YAML data format for Serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-path-to-error-0.1
  (package
    (name "rust-serde-path-to-error")
    (version "0.1.16")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serde_path_to_error" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "19hlz2359l37ifirskpcds7sxg0gzpqvfilibs7whdys0128i6dg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-itoa" ,rust-itoa-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/dtolnay/path-to-error")
    (synopsis "Path to the element that failed to deserialize")
    (description
     "This package provides a path to the element that failed to deserialize.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-qs-0.8
  (package
    (name "rust-serde-qs")
    (version "0.8.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_qs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19pngnlga4xnap85kdvn661662hf42lkkppp9sd04py7xs056wf7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-actix-web" ,rust-actix-web-3)
                       ("rust-actix-web" ,rust-actix-web-2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-warp" ,rust-warp-0.3))
       #:cargo-development-inputs
       (("rust-csv" ,rust-csv-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7)
        ("rust-serde-with" ,rust-serde-with-1))))
    (home-page "https://github.com/samscott89/serde_qs")
    (synopsis "Querystrings for Serde")
    (description
     "This crate is a Rust library for serialising to and deserialising from
querystrings.  This crate is designed to extend @code{serde_urlencoded} when
using nested parameters, similar to those used by @code{qs} for Node, and
commonly used by Ruby on Rails via Rack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-qs-0.7
  (package
    (inherit rust-serde-qs-0.8)
    (name "rust-serde-qs")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_qs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jz6gpr02d393f8cwdxbgfl3jhx5svr1z5ilxhdh16slqvijvy2s"))))
    (arguments
     ;; XXX: The crate fails to't build with with the same error as
     ;; rust-actix-connect.  Skip build for now.
     `(#:skip-build? #true
       #:cargo-inputs
       (("rust-actix-web" ,rust-actix-web-2)
        ("rust-data-encoding" ,rust-data-encoding-2)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs
       (("rust-csv" ,rust-csv-1)
        ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7))))))

(define-public rust-serde-regex-1
  (package
    (name "rust-serde-regex")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_regex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pxsnxb8c198szghk1hvzvhva36w2q5zs70hqkmdf5d89qd6y4x8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/tailhook/serde-regex")
    (synopsis "Serde wrapper that (de)serializes regex as strings")
    (description
     "This package provides a serde wrapper that (de)serializes regex as strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-repr-0.1
  (package
    (name "rust-serde-repr")
    (version "0.1.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_repr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sb4cplc33z86pzlx38234xr141wr3cmviqgssiadisgl8dlar3c"))))
    (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-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/serde-repr")
    (synopsis "Serialize and deserialize C-like enum as underlying repr")
    (description
     "This crate provides a derive macro to derive Serde's @code{Serialize}
and @code{Deserialize} traits in a way that delegates to the underlying repr
of a C-like enum.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-spanned-0.6
  (package
    (name "rust-serde-spanned")
    (version "0.6.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde_spanned" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0v9h2nlg8r7n7dkbgj1aw59g35kl869l652wc6zi2f4zawqinnzb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `toml`
       #:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde" ,rust-serde-1)
                                   ("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-untagged" ,rust-serde-untagged-0.1))))
    (home-page "https://github.com/toml-rs/toml")
    (synopsis "Encoder and decoder of TOML-formatted files and streams")
    (description "This package provides a native Rust encoder and decoder of
TOML-formatted files and streams.  Provides implementations of the standard
Serialize/Deserialize traits for TOML data to facilitate deserializing and
serializing Rust structures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-stacker-0.1
  (package
    (name "rust-serde-stacker")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_stacker" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13kz9x2f1bhv6n997ydkykkhz479ki25wm6jxmr5rfsj1dxh2njp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-stacker" ,rust-stacker-0.1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/dtolnay/serde-stacker")
    (synopsis "@code{serde} adapter that avoids stack overflow")
    (description
     "This package provides a @code{serde} adapter that avoids stack overflow
by dynamically growing the stack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-test-1
  (package
    (name "rust-serde-test")
    (version "1.0.176")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ar0sqlahx33l0qzw7alk61dp14ma52q42vy9z8i51j9w6n4jbss"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://serde.rs")
    (synopsis
     "Token De/Serializer for testing De/Serialize implementations")
    (description
     "Token De/Serializer for testing De/Serialize implementations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-test-0.9
  (package
    (inherit rust-serde-test-1)
    (name "rust-serde-test")
    (version "0.9.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "193mf0qkhvjywd06x6hhmkixlqcyfbpfwfmr75dp2b8xwzpsvxwf"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    ((", path =.*}") "}")))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-0.9))))))

(define-public rust-serde-test-0.8
  (package
    (inherit rust-serde-test-1)
    (name "rust-serde-test")
    (version "0.8.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m939j7cgs7i58r6vxf0ffp3nbr8advr8p9dqa9w8zk0z2yks2qi"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "Cargo.toml"
                    ((", path = \"../serde\"") "")))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-0.8))))))

(define-public rust-serde-transcode-1
  (package
    (name "rust-serde-transcode")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-transcode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qlh34kw4knbs83xy6x0wwbb71pbiivcw6swpy2nxfx5q8jhw32r"))))
    (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/sfackler/serde-transcode")
    (synopsis "Transcode from one Serde format to another")
    (description "This package provides functions to transcode from one Serde
format to another.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-untagged-0.1
  (package
    (name "rust-serde-untagged")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-untagged" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dn5nmkmbpc0x50ai3lp307pdf50dzd8wb5xbjp5rxw2pncvlxi6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-erased-serde" ,rust-erased-serde-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-typeid" ,rust-typeid-1))
       #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-toml" ,rust-toml-0.8))))
    (home-page "https://github.com/dtolnay/serde-untagged")
    (synopsis "Serde `Visitor` implementation for deserializing untagged enums")
    (description "This package is a Serde `Visitor` implementation for
deserializing untagged enums.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-urlencoded-0.7
  (package
    (name "rust-serde-urlencoded")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_urlencoded" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zgklbdaysj3230xivihs30qi5vkhigg323a9m62k8jwf4a1qjfk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-form-urlencoded" ,rust-form-urlencoded-1)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/nox/serde_urlencoded")
    (synopsis "`x-www-form-urlencoded` meets Serde")
    (description
     "This crate is a Rust library for serialising to and deserialising from
the application/x-www-form-urlencoded format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-urlencoded-0.6
  (package
    (inherit rust-serde-urlencoded-0.7)
    (name "rust-serde-urlencoded")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_urlencoded" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "15rcwfkff0md5i231m2ym5756ksw1mkh5b5g2rw72wsc5mzdgicy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-dtoa" ,rust-dtoa-0.4)
        ("rust-itoa" ,rust-itoa-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-serde-value-0.7
  (package
    (name "rust-serde-value")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-value" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b18ngk7n4f9zmwsfdkhgsp31192smzyl5z143qmx1qi28sa78gk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-ordered-float" ,rust-ordered-float-2)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/arcnmx/serde-value")
    (synopsis "Serialization value trees")
    (description
     "@code{serde-value} provides a way to capture serialization value trees
for later processing.")
    (license license:expat)))

(define-public rust-serde-wasm-bindgen-0.3
  (package
    (name "rust-serde-wasm-bindgen")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-wasm-bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xzh1a3rhapirlca4rbvh6bycphxg5yjmdwjsqij3hl6wpl6b0v1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-maplit" ,rust-maplit-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/cloudflare/serde-wasm-bindgen")
    (synopsis "Native Serde adapter for wasm-bindgen")
    (description "Native Serde adapter for wasm-bindgen.")
    (license license:expat)))

(define-public rust-serde-with-3
  (package
    (name "rust-serde-with")
    (version "3.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_with" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "082a7j42h79rs2jzafw67lay0497hnip56fdxfjxaj81mg987m0a"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Not all dependencies packaged
       #:cargo-test-flags
       '("--release" "--"
         ;; Test fails in release tarball.
         "--skip=test_serde_with_macros_dependency")
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.22)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-indexmap" ,rust-indexmap-2)
        ("rust-schemars" ,rust-schemars-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-with-macros" ,rust-serde-with-macros-3)
        ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs
       (("rust-expect-test" ,rust-expect-test-1)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-glob" ,rust-glob-0.3)
        ;("rust-jsonschema" ,rust-jsonschema-0.17)
        ("rust-mime" ,rust-mime-0.3)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rmp-serde" ,rust-rmp-serde-1)
        ("rust-ron" ,rust-ron-0.8)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-schemars" ,rust-schemars-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.9)
        ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/jonasbb/serde_with/")
    (synopsis "Custom de/serialization functions for Rust's serde")
    (description "This package provides custom de/serialization functions for
Rust's serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-with-2
  (package
    (inherit rust-serde-with-3)
    (name "rust-serde-with")
    (version "2.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_with" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gmgl2raxxnpvjgcvkrimgv55kbjywi5xbffc9rvb9s7q7973zq7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; could not find `Deserializer` in `serde_test`
       #:cargo-inputs (("rust-base64" ,rust-base64-0.13)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-doc-comment" ,rust-doc-comment-0.3)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-with-macros" ,rust-serde-with-macros-2)
                       ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs
       (("rust-expect-test" ,rust-expect-test-1)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-mime" ,rust-mime-0.3)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rmp-serde" ,rust-rmp-serde-1)
        ("rust-ron" ,rust-ron-0.8)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.9)
        ("rust-version-sync" ,rust-version-sync-0.9))))))

(define-public rust-serde-with-1
  (package
    (inherit rust-serde-with-3)
    (name "rust-serde-with")
    (version "1.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_with" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zqjlc9ypm8y0r9bcgdhh62zcdn2yzfxh31dsbn01gshkq35m2v7"))))
    (arguments
     `(#:tests? #f      ; could not find `Deserializer` in `serde_test`
       #:cargo-inputs (("rust-base64" ,rust-base64-0.13)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-doc-comment" ,rust-doc-comment-0.3)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-serde-with-macros" ,rust-serde-with-macros-1)
                       ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs
       (("rust-expect-test" ,rust-expect-test-1)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-mime" ,rust-mime-0.3)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rmp-serde" ,rust-rmp-serde-1)
        ("rust-ron" ,rust-ron-0.7)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.5)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8)
        ("rust-version-sync" ,rust-version-sync-0.9))))))

(define-public rust-serde-with-macros-3
  (package
    (name "rust-serde-with-macros")
    (version "3.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_with_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qmwh1bw83p8h24ijmivfaz0nifhkdvwbcdvr25kwi215xq9nmk5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=test_serde_with_dependency")
       #:cargo-inputs
       (("rust-darling" ,rust-darling-0.20)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-expect-test" ,rust-expect-test-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/jonasbb/serde_with/")
    (synopsis "Proc-macro library for serde_with")
    (description "This package provides proc-macro library for
@code{serde_with}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-with-macros-2
  (package
    (inherit rust-serde-with-macros-3)
    (name "rust-serde-with-macros")
    (version "2.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_with_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pv9wy1aihsaklg83qac4q0ksimbxcwwk56lwla35l8p3f46y6w8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Not all files included.
                            "--skip=test_serde_with_dependency")
       #:cargo-inputs (("rust-darling" ,rust-darling-0.20)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-expect-test" ,rust-expect-test-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-version-sync" ,rust-version-sync-0.9))))))

(define-public rust-serde-with-macros-1
  (package
    (inherit rust-serde-with-macros-3)
    (name "rust-serde-with-macros")
    (version "1.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_with_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10l0rsy0k61nvpn1brcfvzp8yfnvsqdgh6zdwp03qf85dzndd0p1"))))
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.13)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-version-sync" ,rust-version-sync-0.9))))))

(define-public rust-serde-xml-rs-0.6
  (package
    (name "rust-serde-xml-rs")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde-xml-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10i7dvd0c1clj4jbljd08qs8466nlymx7ma7k3ncksx1rn7affpv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=test_doctype"
             "--skip=test_hugo_duncan"
             "--skip=test_hugo_duncan2"
             "--skip=test_namespaces"
             "--skip=whitespace_preserving_config")
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-xml-rs" ,rust-xml-rs-0.8))
       #:cargo-development-inputs
       (("rust-docmatic" ,rust-docmatic-0.1)
        ("rust-rstest" ,rust-rstest-0.12)
        ("rust-serde" ,rust-serde-1)
        ("rust-simple-logger" ,rust-simple-logger-2))))
    (home-page "https://github.com/RReverser/serde-xml-rs")
    (synopsis "xml-rs based deserializer for Serde")
    (description "This package provides a xml-rs based deserializer for Serde
(compatible with 0.9+).")
    (license license:expat)))

(define-public rust-serde-xml-rs-0.5
  (package
    (inherit rust-serde-xml-rs-0.6)
    (name "rust-serde-xml-rs")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde-xml-rs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ypdy4cry8y6jbia0l0cqvkxkdvl7vplzfzb44s6lbxyb682w5k5"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-xml-rs" ,rust-xml-rs-0.8))))))

(define-public rust-serde-xml-rs-0.4
  (package
    (inherit rust-serde-xml-rs-0.5)
    (name "rust-serde-xml-rs")
    (version "0.4.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde-xml-rs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ykx1xkfd59gf0ijnp93xhpd457xy4zi8xv2hrr0ikvcd6h1pgzh"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_doctype_fail"
         "--skip=test_hugo_duncan"
         "--skip=test_hugo_duncan2"
         "--skip=test_namespaces")
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-xml-rs" ,rust-xml-rs-0.8))
       #:cargo-development-inputs
       (("rust-docmatic" ,rust-docmatic-0.1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-simple-logger" ,rust-simple-logger-1))))))

(define-public rust-serde-yaml-0.9
  (package
    (name "rust-serde-yaml")
    (version "0.9.30")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "serde_yaml" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0f4xkmbjgq452ynh3nkz84c0dryjfp410gfqy7hhxxwrkb3jigxi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-2)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-unsafe-libyaml" ,rust-unsafe-libyaml-0.2))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-indoc" ,rust-indoc-2)
        ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/dtolnay/serde-yaml")
    (synopsis "YAML support for Serde")
    (description "This package provides YAML support for Serde.")
    (license (list license:expat license:asl2.0))))

(define-public rust-serde-yaml-0.8
  (package
    (inherit rust-serde-yaml-0.9)
    (name "rust-serde-yaml")
    (version "0.8.26")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_yaml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06y7gxy312mink8nsnmci9cw0ykpgsdcxmayg0snmdbnnwrp92jp"))))
    (arguments
     `(#:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-yaml-rust" ,rust-yaml-rust-0.4))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-indoc" ,rust-indoc-1)
        ("rust-serde-derive" ,rust-serde-derive-1))))))

(define-public rust-serde-yaml-ng-0.10
  (package
    (name "rust-serde-yaml-ng")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serde_yaml_ng" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07ylpzx9xykdj4fqfa0vb6xz4c1pazrqqibv78hd8dlbp4kvckbv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-unsafe-libyaml" ,rust-unsafe-libyaml-0.2))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-indoc" ,rust-indoc-2)
                                   ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/acatton/serde-yaml-ng")
    (synopsis "YAML data format for Serde")
    (description "This package provides YAML data format for Serde.")
    (license license:expat)))

(define-public rust-serdeconv-0.4
  (package
    (name "rust-serdeconv")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serdeconv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08bjyh38pr9ssg9vivk66r461j3piq78w5jb55afa98xxxnnk5w8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rmp-serde" ,rust-rmp-serde-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-toml" ,rust-toml-0.7)
        ("rust-trackable" ,rust-trackable-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/sile/serdeconv")
    (synopsis
     "Convert between TOML/JSON/MessagePack strings and serializable values")
    (description
     "This crate provides traits and functions for converting between
TOML/JSON/MessagePack strings and serializable values.")
    (license license:expat)))

(define-public rust-serial-0.4
  (package
    (name "rust-serial")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11iyvc1z123hn7zl6bk5xpf6xdlsb33qh6xa7g0pghqgayb7l8x1"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   ((", path = \".*\"") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serial-core" ,rust-serial-core-0.4)
                       ("rust-serial-unix" ,rust-serial-unix-0.4)
                       ("rust-serial-windows" ,rust-serial-windows-0.4))))
    (home-page "https://github.com/dcuddeback/serial-rs")
    (synopsis "Rust library for accessing serial ports")
    (description
     "This package provides Rust library for accessing serial ports.")
    (license license:expat)))

(define-public rust-serial-core-0.4
  (package
    (name "rust-serial-core")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10a5lvllz3ljva66bqakrn8cxb3pkaqyapqjw9x760al6jdj0iiz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/dcuddeback/serial-rs")
    (synopsis "Rust abstractions for serial ports")
    (description "This package provides Rust abstractions for serial ports.")
    (license license:expat)))

(define-public rust-serial-test-3
  (package
    (name "rust-serial-test")
    (version "3.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a8zg87gi28952hzj363ykwd8p1ssrakl1gi3f4xdqa4y84q298v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-document-features" ,rust-document-features-0.2)
                       ("rust-env-logger" ,rust-env-logger-0.10)
                       ("rust-fslock" ,rust-fslock-0.2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-scc" ,rust-scc-2)
                       ("rust-serial-test-derive" ,rust-serial-test-derive-3))
       #:cargo-development-inputs (("rust-itertools" ,rust-itertools-0.10))))
    (home-page "https://github.com/palfrey/serial_test")
    (synopsis "Allows for the creation of serialised Rust tests")
    (description
     "This package allows for the creation of serialised Rust tests.")
    (license license:expat)))

(define-public rust-serial-test-2
  (package
    (inherit rust-serial-test-3)
    (name "rust-serial-test")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b9v0csv9wxl1gcjq99plwimxbmhgr6kzbwqyb457qh3d22xsmhf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-dashmap" ,rust-dashmap-5)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-fslock" ,rust-fslock-0.2)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-serial-test-derive" ,rust-serial-test-derive-2))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.10)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-serial-test-1
  (package
    (inherit rust-serial-test-2)
    (name "rust-serial-test")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04864v5ain4nan2k5l32sr3bxpg0sfxxs2iki3xxcq78g9s3132k"))))
    (arguments
     `(#:cargo-inputs
       (("rust-dashmap" ,rust-dashmap-5)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-fslock" ,rust-fslock-0.2)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-serial-test-derive" ,rust-serial-test-derive-1))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.10)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-serial-test-0.10
  (package
    (inherit rust-serial-test-3)
    (name "rust-serial-test")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wh6jl0wddnyra9f57c3y64lha6n1ipg8p20l8id11s6gz49wy0w"))))
    (arguments
     `(#:cargo-inputs (("rust-dashmap" ,rust-dashmap-5)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-fslock" ,rust-fslock-0.2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-serial-test-derive" ,rust-serial-test-derive-0.10))
       #:cargo-development-inputs (("rust-itertools" ,rust-itertools-0.10)
                                   ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-serial-test-0.7
  (package
    (inherit rust-serial-test-2)
    (name "rust-serial-test")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x69v41r2d3l1dby8ppr9vxb1xamjpml5w42zvdwwix1k6wvz7fi"))))
    (arguments
     `(#:cargo-inputs (("rust-document-features" ,rust-document-features-0.2)
                       ("rust-fslock" ,rust-fslock-0.2)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-serial-test-derive" ,rust-serial-test-derive-0.7))
       #:cargo-development-inputs (("rust-itertools" ,rust-itertools-0.10))))))

(define-public rust-serial-test-0.6
  (package
    (inherit rust-serial-test-1)
    (name "rust-serial-test")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05gcah6s133r44y4z5qskx7prs1vjlzgv06h4l2xb8gp30fw9g75"))))
    (arguments
     `(#:cargo-inputs
       (("rust-document-features" ,rust-document-features-0.2)
        ("rust-fslock" ,rust-fslock-0.2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-serial-test-derive" ,rust-serial-test-derive-0.6))))))

(define-public rust-serial-test-0.5
  (package
    (inherit rust-serial-test-0.6)
    (name "rust-serial-test")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pchc7imdi9wv8xxnwkb9lzs6cg06ghs0gaajjb834y8837wpg70"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-serial-test-derive" ,rust-serial-test-derive-0.5))))))

(define-public rust-serial-test-0.4
  (package
    (name "rust-serial-test")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mkz246ax07nar0bmh3m98kl27lacja98vywi9cjqbsb8g3zgxgy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
("rust-parking-lot" ,rust-parking-lot-0.10)
("rust-serial-test-derive" ,rust-serial-test-derive-0.4))))
    (home-page
     "https://github.com/palfrey/serial_test/")
    (synopsis "Serialising Rust tests")
    (description "Serialising Rust tests")
    (license license:expat)))

(define-public rust-serial-test-0.1
  (package
    (inherit rust-serial-test-0.5)
    (name "rust-serial-test")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serial_test" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0qywhzjc4jh6dqqng90maai0mjlmafk9aa5rrl9g3d2g01wdn8ms"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-serial-test-derive-3
  (package
    (name "rust-serial-test-derive")
    (version "3.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vwyz2k5kiy5jmba0fvp6ph8ia707801bz918n2ff7bm11d2csax"))))
    (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-env-logger" ,rust-env-logger-0.10)
                                   ("rust-prettyplease" ,rust-prettyplease-0.2))))
    (home-page "https://github.com/palfrey/serial_test")
    (synopsis "Helper crate for serial_test")
    (description
     "This package is an helper crate for @code{rust-serial-test}.")
    (license license:expat)))

(define-public rust-serial-test-derive-2
  (package
    (inherit rust-serial-test-derive-3)
    (name "rust-serial-test-derive")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13zvd5ds76hhjn3z0axc05n15lzpxpz77jcykic8q5knhlbjklci"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.10))))))

(define-public rust-serial-test-derive-1
  (package
    (inherit rust-serial-test-derive-2)
    (name "rust-serial-test-derive")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0scscldvlz3an9v0spcizaqp5wa2y4w15bk4ink8jpgq2pgq76h7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.9))))))

(define-public rust-serial-test-derive-0.10
  (package
    (inherit rust-serial-test-derive-3)
    (name "rust-serial-test-derive")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qvz5vwzhxs2j2dsripyrxqn08brw3p0rbcafys8hz793i9rwkxn"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9))))))

(define-public rust-serial-test-derive-0.7
  (package
    (inherit rust-serial-test-derive-2)
    (name "rust-serial-test-derive")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wjrhql36lsgjw9zg5c95px0mq74ry5m46hwiwgnh7dyn98217nb"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro-error" ,rust-proc-macro-error-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-serial-test-derive-0.6
  (package
    (inherit rust-serial-test-derive-1)
    (name "rust-serial-test-derive")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s6aj2bs0rr8hnralx16bvbqlbrihmii7cyplggk5yv0gp6vr098"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-error" ,rust-proc-macro-error-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-serial-test-derive-0.5
  (package
    (inherit rust-serial-test-derive-0.6)
    (name "rust-serial-test-derive")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m8sd97xr8dn6p9by0xwfqm0rz8cbn1ghs5l1fv1xd6xzvgddb5j"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.7))))))

(define-public rust-serial-test-derive-0.4
  (package
    (name "rust-serial-test-derive")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial_test_derive" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "05b5xr36zi8damfg3bmbh1kwdxc3k1y2r8b8pmi7q8jb0bc3i0yh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page
     "https://github.com/palfrey/serial_test_derive/")
    (synopsis "Serialising Rust tests")
    (description "Serialising Rust tests")
    (license license:expat)))

(define-public rust-serial-test-derive-0.1
  (package
    (inherit rust-serial-test-derive-0.5)
    (name "rust-serial-test-derive")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "serial_test_derive" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "17fkqrba233sjhdak986y4w3z4yjxa4idjkh46l7zxgcgjlvrnic"))))
    (arguments
     `(#:cargo-inputs
       (("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.15))))))

(define-public rust-serial-unix-0.4
  (package
    (name "rust-serial-unix")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial-unix" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dyaaca8g4q5qzc2l01yirzs6igmhc9agg4w8m5f4rnqr6jbqgzh"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   ((", path = \".*\"") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ioctl-rs" ,rust-ioctl-rs-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-serial-core" ,rust-serial-core-0.4)
                       ("rust-termios" ,rust-termios-0.2))))
    (home-page "https://github.com/dcuddeback/serial-rs")
    (synopsis "Serial port implementation for Unix")
    (description "This package provides Serial port implementation for Unix.")
    (license license:expat)))

(define-public rust-serial-windows-0.4
  (package
    (name "rust-serial-windows")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "serial-windows" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ql1vjy57g2jf218bhmgr98i41faq0v5vzdx3g9payi6fsvx7ihm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; could not find `windows` in `os`
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-serial-core" ,rust-serial-core-0.4))))
    (home-page "https://github.com/dcuddeback/serial-rs")
    (synopsis "Serial port implementation for Windows")
    (description
     "This package provides Serial port implementation for Windows.")
    (license license:expat)))

(define-public rust-servo-arc-0.3
  (package
    (name "rust-servo-arc")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "servo_arc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i0s9786np106yl6w29bfzwnj29rqak912skcdxcf04yjlddfdnh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
    (home-page "https://github.com/servo/servo")
    (synopsis "Fork of std::sync::Arc with some extra functionality")
    (description
     "This package provides a fork of @code{std::sync::Arc} with some extra
functionality and without weak references.")
    (license (list license:expat license:asl2.0))))

(define-public rust-servo-arc-0.2
  (package
    (inherit rust-servo-arc-0.3)
    (name "rust-servo-arc")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "servo_arc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hgp453zvrj7ry501jhxlcph0hc42gc26zyfwn8ys3yziwps8anm"))))
    (arguments
     `(#:cargo-inputs
       (("rust-nodrop" ,rust-nodrop-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))

(define-public rust-servo-arc-0.1
  (package
    (inherit rust-servo-arc-0.2)
    (name "rust-servo-arc")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "servo_arc" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0cjljr9znwahry6p95xvd3p4pmy24wlf6gbfidnmglg002w3i0nr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-nodrop" ,rust-nodrop-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))

(define-public rust-servo-fontconfig-0.5
  (package
    (name "rust-servo-fontconfig")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "servo-fontconfig" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z11bjndkp87dnqqmqww6raswgpy7sfh9ahdpx7d0wzxwlpy5qy7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-5))))
    (home-page "https://github.com/servo/rust-fontconfig/")
    (synopsis "Rust bindings for fontconfig")
    (description "This package provides Rust bindings for fontconfig.")
    (license (list license:expat license:asl2.0))))

(define-public rust-servo-fontconfig-sys-5
  (package
    (name "rust-servo-fontconfig-sys")
    (version "5.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "servo-fontconfig-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "125k4hydb4w08568rgazh95n6haxhf5c78axz50glbc9p6fqfsz3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-build-flags '("--features" "force_system_lib")
       #:cargo-inputs
       (("rust-expat-sys" ,rust-expat-sys-2)
        ("rust-freetype-sys" ,rust-freetype-sys-0.13)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (inputs
     (list expat fontconfig))
    (native-inputs
     (list pkg-config))
    (home-page "https://crates.io/crates/servo-fontconfig-sys")
    (synopsis "Rust wrapper around Fontconfig")
    (description
     "This package provides a Rust wrapper around Fontxonfig.")
    (license license:expat)))

(define-public rust-shadow-rs-0.37
  (package
    (name "rust-shadow-rs")
    (version "0.37.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shadow-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "047ndbnhf2cxf98f0n4br0z0pdm53gfr89zhq25mia325hibhklp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            ;; Skip tests with missing files
                            "--skip=date_time::tests::test_local_now_human_format"
                            ;; Broken tests
                            "--skip=git::tests::test_command_last_tag"
                            "--skip=git::tests::test_current_branch"
                            "--skip=git::tests::test_git")
       #:cargo-inputs (("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
                       ("rust-const-format" ,rust-const-format-0.2)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-is-debug" ,rust-is-debug-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-tzdb" ,rust-tzdb-0.6))
       #:cargo-development-inputs (("rust-winnow" ,rust-winnow-0.6))))
    (native-inputs (list pkg-config))
    (inputs (list libgit2-1.8 zlib))
    (home-page "https://github.com/baoyachi/shadow-rs")
    (synopsis "Store build-time information in your rust project")
    (description
     "@code{shadow-rs} allows you to recall properties of the build process
and environment at run time.  You can use this tool to check in production
exactly where a binary came from and how it was built.")
    (license (list license:expat license:asl2.0))))

(define-public rust-shadow-rs-0.36
  (package
    (inherit rust-shadow-rs-0.37)
    (name "rust-shadow-rs")
    (version "0.36.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shadow-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "064srz17klcgxqjzsj29pqn238y4pkn3l1h20mw9yyj98c3cvksq"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Skip tests with missing files
                            "--skip=date_time::tests::test_local_now_human_format"
                            ;; Broken tests
                            "--skip=git::tests::test_command_last_tag"
                            "--skip=git::tests::test_current_branch"
                            "--skip=git::tests::test_git")
       #:cargo-inputs (("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
                       ("rust-const-format" ,rust-const-format-0.2)
                       ("rust-document-features" ,rust-document-features-0.2)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-is-debug" ,rust-is-debug-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-tzdb" ,rust-tzdb-0.6))
       #:cargo-development-inputs (("rust-winnow" ,rust-winnow-0.6))))))

(define-public rust-shadow-rs-0.35
  (package
    (inherit rust-shadow-rs-0.36)
    (name "rust-shadow-rs")
    (version "0.35.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shadow-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11w6677ymsb69fy716adf51zjbzwgkkyf5arz41563gcnf7k5cpi"))))))

(define-public rust-shannon-0.2
  (package
    (name "rust-shannon")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "shannon" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qa52zs4y1i87ysr11g9p6shpdagl14bb340gfm6rd97jhfb99by"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs `(("rust-byteorder" ,rust-byteorder-1))))
    (home-page "https://docs.rs/shannon/0.2.0/shannon/")
    (synopsis "Shannon cipher implementation")
    (description
     "A Shannon cipher implementation, that encrypts a message using a
shared secret key.")
    (license license:expat)))

(define-public rust-sharded-slab-0.1
  (package
    (name "rust-sharded-slab")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sharded-slab" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cbb8kgwsyr3zzhsv8jrs3y1j3vsw4jxil42lfq31ikhdy0bl3wh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-loom" ,rust-loom-0.5))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-loom" ,rust-loom-0.5)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-slab" ,rust-slab-0.4))))
    (home-page "https://github.com/hawkw/sharded-slab")
    (synopsis "Lock-free concurrent slab")
    (description "This package provides a lock-free concurrent slab.")
    (license license:expat)))

(define-public rust-shared-child-1
  (package
    (name "rust-shared-child")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shared_child" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "035679h89ppqcfkjzgz9bb2hdlkw5wjv598l310xz8frmqw97yh9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=src/lib.rs - (line 35)")
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/oconnor663/shared_child.rs")
    (synopsis "Use child processes from multiple threads")
    (description "This package provides a library for using child processes from
multiple threads.")
    (license license:expat)))

(define-public rust-shared-library-0.1
  (package
    (name "rust-shared-library")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shared_library" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "04fs37kdak051hm524a360978g58ayrcarjsbf54vqps5c7px7js"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/tomaka/shared_library/")
    (synopsis "Bind to and load shared libraries")
    (description
     "This package allows easy binding to, and loading of, shared libraries.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-shell-escape-0.1
  (package
    (name "rust-shell-escape")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shell-escape" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0kqq83dk0r1fqj4cfzddpxrni2hpz5i1y607g366c4m9iyhngfs5"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/shell-escape")
    (synopsis
     "Escape characters that may have a special meaning in a shell")
    (description
     "Escape characters that may have a special meaning in a shell.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-shell-quote-0.7
  (package
    (name "rust-shell-quote")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shell-quote" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0znflgk3wlbahip3yblqmlnd8c5cslabjh99asds9vhirjyn6k5f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-semver" ,rust-semver-1)
                                   ("rust-test-case" ,rust-test-case-3))))
    (home-page "https://github.com/allenap/shell-quote")
    (synopsis "Rust library for shell-quoting strings")
    (description
     "This package provides a Rust library for shell-quoting strings, e.g. for
interpolating into a Bash script.")
    (license license:asl2.0)))

(define-public rust-shell-words-1
  (package
    (name "rust-shell-words")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shell-words" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1plgwx8r0h5ismbbp6cp03740wmzgzhip85k5hxqrrkaddkql614"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/tmiasko/shell-words")
    (synopsis "Process command line according to parsing rules of UNIX shell")
    (description
     "This package processes command line according to parsing rules of UNIX
shell.")
    (license (list license:expat license:asl2.0))))

(define-public rust-shell-words-0.1
  (package
    (inherit rust-shell-words-1)
    (name "rust-shell-words")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shell-words" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jnrw3f174974fsi2hg48l0klpy24767ib28w0xcvi2ll5axxb1r"))))))

(define-public rust-shellexpand-3
  (package
    (name "rust-shellexpand")
    (version "3.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shellexpand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jz1i14ziz8gbyj71212s7dqrw6q96f25i48zkmy66fcjhxzl0ys"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-dirs" ,rust-dirs-5)
                       ("rust-os-str-bytes" ,rust-os-str-bytes-6))))
    (home-page "https://github.com/netvl/shellexpand")
    (synopsis "Shell-like expansions in strings")
    (description
     "@code{shellexpand} is a single dependency library which allows one to
perform shell-like expansions in strings, that is, to expand variables like
@samp{$A} or @samp{$@{B@}} into their values inside some context and to expand
@samp{~} in the beginning of a string into the home directory (again, inside
some context).")
    (license (list license:expat license:asl2.0))))

(define-public rust-shellexpand-2
  (package
    (inherit rust-shellexpand-3)
    (name "rust-shellexpand")
    (version "2.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shellexpand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r0i1r2r3dv0rc82xc5vhxmwl3zbvblf91sgmwls0k8chiv81k3w"))))
    (arguments
     `(#:cargo-inputs (("rust-dirs" ,rust-dirs-4))))))

(define-public rust-shlex-1
  (package
    (name "rust-shlex")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "shlex" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/comex/rust-shlex")
    (synopsis "Split a string into shell words, like Python's shlex")
    (description "This crate provides a method to split a string into shell
words, like Python's shlex.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-shlex-0.1
  (package
    (name "rust-shlex")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "shlex" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/comex/rust-shlex")
    (synopsis "Split a string into shell words, like Python's shlex")
    (description "This crate provides a method to split a string into shell
words, like Python's shlex.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-signal-hook-0.3
  (package
    (name "rust-signal-hook")
    (version "0.3.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "signal-hook" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0098nsah04spqf3n8niirmfym4wsdgjl57c78kmzijlq8xymh8c6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1))
       #:cargo-development-inputs
       (("rust-serial-test" ,rust-serial-test-0.7))))
    (home-page "https://github.com/vorner/signal-hook")
    (synopsis "Unix signal handling")
    (description "This package provides Unix signal handling.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-signal-hook-0.1
  (package
    (inherit rust-signal-hook-0.3)
    (name "rust-signal-hook")
    (version "0.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "signal-hook" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a97migr3gcy4sfkgxdp29082s3f3lbf4was3dkpl13gq51d8cby"))))
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.7)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
       #:cargo-development-inputs
       (("rust-mio" ,rust-mio-0.7)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-version-sync" ,rust-version-sync-0.8))))))

(define-public rust-signal-hook-mio-0.2
  (package
    (name "rust-signal-hook-mio")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "signal-hook-mio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k8pl9aafiadr4czsg8zal9b4jdk6kq5985p90i19jc5sh31mnrl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-1)
        ("rust-mio" ,rust-mio-0.8)
        ("rust-mio" ,rust-mio-0.7)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-signal-hook" ,rust-signal-hook-0.3))
       #:cargo-development-inputs (("rust-mio" ,rust-mio-0.7)
                                   ("rust-serial-test" ,rust-serial-test-0.5))))
    (home-page "https://github.com/vorner/signal-hook")
    (synopsis "MIO support for signal-hook")
    (description "This crate provides MIO support for signal-hook.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-signal-hook-registry-1
  (package
    (name "rust-signal-hook-registry")
    (version "1.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "signal-hook-registry" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c2mhijg54y6c1zi4630yki1vpq3z96ljfnsrdy0rb64ilr767p5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/vorner/signal-hook")
    (synopsis "Backend crate for signal-hook")
    (description "This package is a backend crate for @code{signal-hook}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-signal-hook-tokio-0.3
  (package
    (name "rust-signal-hook-tokio")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "signal-hook-tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07nggsi80jv39xisdk2r7cik7hx2d2qa2sivvqkpxqxidzvl2ci1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3)
                                   ("rust-serial-test" ,rust-serial-test-0.5)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/vorner/signal-hook")
    (synopsis "Tokio support for signal-hook")
    (description "This package provides Tokio support for signal-hook.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-simba-0.8
  (package
    (name "rust-simba")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simba" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bnf7ainywmaz2z67ss1q0bjwccf80c50c50r6hlpay69z4hf586"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-cordic" ,rust-cordic-0.1)
        ("rust-cuda-std" ,rust-cuda-std-0.2)
        ("rust-cust-core" ,rust-cust-core-0.1)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-fixed" ,rust-fixed-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
        ("rust-paste" ,rust-paste-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rkyv" ,rust-rkyv-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-wide" ,rust-wide-0.7))))
    (home-page "https://github.com/dimforge/simba")
    (synopsis "SIMD algebra for Rust")
    (description "This package provides a set of mathematical traits to
facilitate the use of SIMD-based @dfn{Array of Struct of Array} (AoSoA) storage
pattern in Rust.")
    (license license:asl2.0)))

(define-public rust-simba-0.7
  (package
    (inherit rust-simba-0.8)
    (name "rust-simba")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simba" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xl1c5cn3k5mg0m81i381jkn7wxz3gpjprja4b7cllwcqhhdfgrg"))))
    (arguments
     `(#:cargo-inputs (("rust-approx" ,rust-approx-0.5)
                       ("rust-cordic" ,rust-cordic-0.1)
                       ("rust-cuda-std" ,rust-cuda-std-0.2)
                       ("rust-cust-core" ,rust-cust-core-0.1)
                       ("rust-decimal" ,rust-decimal-2)
                       ("rust-fixed" ,rust-fixed-1)
                       ("rust-libm" ,rust-libm-0.2)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
                       ("rust-paste" ,rust-paste-1)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-rkyv" ,rust-rkyv-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-wide" ,rust-wide-0.7))))))

(define-public rust-simba-0.6
  (package
    (inherit rust-simba-0.8)
    (name "rust-simba")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "simba" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0px0nncs3ki86pjcldz40mhvraywh7y9jypfcqqdcihs287q9dzh"))))
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-cordic" ,rust-cordic-0.1)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-fixed" ,rust-fixed-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-packed-simd" ,rust-packed-simd-0.3)
        ("rust-paste" ,rust-paste-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-wide" ,rust-wide-0.7))))))

(define-public rust-simba-0.5
  (package
    (inherit rust-simba-0.6)
    (name "rust-simba")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simba" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p1x1ndajy4j3dr9zbh79cz5k0hbj4p9bagd7cj00gc5aws0d0lf"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-cordic" ,rust-cordic-0.1)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-fixed" ,rust-fixed-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
        ("rust-paste" ,rust-paste-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-wide" ,rust-wide-0.6))))))

(define-public rust-simba-0.4
  (package
    (inherit rust-simba-0.5)
    (name "rust-simba")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simba" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k2zp645jby5s070agvqha3xqbc0gkkk3a4v7k8z724iamasjcji"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-cordic" ,rust-cordic-0.1)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-fixed" ,rust-fixed-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-num-complex" ,rust-num-complex-0.3)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
        ("rust-paste" ,rust-paste-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-wide" ,rust-wide-0.6))))
    (license license:asl2.0)))

(define-public rust-simba-0.1
  (package
    (inherit rust-simba-0.4)
    (name "rust-simba")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "simba" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1chz3abrvrj4qz86gwrrzajsl5zcc2l0dhxi39mymbgscw9ip4zv"))))
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-cordic" ,rust-cordic-0.1)
        ("rust-decimal" ,rust-decimal-2)
        ("rust-fixed" ,rust-fixed-1)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-packed-simd" ,rust-packed-simd-0.3)
        ("rust-paste" ,rust-paste-0.1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-wide" ,rust-wide-0.4))))
    (license license:bsd-3)))

(define-public rust-simd-0.2
  (package
    (name "rust-simd")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simd" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1dgpmfzd4favsckd5m0p6bna1dcgw19hjigkqcgwfhc4d05hxczj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Crate no longer builds on Rust 1.33+
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1))
       #:cargo-development-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1))))
    (home-page "https://github.com/hsivonen/simd")
    (synopsis "Limited cross-platform access to SIMD instructions on CPUs")
    (description
     "@code{simd} offers limited cross-platform access to SIMD instructions on
CPUs, as well as raw interfaces to platform-specific instructions.
(To be obsoleted by the @code{std::simd} implementation RFC 2366.)
")
    (license (list license:expat license:asl2.0))))

(define-public rust-simd-adler32-0.3
  (package
    (name "rust-simd-adler32")
    (version "0.3.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simd-adler32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zkq40c3iajcnr5936gjp9jjh1lpzhy44p3dq3fiw75iwr1w2vfn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-adler" ,rust-adler-1)
        ("rust-adler32" ,rust-adler32-1)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/mcountryman/simd-adler32")
    (synopsis "Adler-32 rolling hash algorithm implementation")
    (description
     "This package provides a SIMD-accelerated Adler-32 rolling hash algorithm
implementation in Rust.")
    (license license:expat)))

(define-public rust-simd-helpers-0.1
  (package
    (name "rust-simd-helpers")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "simd_helpers" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19idqicn9k4vhd04ifh2ff41wvna79zphdf2c81rlmpc7f3hz2cm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/lu-zero/simd_helpers")
    (synopsis "Helpers to write more compact simd code")
    (description
     "This package provides helpers to write more compact simd code.")
    (license license:expat)))

(define-public rust-simd-json-0.13
  (package
    (name "rust-simd-json")
    (version "0.13.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simd-json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xmzpzklnxxnwspf7abhzgr3khbnrw4h8svag8rq9i4v3c88zbrg"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; Remove some of the optional dependencies:
                 (substitute* "Cargo.toml.orig"
                   ((".*alloc_counter.*") "")
                   ((".*colored.*") "")
                   ((".*jemallocator.*") "")
                   ((".*perfcnt.*") ""))
                 (rename-file "Cargo.toml.orig" "Cargo.toml")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ;("rust-alloc-counter" ,rust-alloc-counter-0.0.4)
                       ("rust-beef" ,rust-beef-0.5)
                       ;("rust-colored" ,rust-colored-2)
                       ("rust-getopts" ,rust-getopts-0.2)
                       ("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-halfbrown" ,rust-halfbrown-0.2)
                       ;("rust-jemallocator" ,rust-jemallocator-0.5)
                       ("rust-lexical-core" ,rust-lexical-core-0.8)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ;("rust-perfcnt" ,rust-perfcnt-0.8)
                       ("rust-ref-cast" ,rust-ref-cast-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-simdutf8" ,rust-simdutf8-0.1)
                       ("rust-value-trait" ,rust-value-trait-0.8))
       #:cargo-development-inputs (("rust-core-affinity" ,rust-core-affinity-0.8)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-float-cmp" ,rust-float-cmp-0.9)
                                   ("rust-getopts" ,rust-getopts-0.2)
                                   ("rust-proptest" ,rust-proptest-1))
       #:phases
       (modify-phases %standard-phases
         (add-before 'check 'pre-check
           (lambda _
             (delete-file "tests/jsonchecker.rs"))))))
    (home-page "https://github.com/simd-lite/simd-json")
    (synopsis "High performance JSON parser based on a port of simdjson")
    (description "High performance JSON parser based on a port of simdjson.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-simdutf8-0.1
  (package
    (name "rust-simdutf8")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simdutf8" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fi6zvnldaw7g726wnm9vvpv4s89s5jsk7fgp3rg2l99amw64zzj"))))
    (build-system cargo-build-system)
    (arguments `(#:tests? #f))
    (home-page "https://github.com/rusticstuff/simdutf8")
    (synopsis "SIMD-accelerated UTF-8 validation")
    (description
     "simdutf8 is a fast API-compatible UTF-8 validation for Rust using SIMD
extensions.")
    (license (list license:expat license:asl2.0))))

(define-public rust-similar-2
  (package
    (name "rust-similar")
    (version "2.6.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "similar" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0vk89dx2mmjp81pmszsa1s3mpzvbiy4krvfbq3s3mc3k27wd9q8x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bstr" ,rust-bstr-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
       #:cargo-development-inputs
       (("rust-console" ,rust-console-0.15)
        ("rust-insta" ,rust-insta-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/mitsuhiko/similar")
    (synopsis "Diff library for Rust")
    (description "This package provides a diff library for Rust.")
    (license license:asl2.0)))

(define-public rust-similar-asserts-1
  (package
    (name "rust-similar-asserts")
    (version "1.4.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "similar-asserts" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "060gzblmwpfcfxx7qh9yh2yaarldrdfkajm306gi4xbb06nl9xmv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-console" ,rust-console-0.15)
        ("rust-serde" ,rust-serde-1)
        ("rust-similar" ,rust-similar-2))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/mitsuhiko/similar-asserts")
    (synopsis "Asserts macros with colorized diff output")
    (description
     "This crate provides @code{assert_eq!}-like macros with colorized
diff output.")
    (license license:asl2.0)))

(define-public rust-simple-logger-4
  (package
    (name "rust-simple-logger")
    (version "4.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simple_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w9ypyn5n7bxw6aylbkwz3hfsjpvkx0qm2xj11yx8l82r744czlf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-colored" ,rust-colored-2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/borntyping/rust-simple_logger")
    (synopsis "Logger with a readable output format")
    (description
     "This package provides a logger that prints all messages with
a readable output format.")
    (license license:expat)))

(define-public rust-simple-logger-2
  (package
    (inherit rust-simple-logger-4)
    (name "rust-simple-logger")
    (version "2.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "simple_logger" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ivdlw45f07byxgl43l2pa0dlnclbw1aj40shjpil598nmvpw128"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-colored" ,rust-colored-2)
        ("rust-log" ,rust-log-0.4)
        ("rust-time" ,rust-time-0.3)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-simple-logger-1
  (package
    (inherit rust-simple-logger-2)
    (name "rust-simple-logger")
    (version "1.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simple_logger" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pkvkp0v3w9kwqjhx5npb2jbyj9kfbb8y2w92s5cphsxldc05dj5"))))
    (arguments
     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
                       ("rust-colored" ,rust-colored-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-simple-logging-2
  (package
    (name "rust-simple-logging")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simple-logging" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hmm523f0ax76yljf3z178rn9cm0q6knwa52haqnnckmavl4h3dh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-thread-id" ,rust-thread-id-3))
       #:cargo-development-inputs (("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/Ereski/simple-logging")
    (synopsis "Simple logger for the log facade")
    (description "This package provides a simple logger for the log facade.")
    (license license:bsd-3)))

(define-public rust-simplelog-0.12
  (package
    (name "rust-simplelog")
    (version "0.12.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simplelog" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h59cp84gwdmbxiljq6qmqq1x3lv9ikc1gb32f5ya7pgzbdpl98n"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 (substitute* "Cargo.toml"
                   (("1\\.1\\.\\*") "1.1"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-paris" ,rust-paris-1)
                       ("rust-termcolor" ,rust-termcolor-1)
                       ("rust-time" ,rust-time-0.3))))
    (home-page "https://github.com/drakulix/simplelog.rs")
    (synopsis "Simple and easy-to-use logging facility for Rust's log crate")
    (description
     "This package provides a simple and easy-to-use logging facility for Rust's
@code{log} crate.  It aims to be a maintainable, easy to integrate facility for
small to medium sized project")
    (license (list license:expat license:asl2.0))))

(define-public rust-simplerand-1
  (package
    (name "rust-simplerand")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "simplerand" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yw9p3sk5c57gwz60ydpvsbx9kkwyccwlcv0z3q4v66b4455libh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/PumpkinSeed/srand")
    (synopsis "Random number generator")
    (description "Simple and fast random number generator.")
    (license license:expat)))

(define-public rust-siphasher-0.3
  (package
    (name "rust-siphasher")
    (version "0.3.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "siphasher" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "03axamhmwsrmh0psdw3gf7c0zc4fyl5yjxfifz9qfka6yhkqid9q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://docs.rs/siphasher")
    (synopsis "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust")
    (description "This package provides SipHash-2-4, SipHash-1-3 and 128-bit
variants in pure Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-siphasher-0.2
  (package
    (name "rust-siphasher")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "siphasher" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1b53m53l24lyhr505lwqzrpjyq5qfnic71mynrcfvm43rybf938b"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/siphasher")
    (synopsis "SipHash functions from rust-core < 1.13")
    (description
     "SipHash functions from rust-core < 1.13.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sized-chunks-0.6
  (package
    (name "rust-sized-chunks")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sized-chunks" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "07ix5fsdnpf2xsb0k5rbiwlmsicm2237fcx7blirp9p7pljr5mhn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-array-ops" ,rust-array-ops-0.1)
        ("rust-bitmaps" ,rust-bitmaps-2)
        ("rust-refpool" ,rust-refpool-0.4)
        ("rust-typenum" ,rust-typenum-1))))
    (home-page "https://github.com/bodil/sized-chunks")
    (synopsis "Efficient sized chunk datatypes")
    (description "This package provides various fixed length array data types,
designed for @code{immutable.rs}.")
    (license license:mpl2.0)))

(define-public rust-skeptic-0.13
  (package
    (name "rust-skeptic")
    (version "0.13.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "skeptic" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1a205720pnss0alxvbx0fcn3883cg3fbz5y1047hmjbnaq0kplhn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=tests::test_markdown_files_of_directory")
       #:cargo-inputs
       (("rust-error-chain" ,rust-error-chain-0.12)
        ("rust-bytecount" ,rust-bytecount-0.6)
        ("rust-cargo-metadata" ,rust-cargo-metadata-0.14)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-unindent" ,rust-unindent-0.1))))
    (home-page "https://github.com/budziq/rust-skeptic")
    (synopsis "Test your Rust markdown documentation via Cargo")
    (description
     "Test your Rust markdown documentation via Cargo.")
    (license (list license:expat license:asl2.0))))

(define-public rust-skim-0.10
  (package
    (name "rust-skim")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "skim" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0chgv9nr8cmlf2mg2k94igh3m5svjsfxxwbnl21xsb6blvh8vlp5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
                       ("rust-beef" ,rust-beef-0.5)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-clap" ,rust-clap-3)
                       ("rust-crossbeam" ,rust-crossbeam-0.8)
                       ("rust-defer-drop" ,rust-defer-drop-1)
                       ("rust-derive-builder" ,rust-derive-builder-0.11)
                       ("rust-env-logger" ,rust-env-logger-0.9)
                       ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.25)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-timer" ,rust-timer-0.2)
                       ("rust-tuikit" ,rust-tuikit-0.5)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-vte" ,rust-vte-0.11))))
    (home-page "https://github.com/lotabout/skim")
    (synopsis "Fuzzy Finder in rust")
    (description "This package provides a fuzzy finder in Rust.")
    (license license:expat)))

(define-public rust-skim-0.9
  (package
    (inherit rust-skim-0.10)
    (name "rust-skim")
    (version "0.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "skim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab"))))
    (arguments
     `(#:cargo-inputs
       (("rust-atty-0.2" ,rust-atty-0.2)
        ("rust-beef" ,rust-beef-0.5)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-clap" ,rust-clap-2)
        ("rust-crossbeam" ,rust-crossbeam-0.8)
        ("rust-defer-drop" ,rust-defer-drop-1)
        ("rust-derive-builder" ,rust-derive-builder-0.9)
        ("rust-env-logger" ,rust-env-logger-0.8)
        ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.19)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-shlex" ,rust-shlex-0.1)
        ("rust-time" ,rust-time-0.2)
        ("rust-timer" ,rust-timer-0.2)
        ("rust-tuikit" ,rust-tuikit-0.4)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-vte" ,rust-vte-0.9))))))

(define-public rust-skim-0.7
  (package
    (inherit rust-skim-0.10)
    (name "rust-skim")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "skim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-clap" ,rust-clap-2)
        ("rust-derive-builder" ,rust-derive-builder-0.9)
        ("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.14)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-shlex" ,rust-shlex-0.1)
        ("rust-time" ,rust-time-0.1)
        ("rust-timer" ,rust-timer-0.2)
        ("rust-tuikit" ,rust-tuikit-0.2)
        ("rust-unicode-width" ,rust-unicode-width-0.1)
        ("rust-vte" ,rust-vte-0.3))))))

(define-public rust-slab-0.4
  (package
    (name "rust-slab")
    (version "0.4.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "slab" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0rxvsgir0qw5lkycrqgb1cxsvxzjv9bmx73bk5y42svnzfba94lg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/carllerche/slab")
    (synopsis "Pre-allocated storage for a uniform data type")
    (description "This create provides a pre-allocated storage for a uniform
data type.")
    (license license:expat)))

;; TODO: Unbundle sleef.
(define-public rust-sleef-sys-0.1
  (package
    (name "rust-sleef-sys")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sleef-sys" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1881q2yc17j2m1yvh01447c93ws1mspnrj3k2nbvwbvcm8z81kkv"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "src/lib.rs"
             ;; __m64 is x86 only, not x86 or x86_64 as in the code.
             ;; See: https://github.com/gnzlbg/sleef-sys/issues/27
             (("__m64") "// __m64"))
           (delete-file "Cargo.toml")
           (rename-file "Cargo.toml.orig" "Cargo.toml")
           (substitute* "Cargo.toml"
             ;; Dependabot says the dependencies can be updated.
             (("cfg-if = \"\\^0.1\"") "cfg-if = \"^1.0\"")
             (("env_logger = \"0.6\"") "env_logger = \"0.9\"")
             (("bindgen = \"\\^0.46\"") "bindgen = \"^0.59\""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-bindgen" ,rust-bindgen-0.59)
        ("rust-cmake" ,rust-cmake-0.1)
        ("rust-env-logger" ,rust-env-logger-0.9))
       #:phases
       (modify-phases %standard-phases
         ;; This makes it easier to test the package.
         (add-after 'unpack 'enable-unstable-features
           (lambda _
             (setenv "RUSTC_BOOTSTRAP" "1"))))))
    (inputs
     (list clang))
    (native-inputs
     (list cmake-minimal))
    (home-page "https://github.com/gnzlbg/sleef-sys")
    (synopsis
     "Rust FFI bindings to the SLEEF Vectorized Math Library")
    (description
     "Rust FFI bindings to the SLEEF Vectorized Math Library.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-slice-deque-0.3
  (package
    (name "rust-slice-deque")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slice-deque" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "098gvqjw52qw4gac567c9hx3y6hw9al7hjqb5mnvmvydh3i6xvri"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-mach" ,rust-mach-0.3)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/gnzlbg/slice_deque")
    (synopsis "Double-ended queue that Deref's into a slice")
    (description
     "This package provides a double-ended queue that Deref's into a slice.")
    (license (list license:expat license:asl2.0))))

(define-public rust-slice-deque-0.2
  (package
    (inherit rust-slice-deque-0.3)
    (name "rust-slice-deque")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slice-deque" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mq78l0vfwabnyanb85amgzakfhdaxx455yq6cszd5zmynagbpgz"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-mach" ,rust-mach-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-slice-group-by-0.3
  (package
    (name "rust-slice-group-by")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slice-group-by" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19vbyyxqvc25fv2dmhlxijlk5sa9j34yb6hyydb9vf89kh36fqc2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-rand" ,rust-rand-0.6))))
    (home-page "https://github.com/Kerollmops/slice-group-by")
    (synopsis "Iterators over groups in slices and strs")
    (description
     "This package provides iterators over groups in slices and strs.")
    (license license:expat)))

(define-public rust-slice-ring-buffer-0.3
  (package
    (name "rust-slice-ring-buffer")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slice-ring-buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mi7iigijbcp0c9m2sslfny5q2savysgv1grg67kdch9v8mk3bl4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-mach2" ,rust-mach2-0.4)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/liquidityc/slice_ring_buffer")
    (synopsis "Double-ended queue that deref's into a slice")
    (description
     "This package provides a double-ended queue that deref's into a slice.")
    (license (list license:expat license:asl2.0))))

(define-public rust-slog-2
  (package
    (name "rust-slog")
    (version "2.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "slog" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "01ldk4yarx7x4y4rgsf4kmrcy3wrpcxdd53v2lkk355x9rnh8iw3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-erased-serde" ,rust-erased-serde-0.3))))
    (home-page "https://github.com/slog-rs/slog")
    (synopsis "Structured, extensible, composable logging for Rust")
    (description
     "This package provides structured, extensible, composable logging for Rust.")
    (license
      (list license:mpl2.0
            license:expat
            license:asl2.0))))

(define-public rust-slog-async-2
  (package
    (name "rust-slog-async")
    (version "2.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slog-async" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "113b17aw7jx7mr68vwfq2yiv6mb4702hz6a0g587jb4ai67h7j3j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-slog" ,rust-slog-2)
        ("rust-take-mut" ,rust-take-mut-0.2)
        ("rust-thread-local" ,rust-thread-local-1))))
    (home-page "https://github.com/slog-rs/slog")
    (synopsis "Asynchronous drain for @code{slog-rs}")
    (description
     "This package provides an asynchronous drain for slog-rs, the Rust
logging library.")
    (license (list license:mpl2.0 license:expat license:asl2.0))))

(define-public rust-slog-json-2
  (package
    (name "rust-slog-json")
    (version "2.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slog-json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06gjy1n7ivrcy7rr8dyndmfza24hwbgakw7faawciqzi3bv567iy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-erased-serde" ,rust-erased-serde-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-slog" ,rust-slog-2)
                       ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs (("rust-slog-async" ,rust-slog-async-2))))
    (home-page "https://github.com/slog-rs/slog")
    (synopsis "JSON drain for slog-rs")
    (description "This package provides JSON drain for slog-rs.")
    (license (list license:mpl2.0 license:expat license:asl2.0))))

(define-public rust-slog-kvfilter-0.7
  (package
    (name "rust-slog-kvfilter")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slog-kvfilter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q3mq6a9aq8iscy9xh97zifxrxa6y10d8p2gkxlxkvk9s7brx4xf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-slog" ,rust-slog-2))))
    (home-page "https://github.com/slog-rs/slog")
    (synopsis "Key values and regex based filter drain for @code{slog-rs}")
    (description
     "This is a key values and regex based filter drain for slog.")
    (license (list license:mpl2.0 license:expat license:asl2.0))))

(define-public rust-slog-scope-4
  (package
    (name "rust-slog-scope")
    (version "4.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slog-scope" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11n7nd0g3iab8ahcwnxzpmchi4ycgjsq5nj9jn3d4k17qfsa959g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-arc-swap" ,rust-arc-swap-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-slog" ,rust-slog-2))
       #:cargo-development-inputs
       (("rust-slog-async" ,rust-slog-async-2)
        ("rust-slog-term" ,rust-slog-term-2))))
    (home-page "https://github.com/slog-rs/slog")
    (synopsis "Logging scopes for @code{slog-rs}")
    (description "This package provides logging scopes for slog.")
    (license (list license:mpl2.0 license:expat license:asl2.0))))

(define-public rust-slog-stdlog-4
  (package
    (name "rust-slog-stdlog")
    (version "4.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slog-stdlog" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gpsf62ckblpc6a70dnhsz677c7s5cz4glpqsf8p5bmvwnnb41k7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-slog" ,rust-slog-2)
        ("rust-slog-scope" ,rust-slog-scope-4))
       #:cargo-development-inputs
       (("rust-slog-async" ,rust-slog-async-2)
        ("rust-slog-term" ,rust-slog-term-2))))
    (home-page "https://github.com/slog-rs/stdlog")
    (synopsis "Log crate adapter for @code{slog-rs}")
    (description
     "This crate provides two ways compatibility with Rust standard @code{log}
crate.")
    (license
     (list license:mpl2.0
           license:expat
           license:asl2.0))))

(define-public rust-slog-term-2
  (package
    (name "rust-slog-term")
    (version "2.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slog-term" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z4pz2q3b7a47xql2kw1pkcx8mw5yh0an3hj9y5jaysvqn2r3ll7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-atty" ,rust-atty-0.2)
        ("rust-erased-serde" ,rust-erased-serde-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-slog" ,rust-slog-2)
        ("rust-term" ,rust-term-0.7)
        ("rust-thread-local" ,rust-thread-local-1)
        ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs
       (("rust-slog-async" ,rust-slog-async-2))))
    (home-page "https://github.com/slog-rs/slog")
    (synopsis "Unix terminal drain and formatter for @code{slog-rs}")
    (description
     "This package provides the Unix terminal drain and formatter for slog.")
    (license (list license:mpl2.0 license:expat license:asl2.0))))

(define-public rust-sloggers-2
  (package
    (name "rust-sloggers")
    (version "2.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sloggers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16yvn2v8vs7bsg11vnma03ml6grrwfm3qqikwrdd8b5q70kjq1km"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libflate" ,rust-libflate-2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-slog" ,rust-slog-2)
                       ("rust-slog-async" ,rust-slog-async-2)
                       ("rust-slog-json" ,rust-slog-json-2)
                       ("rust-slog-kvfilter" ,rust-slog-kvfilter-0.7)
                       ("rust-slog-scope" ,rust-slog-scope-4)
                       ("rust-slog-stdlog" ,rust-slog-stdlog-4)
                       ("rust-slog-term" ,rust-slog-term-2)
                       ("rust-trackable" ,rust-trackable-1)
                       ("rust-winapi" ,rust-winapi-0.3)
                       ("rust-windows-acl" ,rust-windows-acl-0.3))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-log" ,rust-log-0.4)
                                   ("rust-serdeconv" ,rust-serdeconv-0.4)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/sile/sloggers")
    (synopsis "Frequently used slog loggers and convenient functions")
    (description
     "This library provides frequently used slog loggers and convenient functions.")
    (license license:expat)))

(define-public rust-slotmap-1
  (package
    (name "rust-slotmap")
    (version "1.0.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "slotmap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0amqb2fn9lcy1ri0risblkcp88dl0rnfmynw7lx0nqwza77lmzyv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-fxhash" ,rust-fxhash-0.2)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/orlp/slotmap")
    (synopsis "Slotmap data structure")
    (description "Slotmap data structure")
    (license license:zlib)))

(define-public rust-slug-0.1
  (package
    (name "rust-slug")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "slug" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wrk0w7mcmnvpmc27fw8dxkip6f6xgwpfgp7mp56yv2bd8p7dg5k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-deunicode" ,rust-deunicode-0.4))))
    (home-page "https://github.com/Stebalien/slug-rs")
    (synopsis "Convert a Unicode string to a slug")
    (description
     "This package is a small library for generating slugs from
Unicode strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-slugify-0.1
  (package
    (name "rust-slugify")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "slugify" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "12xcybjhm7g2rql0n91lgb2j195za58qx3smswqvi2107lhczf6n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unidecode" ,rust-unidecode-0.3))))
    (home-page "https://github.com/mattgathu/slugify")
    (synopsis "Macro for flexible slug generation")
    (description "Macro for flexible slug generation.")
    (license license:expat)))

(define-public rust-sluice-0.5
  (package
    (name "rust-sluice")
    (version "0.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sluice" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d9ywr5039ibgaby8sc72f8fs5lpp8j5y6p3npya4jplxz000x3d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1))))
    (home-page "https://github.com/sagebind/sluice")
    (synopsis "Ring buffer for byte buffers, FIFO queues, and SPSC channels")
    (description
     "This package provides asynchronous byte buffers and pipes for concurrent
I/O programming.")
    (license license:expat)))

(define-public rust-smallbitvec-2
  (package
    (name "rust-smallbitvec")
    (version "2.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "smallbitvec" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0plrbldsjpwip3afbzd8fgrnvdhizcg5z4ncfqs4q6x4qjflzkkm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-bit-vec" ,rust-bit-vec-0.4)
        ("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/servo/smallbitvec")
    (synopsis "Bit vector optimized for size and inline storage")
    (description "This package provides a bit vector optimized for size and
inline storage.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smallstring-0.1
  (package
    (name "rust-smallstring")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smallstring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zq8xgxcfg908x8k59kylx7vcfd5cknmdbl1w6h5d3xknnyhm59h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-smallvec" ,rust-smallvec-0.3))))
    (home-page "https://github.com/jFransham/smallstring")
    (synopsis "Store small strings on the stack using smallvec")
    (description
     "This package provides Small string optimization: store small strings on
the stack using smallvec.")
    (license license:expat)))

(define-public rust-smallvec-1
  (package
    (name "rust-smallvec")
    (version "1.13.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smallvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rsw5samawl3wsw6glrsb127rx6sh89a8wyikicw6dkdcjd1lpiw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-debugger-test" ,rust-debugger-test-0.1)
        ("rust-debugger-test-parser" ,rust-debugger-test-parser-0.1))))
    (home-page "https://github.com/servo/rust-smallvec")
    (synopsis "Small vector optimization")
    (description
     "'Small vector' optimization: store up to a small number of items on the
stack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smallvec-0.6
  (package
    (inherit rust-smallvec-1)
    (name "rust-smallvec")
    (version "0.6.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smallvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q4hz0ssnv24s6fq5kfp2wzrrprrrjiwc42a0h7s7nwym3mwlzxr"))))
    (arguments
     `(#:cargo-inputs
       (("rust-maybe-uninit" ,rust-maybe-uninit-2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1))))))

(define-public rust-smallvec-0.3
  (package
    (inherit rust-smallvec-1)
    (name "rust-smallvec")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smallvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "121d6ab60b2yi67gn82p9yw9ir9qa7g98qrkr0iwx3nc27pawhz1"))))
    (arguments
     `(#:cargo-test-flags '("--" "--skip=tests::test_truncate")
       #:cargo-inputs (("rust-heapsize" ,rust-heapsize-0.3))))))

(define-public rust-smart-default-0.7
  (package
    (name "rust-smart-default")
    (version "0.7.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "smart-default" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hgzs1250559bpayxmn46gzas5ycqn39wkf4srjgqh4461k1ic0f"))))
    (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/idanarye/rust-smart-default")
    (synopsis "Custom-derive macro for Default with more control on the fields")
    (description
     "This package provides a custom-derive macro for Default with more
control on the fields.")
    (license license:expat)))

(define-public rust-smartstring-1
  (package
    (name "rust-smartstring")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "smartstring" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0agf4x0jz79r30aqibyfjm1h9hrjdh0harcqcvb2vapv7rijrdrz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-autocfg" ,rust-autocfg-1)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/bodil/smartstring")
    (synopsis "Compact inlined strings")
    (description "This package provides compact inlined strings.")
    (license license:mpl2.0)))

(define-public rust-smartstring-0.2
  (package
    (inherit rust-smartstring-1)
    (name "rust-smartstring")
    (version "0.2.9")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "smartstring" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "16rc6n0p4r4aw6k6jxf2s37wyaijaa4pwpw7rqki7cn2q0qnmaii"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-0.4)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-serde" ,rust-serde-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-smawk-0.3
  (package
    (name "rust-smawk")
    (version "0.3.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "smawk" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0hv0q1mw1r1brk7v3g4a80j162p7g1dri4bdidykrakzfqjd4ypn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ndarray" ,rust-ndarray-0.14))
       #:cargo-development-inputs
       (("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
        ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/mgeisler/smawk")
    (synopsis "Functions for finding row-minima in a totally monotone matrix")
    (description
     "This package provides functions for finding row-minima in a totally
monotone matrix.")
    (license license:expat)))

(define-public rust-smol-2
  (package
    (name "rust-smol")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17srgkyzswns43cnqcfb1846a8nsna47qj7wrk1rj8c9c3id6fx3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-async-channel" ,rust-async-channel-2)
                       ("rust-async-executor" ,rust-async-executor-1)
                       ("rust-async-fs" ,rust-async-fs-2)
                       ("rust-async-io" ,rust-async-io-2)
                       ("rust-async-lock" ,rust-async-lock-3)
                       ("rust-async-net" ,rust-async-net-2)
                       ("rust-async-process" ,rust-async-process-2)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-futures-lite" ,rust-futures-lite-2))))
    (home-page "https://github.com/stjepang/smol")
    (synopsis "Small and fast async runtime")
    (description "This package provides a small and fast async runtime.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-smol-1
  (package
    (inherit rust-smol-2)
    (name "rust-smol")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18c7d7n9dl5h0isf81cs0g3ly3zp54lmj76z1zgghiw4rm4bbwhk"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-async-channel" ,rust-async-channel-1)
        ("rust-async-executor" ,rust-async-executor-1)
        ("rust-async-fs" ,rust-async-fs-1)
        ("rust-async-io" ,rust-async-io-1)
        ("rust-async-lock" ,rust-async-lock-2)
        ("rust-async-net" ,rust-async-net-1)
        ("rust-async-process" ,rust-async-process-1)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-futures-lite" ,rust-futures-lite-1))))))

(define-public rust-smol-0.1
  (package
    (inherit rust-smol-1)
    (name "rust-smol")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mdflwzgw1jxwrjffqn09lb4hn6d076s1ka8lb9mgnildqybn332"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" "--skip=task::Task<Result<T, E>>")
       #:cargo-inputs
       (("rust-async-task" ,rust-async-task-3)
        ("rust-blocking" ,rust-blocking-0.4)
        ("rust-concurrent-queue" ,rust-concurrent-queue-1)
        ("rust-fastrand" ,rust-fastrand-1)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-socket2" ,rust-socket2-0.3)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-wepoll-sys-stjepang" ,rust-wepoll-sys-stjepang-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-piper" ,rust-piper-0.1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-smol-potat-1
  (package
    (name "rust-smol-potat")
    (version "1.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol-potat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13nqzzqjscav3flc9jhwiabw8vnb22mv2accgilsn3swmxhzlkw9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-io" ,rust-async-io-1)
                       ("rust-num-cpus" ,rust-num-cpus-1)
                       ("rust-smol-potat-macro" ,rust-smol-potat-macro-0.6))
       #:cargo-development-inputs (("rust-smol" ,rust-smol-1))))
    (home-page "https://github.com/wusyong/smol-potat")
    (synopsis "Proc macro for smol runtime")
    (description "This package provides a proc macro for smol runtime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smol-potat-macro-0.6
  (package
    (name "rust-smol-potat-macro")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol-potat-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cirpy1309cr3n6zbmia66miyidih88sinpanj2r61hqk89dhz3b"))))
    (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/wusyong/smol-potat")
    (synopsis "Proc macro for smol runtime")
    (description "This package provides a proc macro for smol runtime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smol-str-0.2
  (package
    (name "rust-smol-str")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol_str" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1779hpx5ipbcvkdj5zw8zqk3ynn160qvls1gkcr54hwsprmjw8bl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=check_code_formatting")
       #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/rust-analyzer/smol_str")
    (synopsis "Small-string optimized string type with O(1) clone")
    (description
     "This package provides a small-string optimized string type with O(1)
clone.")
    (license (list license:expat license:asl2.0))))

(define-public rust-smol-str-0.1
  (package
    (inherit rust-smol-str-0.2)
    (name "rust-smol-str")
    (version "0.1.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "smol_str" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j891lgnflvnzgbs7fhwd6sxrrx47ii5mj0yy3f2f9mbrdbwimps"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=check_code_formatting")
       #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-snafu-0.8
  (package
    (name "rust-snafu")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snafu" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15ph0zr3zw6lh4cw0s0k1wvcvi18bmrzvjbx1l9jjh7560bwahnk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=backtrace_contains_function_names"
         "--skip=delegation::backtrace_comes_from_delegated_error"
         "--skip=delegation::backtrace_comes_from_renamed_delegated_error"
         "--skip=whatever_nested::backtrace_method_delegates_to_nested_whatever"
         "--skip=has_a_backtrace")
         #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-pin-project" ,rust-pin-project-1)
                       ("rust-snafu-derive" ,rust-snafu-derive-0.8))))
    (home-page "https://github.com/shepmaster/snafu")
    (synopsis "Ergonomic error handling library")
    (description "Snafu aims to be an ergonomic error handling library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-snafu-0.7
  (package
    (inherit rust-snafu-0.8)
    (name "rust-snafu")
    (version "0.7.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "snafu" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1mj2j2gfbf8mm1hr02zrbrqrh2zp01f61xgkx0lpln2w0ankgpp4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-pin-project" ,rust-pin-project-1)
        ("rust-snafu-derive" ,rust-snafu-derive-0.7))))))

(define-public rust-snafu-derive-0.8
  (package
    (name "rust-snafu-derive")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snafu-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1837y976zh0cn137srwfmdiwz59raj5xs7gnsqaszc9n2jbl8308"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/shepmaster/snafu")
    (synopsis "Ergonomic error handling library")
    (description "Snafu aims to be an ergonomic error handling library.  This
package provides derive macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-snafu-derive-0.7
  (package
    (inherit rust-snafu-derive-0.8)
    (name "rust-snafu-derive")
    (version "0.7.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "snafu-derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1gzy9rzggs090zf7hfvgp4lm1glrmg9qzh796686jnq7bxk7j04r"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-snap-1
  (package
    (name "rust-snap")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fxw80m831l76a5zxcwmz2aq7mcwc1pp345pnljl4cv1kbxnfsqv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/BurntSushi/rust-snappy")
    (synopsis "Pure Rust implementation of the Snappy compression algorithm")
    (description
     "This package provides a pure Rust implementation of the Snappy compression
algorithm.  Includes streaming compression and decompression.")
    (license license:bsd-3)))

(define-public rust-snap-0.2
  (package
    (inherit rust-snap-1)
    (name "rust-snap")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hvzvvywzw654y2r3j4jya5af8j0nf2vydfjp1w8pba47pb9gmlm"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-snappy-cpp" ,rust-snappy-cpp-0.1))))))

(define-public rust-snapbox-0.6
  (package
    (name "rust-snapbox")
    (version "0.6.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snapbox" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jnndxckagxzvi52q0ldclz075kdpk4hxq7b22y3rg2867mp62w4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.6)
        ("rust-anstyle" ,rust-anstyle-1)
        ("rust-anstyle-svg" ,rust-anstyle-svg-0.1)
        ("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-content-inspector" ,rust-content-inspector-0.2)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-dunce" ,rust-dunce-1)
        ("rust-escargot" ,rust-escargot-0.5)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-os-pipe" ,rust-os-pipe-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-snapbox-macros" ,rust-snapbox-macros-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1))))
    (home-page "https://github.com/assert-rs/trycmd/tree/main/crates/snapbox")
    (synopsis "Snapshot testing toolbox")
    (description
     "Snapbox is a snapshot-testing toolbox that is ready to use for verifying
output from

@itemize
@item Function return values
@item CLI stdout/stderr
@item Filesystem changes
@end itemize

It is also flexible enough to build your own test harness like @code{trycmd}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-snapbox-0.5
  (package
    (inherit rust-snapbox-0.6)
    (name "rust-snapbox")
    (version "0.5.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snapbox" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16rppi1ick3jswkp1l9g6wyzjyariw2bg8fqixs773pwr8gi0zgk"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.6)
        ("rust-anstyle" ,rust-anstyle-1)
        ("rust-anstyle-svg" ,rust-anstyle-svg-0.1)
        ("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-content-inspector" ,rust-content-inspector-0.2)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-dunce" ,rust-dunce-1)
        ("rust-escargot" ,rust-escargot-0.5)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-ignore" ,rust-ignore-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libtest-mimic" ,rust-libtest-mimic-0.7)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-os-pipe" ,rust-os-pipe-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-snapbox-macros" ,rust-snapbox-macros-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1))))))

(define-public rust-snapbox-0.4
  (package
    (inherit rust-snapbox-0.5)
    (name "rust-snapbox")
    (version "0.4.17")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "snapbox" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "114xa4v5icljaacmyj9i2jc8apq04ifihnx7xy4jikgvh1p1p0sb"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.6)
        ("rust-anstyle" ,rust-anstyle-1)
        ("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-content-inspector" ,rust-content-inspector-0.2)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-dunce" ,rust-dunce-1)
        ("rust-escargot" ,rust-escargot-0.5)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-ignore" ,rust-ignore-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-libtest-mimic" ,rust-libtest-mimic-0.7)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-os-pipe" ,rust-os-pipe-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-snapbox-macros" ,rust-snapbox-macros-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))))))

(define-public rust-snapbox-0.2
  (package
    (inherit rust-snapbox-0.4)
    (name "rust-snapbox")
    (version "0.2.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "snapbox" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14zxmsi4k9a9vgp9vs1q62ff1k57p26rwp5xs6f9bdijl9fisykn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-backtrace" ,rust-backtrace-0.3)
        ("rust-concolor" ,rust-concolor-0.0.8)
        ("rust-content-inspector" ,rust-content-inspector-0.2)
        ("rust-document-features" ,rust-document-features-0.2)
        ("rust-dunce" ,rust-dunce-1)
        ("rust-filetime" ,rust-filetime-0.2)
        ("rust-ignore" ,rust-ignore-0.4)
        ("rust-libtest-mimic" ,rust-libtest-mimic-0.3)
        ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)
        ("rust-os-pipe" ,rust-os-pipe-1)
        ("rust-similar" ,rust-similar-2)
        ("rust-snapbox-macros" ,rust-snapbox-macros-0.2)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-wait-timeout" ,rust-wait-timeout-0.2)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-yansi" ,rust-yansi-0.5))))))

(define-public rust-snapbox-macros-0.3
  (package
    (name "rust-snapbox-macros")
    (version "0.3.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "snapbox-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1bv4lq1kw1vrd9lk7yk79a0z8q8nma2502ifysv1p913r99rymhn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6))))
    (home-page "https://github.com/assert-rs/trycmd/tree/main/crates/snapbox")
    (synopsis "Snapshot testing toolbox")
    (description
     "Snapbox is a snapshot-testing toolbox that is ready to use for verifying
output from

@itemize
@item Function return values
@item CLI stdout/stderr
@item Filesystem changes
@end itemize

It is also flexible enough to build your own test harness like @code{trycmd}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-snapbox-macros-0.2
  (package
    (inherit rust-snapbox-macros-0.3)
    (name "rust-snapbox-macros")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "snapbox-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0c79lnjcs9yp62y665swv5y5y6088qc256bfr3s7xcnb0izfl7f0"))))))

(define-public rust-snappy-cpp-0.1
  (package
    (name "rust-snappy-cpp")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "snappy-cpp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sxga9z8sg4gp6ghyz1p8r3c6flzjw57dlqdxavhvcjr1iwcfki3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/BurntSushi/snap")
    (synopsis "Simple Snappy C++ bindings for testing and benchmarking")
    (description
     "This package provides simple Snappy C++ bindings for testing and
benchmarking.")
    (license license:bsd-3)))

(define-public rust-socket2-0.5
  (package
    (name "rust-socket2")
    (version "0.5.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "socket2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s7vjmb5gzp3iaqi94rh9r63k9cj00kjgbfn7gn60kmnk6fjcw69"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://github.com/rust-lang/socket2")
    (synopsis "Networking sockets in Rust")
    (description
     "This package provides utilities for handling networking sockets with a
maximal amount of configuration possible intended.")
    (license (list license:expat license:asl2.0))))

(define-public rust-socket2-0.4
  (package
    (inherit rust-socket2-0.5)
    (name "rust-socket2")
    (version "0.4.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "socket2" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1gaf57dc16s1lfyv388w9vdl9qay15xds78jcwakml9kj3dx5qh2"))))
    (arguments
     (list #:cargo-inputs
           `(("rust-libc" ,rust-libc-0.2)
             ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-socket2-0.3
  (package
    (inherit rust-socket2-0.4)
    (name "rust-socket2")
    (version "0.3.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "socket2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vldz14mxqxnjqb6an2pj7mgclv7nrk45cpscwq7g3fj2c0mfbhj"))))
    (arguments
     `(#:tests? #f                      ; tests require network access
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-socketpair-0.19
  (package
    (name "rust-socketpair")
    (version "0.19.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "socketpair" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xln407qisgd1rrq54ff7b9dbm0mjwvkl17ry6bph4clz2vhvicx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1)
                       ("rust-io-extras" ,rust-io-extras-0.18)
                       ("rust-io-lifetimes" ,rust-io-lifetimes-2)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-uuid" ,rust-uuid-1)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1))))
    (home-page "https://github.com/sunfishcode/socketpair")
    (synopsis "Cross-platform socketpair functionality")
    (description
     "This package provides cross-platform socketpair functionality.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-socks-0.3
  (package
    (name "rust-socks")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "socks" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12ymihhib0zybm6n4mrvh39hj1dm0ya8mqnqdly63079kayxphzh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Tests require network connection.
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/sfackler/rust-socks")
    (synopsis "Rust SOCKS proxy clients")
    (description
     "You can write SOCKS proxy clients with this crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sourcemap-6
  (package
    (name "rust-sourcemap")
    (version "6.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sourcemap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "145xyp6qaai2gd5p92bkg7yzrm4n5mqx1y111vsnqmywlxfgdjz4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=types::tests::test_adjust_mappings_injection")
       #:cargo-inputs
       (("rust-data-encoding" ,rust-data-encoding-2)
        ("rust-debugid" ,rust-debugid-0.8)
        ("rust-if-chain" ,rust-if-chain-1)
        ("rust-rustc-version" ,rust-rustc-version-0.2)
        ("rust-scroll" ,rust-scroll-0.10)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-unicode-id" ,rust-unicode-id-0.3)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-magic-string" ,rust-magic-string-0.3)
        ("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/getsentry/rust-sourcemap")
    (synopsis "Basic sourcemap handling for Rust")
    (description "This package provides basic sourcemap handling for Rust.")
    (license license:bsd-3)))

(define-public rust-special-0.8
  (package
    (name "rust-special")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "special" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dknpky1bbl7xp4qwp3vjqjarfl846mk6irs2z7mvdsr843mx9i4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-assert" ,rust-assert-0.7)
        ("rust-random" ,rust-random-0.12))))
    (home-page "https://github.com/stainless-steel/special")
    (synopsis "Special functions")
    (description "The package provides so-called special functions.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-speculate-0.1
  (package
    (name "rust-speculate")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "speculate" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0ph01n3fqkmnfr1wd13dqsi4znv06xy6p4h3hqqdzk81r0r5vd1w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-syn" ,rust-syn-0.14)
        ("rust-unicode-xid" ,rust-unicode-xid-0.1))))
    (home-page "https://github.com/utkarshkukreti/speculate.rs")
    (synopsis "RSpec inspired testing framework for Rust")
    (description
     "An RSpec inspired minimal testing framework for Rust.")
    (license license:expat)))

(define-public rust-speedate-0.15
  (package
    (name "rust-speedate")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "speedate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dzryiwvdbdcz74x0hidb5g1c2aal4n9cxsdlqwxxrq79vgplpls"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-strum" ,rust-strum-0.26)
                       ("rust-strum-macros" ,rust-strum-macros-0.26))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-iso8601" ,rust-iso8601-0.6)
                                   ("rust-paste" ,rust-paste-1))))
    (home-page "https://github.com/pydantic/speedate/")
    (synopsis "Fast and simple datetime, date, time and duration parsing")
    (description "This package provides fast and simple datetime, date, time and
duration parsing.")
    (license license:expat)))

(define-public rust-speedate-0.14
  (package
    (inherit rust-speedate-0.15)
    (name "rust-speedate")
    (version "0.14.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "speedate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mx5gx74gh2wwvq4vyn1fshj3yjvxqn0y8gkn3q97inlvf0098h8"))))
    (arguments
     `(#:cargo-inputs (("rust-strum" ,rust-strum-0.26)
                       ("rust-strum-macros" ,rust-strum-macros-0.26))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-iso8601" ,rust-iso8601-0.6)
                                   ("rust-paste" ,rust-paste-1))))))

(define-public rust-speedy-0.8
  (package
    (name "rust-speedy")
    (version "0.8.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "speedy" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "114vf8kbzpwvx538ydchgy7n9fhjzfaxy23hql2v2s8m38fqchkn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-glam" ,rust-glam-0.23)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-memoffset" ,rust-memoffset-0.8)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-speedy-derive" ,rust-speedy-derive-0.8)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-paste" ,rust-paste-1)
                                   ("rust-quickcheck" ,rust-quickcheck-0.9)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/koute/speedy")
    (synopsis "Binary serialization framework")
    (description
     "This package provides a fast binary serialization framework for Rust.")
    ;; The user can choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-speedy-derive-0.8
  (package
    (name "rust-speedy-derive")
    (version "0.8.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "speedy-derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ixn6kx8axs72cs3sshg63h4qxmgq0646yppa18n4y37rdk5hfbx"))))
    (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/koute/speedy")
    (synopsis "Binary serialization framework")
    (description
     "This package provides a fast binary serialization framework,
@code{#[derive(Readable, Writable)]} support")
    (license (list license:expat license:asl2.0))))

(define-public rust-spin-0.9
  (package
    (name "rust-spin")
    (version "0.9.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rvam5r0p3a6qhc18scqpvpgb3ckzyqxpgdfyjnghh8ja7byi039"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lock-api" ,rust-lock-api-0.4)
        ("rust-portable-atomic" ,rust-portable-atomic-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4))))
    (home-page "https://github.com/mvdnes/spin-rs")
    (synopsis "Synchronization primitives based on spinning")
    (description "This crate provides synchronization primitives based on
spinning.  They may contain data, are usable without @code{std},and static
initializers are available.")
    (license license:expat)))

(define-public rust-spin-0.7
  (package
    (inherit rust-spin-0.9)
    (name "rust-spin")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qjips9f6fsvkyd7wj3a4gzaqknn2q4kkb19957pl86im56pna0k"))))
    (arguments
     `(#:cargo-inputs (("rust-lock-api" ,rust-lock-api-0.4))))))

(define-public rust-spin-0.5
  (package
    (inherit rust-spin-0.9)
    (name "rust-spin")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spin" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf"))))
    (arguments '())))

(define-public rust-spin-0.4
  (package
    (inherit rust-spin-0.5)
    (name "rust-spin")
    (version "0.4.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spin" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f"))))
    (arguments '(#:skip-build? #t))))

(define-public rust-spin-on-0.1
  (package
    (name "rust-spin-on")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spin_on" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18idc7jfa4m2cap721nh5lva19z3ykjyz1w2hfm6960vshz10vh7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-pin-utils" ,rust-pin-utils-0.1))))
    (home-page "https://crates.io/crates/spin_on")
    (synopsis "Simple, inefficient Future executor")
    (description
     "This crate contains what aims to be the simplest possible implementation
of a valid executor.  Instead of nicely parking the thread and waiting for the
future to wake it up, it continuously polls the future until the future is
ready.  This will probably use a lot of CPU, so be careful when you use it.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-spin-sleep-1
  (package
    (name "rust-spin-sleep")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spin_sleep" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zrllbf1ksc6srjgbslk2fn5c9fp5f1rrrw2n0301xza9639g2in"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5))))
    (home-page "https://github.com/alexheretic/spin-sleep")
    (synopsis "Accurate sleeping and spinning")
    (description
     "This library adds a middle ground, using a configurable native accuracy setting
allowing @code{thread::sleep} to wait the bulk of a sleep time, and spin the final
section to guarantee accuracy.")
    (license license:asl2.0)))

(define-public rust-spinning-0.1
  (package
    (name "rust-spinning")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spinning" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yrs2lzyyrwvs58pya2h22pfdx3vv0h76w1av5c2dbbw5630wkrd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lock-api" ,rust-lock-api-0.4))))
    (home-page "https://github.com/4lDO2/spinning-rs.git")
    (synopsis "Mutexes and SIX locks implemented by spinning")
    (description
     "This package provides Mutexes and SIX locks implemented by spinning.")
    (license (list license:expat license:asl2.0))))

(define-public rust-spinning-top-0.2
  (package
    (name "rust-spinning-top")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spinning_top" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dmbb627i05qla1lnxy7r6hpiia76c8kb40zcgrbar0dx1rrslky"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lock-api" ,rust-lock-api-0.4))))
    (home-page "https://github.com/rust-osdev/spinning_top")
    (synopsis "Simple spinlock based on @code{lock_api}")
    (description
     "This package provides a simple spinlock crate based on the abstractions
provided by @code{lock_api}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-spirv-std-0.4
  (package
    (name "rust-spirv-std")
    ;; We use a slightly older version here, because of problems building glam
    ;; 0.13.1 with more recent versions.
    (version "0.4.0-alpha.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spirv-std" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14npd838bqnw09iab0zq94xs4yl69m6c0cdfzxa9fal0zxqlqv3j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-spirv-std-macros" ,rust-spirv-std-macros-0.4)
        ("rust-spirv-types" ,rust-spirv-types-0.4))))
    (home-page "https://github.com/EmbarkStudios/rust-gpu")
    (synopsis "Standard functions and types for SPIR-V")
    (description "This package provides standard functions and types for
SPIR-V.")
    (license (list license:expat license:asl2.0))))

(define-public rust-spirv-std-macros-0.4
  (package
    (name "rust-spirv-std-macros")
    (version "0.4.0-alpha.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spirv-std-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19cc15vq9ybdap39qxpf4vsz5q6li21mzgv47zqbyj5vvwaqazi0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-spirv-types" ,rust-spirv-types-0.4)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/EmbarkStudios/rust-gpu")
    (synopsis "Macros for spirv-std")
    (description "This package provides macros for spirv-std.")
    (license (list license:expat license:asl2.0))))

(define-public rust-spirv-types-0.4
  (package
    (name "rust-spirv-types")
    (version "0.4.0-alpha.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spirv-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sxcic2n04xzywww3c7mj9ah8iwr20vz3d6xvsgla1y7gs7lpk3i"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/EmbarkStudios/rust-gpu")
    (synopsis "SPIR-V types shared between spirv-std and spirv-std-macros")
    (description "This package provides SPIR-V types shared between spirv-std
and spirv-std-macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-spmc-0.3
  (package
    (name "rust-spmc")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "spmc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rgcqgj6b3d0cshi7277akr2xk0cx11rkmviaahy7a3pla6l5a02"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;; tests hang
       #:cargo-development-inputs
       (("rust-loom" ,rust-loom-0.2))))
    (home-page "https://github.com/seanmonstar/spmc")
    (synopsis "Simple SPMC channel")
    (description "Simple SPMC channel")
    (license (list license:expat license:asl2.0))))

(define-public rust-sprs-0.11
  (package
    (name "rust-sprs")
    (version "0.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "sprs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0w6xishm9jxqjy83as7g14474cn1xb55vqz8afqw9d7and41x9vf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ;8 test failures due to "No such file or directory"
       #:cargo-inputs
       (("rust-alga" ,rust-alga-0.9)
        ("rust-approx" ,rust-approx-0.5)
        ("rust-ndarray" ,rust-ndarray-0.15)
        ("rust-num-complex" ,rust-num-complex-0.4)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-bincode" ,rust-bincode-1)
        ("rust-tobj" ,rust-tobj-3))))
    (home-page "https://github.com/vbarrielle/sprs")
    (synopsis "Sparse matrix library")
    (description "This package provides a sparse matrix library.")
    ;; Either license can be chosen
    (license (list license:expat license:asl2.0))))

(define-public rust-sprs-0.10
  (package
    (inherit rust-sprs-0.11)
    (name "rust-sprs")
    (version "0.10.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "sprs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "18qwm1wnc1jbzdpl0wfrrybb6rak74zv8jmfg87id7ksb6crkz6r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t    ;8 test failures due to "No such file or directory"
       #:cargo-inputs
       (("rust-alga" ,rust-alga-0.9)
        ("rust-approx" ,rust-approx-0.3)
        ("rust-ndarray" ,rust-ndarray-0.14)
        ("rust-num-complex" ,rust-num-complex-0.2)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-bincode" ,rust-bincode-1)
        ("rust-tobj" ,rust-tobj-2))))))

(define-public rust-sptr-0.3
  (package
    (name "rust-sptr")
    (version "0.3.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "sptr" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0shddkys046nnrng929mrnjjrh31mlxl95ky7dgxd6i4kclkk6rv"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Gankra/sptr")
    (synopsis "The Strict Provenance Polyfill")
    (description "This package provides sptr, The Strict Provenance Polyfill.")
    (license (list license:expat license:asl2.0))))

(define-public rust-st-map-0.1
  (package
    (name "rust-st-map")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "st-map" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1l820pisfi134v3wy0na480wl7rf69kgxzvmgc560ngqb0xb3biw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-static-map-macro" ,rust-static-map-macro-0.2))))
    (home-page "https://github.com/kdy1/rust-static-map")
    (synopsis "Runtime for a stack-alocated map")
    (description "This package provides a runtime for a stack-alocated map.")
    (license license:expat)))

(define-public rust-stability-0.2
  (package
    (name "rust-stability")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stability" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1b7w6qknq0w5y7s358j62pzi9kbh6g73lal3jx9aydpikl0ff16r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/sagebind/stability")
    (synopsis "Rust API stability attributes")
    (description
     "This package provides Rust API stability attributes for the rest of us.")
    (license license:expat)))

(define-public rust-stability-0.1
  (package
    (inherit rust-stability-0.2)
    (name "rust-stability")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stability" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kn3vcicmpg8bnyalp15i2j0dbv6c0wc62022bcs58jdi5vv3lgb"))))
    (arguments
     `(#:cargo-inputs (("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-1))))))

(define-public rust-stable-deref-trait-1
  (package
    (name "rust-stable-deref-trait")
    (version "1.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "stable_deref_trait" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1lxjr8q2n534b2lhkxd6l6wcddzjvnksi58zv11f9y0jjmr15wd8"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/storyyeller/stable_deref_trait0")
    (synopsis "Defines an unsafe marker trait, StableDeref")
    (description
     "This crate defines an unsafe marker trait, StableDeref, for container
types which deref to a fixed address which is valid even when the containing
type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
Additionally, it defines CloneStableDeref for types like Rc where clones deref
to the same address.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-stable-pattern-0.1
  (package
    (name "rust-stable-pattern")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stable-pattern" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0i8hq82vm82mqj02qqcsd7caibrih7x5w3a1xpm8hpv30261cr25"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; no method named `as_str` found for struct `std::str::Split`
       #:cargo-inputs (("rust-memchr" ,rust-memchr-2))))
    (home-page "https://github.com/SergioBenitez/stable-pattern")
    (synopsis "Stable port of std::str::Pattern and friends")
    (description
      "This package provides a stable port of @code{std::str::Pattern} and friends.")
    (license (list license:expat license:asl2.0))))

(define-public rust-stacker-0.1
  (package
    (name "rust-stacker")
    (version "0.1.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "stacker" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1klz4mk1iqn3jixhnls6ia4ql4fpinnfjibxabpx6pqmh12bv1n8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-psm" ,rust-psm-0.1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rust-lang/stacker")
    (synopsis "Manual segmented stacks for Rust")
    (description
     "This package provides a stack growth library useful when implementing
deeply recursive algorithms that may accidentally blow the stack.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-standback-0.2
  (package
    (name "rust-standback")
    (version "0.2.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "standback" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zr8zy3kzryaggz3k0j4135m3zbd31pyqmja8cyj8yp07mpzn4z1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/jhpratt/standback")
    (synopsis "New standard library, old compiler")
    (description "New standard library, old compiler.")
    (license (list license:expat license:asl2.0))))

(define-public rust-starship-battery-0.10
  (package
    (name "rust-starship-battery")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "starship-battery" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1llfi5gvgrwf08rm49lqr60lkzga167w59vzh20dpwwwhwvsj5wh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Missing test files
         "--skip=src/types/manager.rs - types::manager::Manager (line 15)"
         "--skip=src/units.rs - units (line 9)"
         "--skip=src/units.rs - units (line 23)"
         "--skip=src/units.rs - units (line 39)"
         "--skip=src/units.rs - units (line 53)")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-core-foundation" ,rust-core-foundation-0.10)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mach2" ,rust-mach2-0.4)
                       ("rust-nix" ,rust-nix-0.29)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-plist" ,rust-plist-1)
                       ("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-uom" ,rust-uom-0.36)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/starship/rust-battery")
    (synopsis "Cross-platform information about the notebook batteries")
    (description
     "This package provides Cross-platform information about the notebook batteries.")
    (license license:isc)))

(define-public rust-starship-battery-0.9
  (package
    (inherit rust-starship-battery-0.10)
    (name "rust-starship-battery")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "starship-battery" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gzldhpfhqh12wgrahfdl2vma3qmrv434c4xcj7qndclcxs1ayfs"))))
    (arguments
     `(#:cargo-test-flags
       '("--"
         ;; Missing test files
         "--skip=src/types/manager.rs - types::manager::Manager (line 15)"
         "--skip=src/units.rs - units (line 9)"
         "--skip=src/units.rs - units (line 23)"
         "--skip=src/units.rs - units (line 39)"
         "--skip=src/units.rs - units (line 53)")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-core-foundation" ,rust-core-foundation-0.9)
                       ("rust-lazycell" ,rust-lazycell-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mach2" ,rust-mach2-0.4)
                       ("rust-nix" ,rust-nix-0.29)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-plist" ,rust-plist-1)
                       ("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-uom" ,rust-uom-0.36)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-state-0.6
  (package
    (name "rust-state")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "state" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n3n2h324h1y5zhaajh6kplvzfvg1l6hsr8siggmf4yq8m24m31b"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-loom" ,rust-loom-0.5))
       #:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/SergioBenitez/state")
    (synopsis "Library for safe global and thread-local state management")
    (description
     "This package provides a library for safe global and thread-local state
management.")
    (license (list license:expat license:asl2.0))))

(define-public rust-state-0.5
  (package
    (inherit rust-state-0.6)
    (name "rust-state")
    (version "0.5.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "state" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0fzji31ijbkimbzdy4dln9mp5xp7lm1a0dnqxv4n10hywphnds6v"))))
    (arguments
     `(#:cargo-inputs
       (("rust-loom" ,rust-loom-0.5))
       #:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-state-0.4
  (package
    (inherit rust-state-0.5)
    (name "rust-state")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "state" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10v4k9bgjryc9m40c8nnhyrby2ngkhpx841p3k4halgxlp8af59h"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-static-alloc-0.2
  (package
    (name "rust-static-alloc")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "static-alloc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07p6s9njqc1v6jpr0vlw55ps4v32wp3df27fxjg565nf6ph7aacb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-alloc-traits" ,rust-alloc-traits-0.1)
                       ("rust-atomic-polyfill" ,rust-atomic-polyfill-1))))
    (home-page "https://github.com/HeroicKatora/static-alloc")
    (synopsis "Bump allocator on static memory for the alloc-traits crate")
    (description
     "This package provides a bump allocator on static memory for the alloc-traits
crate.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-static-assertions-1
  (package
    (name "rust-static-assertions")
    (version "1.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "static_assertions" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/nvzqz/static-assertions-rs")
    (synopsis "Compile-time assertions for rust")
    (description
     "This package provides compile-time assertions to ensure that invariants
are met.")
    (license (list license:expat license:asl2.0))))

(define-public rust-static-map-macro-0.2
  (package
    (name "rust-static-map-macro")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "static-map-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zcm28d46dggdpbn06xlpa274z25l228cmzxpc8qh8s8y43kwl6m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-pmutil" ,rust-pmutil-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/kdy1/rust-static-map")
    (synopsis "Macro to create a stack-alocated map")
    (description "This package provides a macro to create a stack-alocated
map.")
    (license license:expat)))

(define-public rust-statistical-1
  (package
    (name "rust-statistical")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "statistical" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0wm35q6p6jcq1r1darczv4if7qss460kd391nlw5x3hjpc17kma9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=univariate_::test::test_pkurtosis")
       #:cargo-inputs
       (("rust-num" ,rust-num-0.2)
        ("rust-rand" ,rust-rand-0.6))))
    (home-page "https://github.com/JeffBelgum/statistical")
    (synopsis "Simple Rust statistics library")
    (description "This package provides a simple statistics library.")
    (license license:expat)))

(define-public rust-statrs-0.14
  (package
    (name "rust-statrs")
    (version "0.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "statrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bdff4rsghp9hj5i5ynl6iw3pyzprd65cbf8ihmgvyv190a1y30y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-approx" ,rust-approx-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-nalgebra" ,rust-nalgebra-0.26)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/statrs-dev/statrs")
    (synopsis "Statistical computing library for Rust")
    (description "This package provides a statistical computing library for
Rust.")
    (license license:expat)))

(define-public rust-statrs-0.15
  (package
    (name "rust-statrs")
    (version "0.15.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "statrs" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "01bggaq9n09ch20r4yq9s2c4y54367nd71asg22nl8bq9s7bpg85"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-nalgebra" ,rust-nalgebra-0.27)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rand" ,rust-rand-0.8))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/boxtown/statrs")
    (synopsis "Statistical computing library for Rust")
    (description "This package provides a statistical computing library for
Rust.")
    (license license:expat)))

(define-public rust-statrs-0.17
  (package
    (name "rust-statrs")
    (version "0.17.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "statrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mbjasnlh7xqa1rvq48xffqxnc53hgjlgqjd0ifa58068rza15zn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-approx" ,rust-approx-0.5)
                       ("rust-nalgebra" ,rust-nalgebra-0.32)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/statrs-dev/statrs")
    (synopsis "Statistical computing library for Rust")
    (description
     "This package provides a statistical computing library for Rust.")
    (license license:expat)))

(define-public rust-statrs-0.13
  (package
    (name "rust-statrs")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "statrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0r00b60zlsn6srb6m6bzbw3w5cyihcy4w2rfjav64x4viy5bad0y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=statistics::statistics::Statistics")
       #:cargo-inputs
       (("rust-nalgebra" ,rust-nalgebra-0.19)
        ("rust-rand" ,rust-rand-0.7))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/statrs-dev/statrs")
    (synopsis "Statistical computing library for Rust")
    (description "This package provides a statistical computing library for
Rust.")
    (license license:expat)))

(define-public rust-stats-alloc-0.1
  (package
    (name "rust-stats-alloc")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stats_alloc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l3rs4m0q8y78dr9r4wxwhncqakkqzic4bqc6sgrcwv2y9mwjq52"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t))
    (home-page "https://github.com/neoeinstein/stats_alloc")
    (synopsis "Allocator wrapper")
    (description
     "This package provides an allocator wrapper that allows for
instrumenting global allocators.")
    (license license:expat)))

(define-public rust-stb-truetype-0.3
  (package
    (name "rust-stb-truetype")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stb_truetype" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0lgvnh3ma6cz811bk8imj45djz76zs47b8327sgnmik2x03nnyzp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; tests not included in release
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-libm" ,rust-libm-0.2))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.3))))
    (home-page "https://gitlab.redox-os.org/redox-os/stb_truetype-rs")
    (synopsis "Translation of the font loading code to Rust")
    (description
     "This package provides a straight translation of the font loading code
in @code{stb_truetype.h} from C to Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-stc-s-0.1
  (package
    (name "rust-stc-s")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stc-s" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mcvhd50qqysqvd5jqd5ydjyqs3rp2x6irk518lrqn7xlx3cz04p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-nom" ,rust-nom-7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/cds-astro/cds-stc-rust/")
    (synopsis "STC-S serializer/deserializer with JSON support")
    (description
     "This package provides Rust implementation of a @acronym{Space-Time
Coordinate,STC-S} serializer/deserializer with JSON support.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-std-prelude-0.2
  (package
    (name "rust-std-prelude")
    (version "0.2.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "std_prelude" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ghcwnhnqn3rphyhlknmxpj5clzqva46z1vh25k5bpzzan2ff1w2"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/vitiral/std_prelude")
    (synopsis
     "Prelude that the rust stdlib should have always had")
    (description
     "A package that simply uses all of the items often included in a Rust
codebase.")
    (license license:expat)))

(define-public rust-stderrlog-0.5
  (package
    (name "rust-stderrlog")
    (version "0.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stderrlog" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yrjf10zakwzacbfvi3jdin78mlvff1rgyja2s4x69z6dnznp8k9"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"~([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-termcolor" ,rust-termcolor-1)
                       ("rust-thread-local" ,rust-thread-local-1))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-3)
                                   ("rust-docopt" ,rust-docopt-1)
                                   ("rust-libc" ,rust-libc-0.2)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-structopt" ,rust-structopt-0.3))))
    (home-page "https://github.com/cardoe/stderrlog-rs")
    (synopsis "Logger that logs to stderr")
    (description "This package provides logger that logs to stderr based
on verbosity specified.")
    (license (list license:expat license:asl2.0))))

(define-public rust-stfu8-0.2
  (package
    (name "rust-stfu8")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stfu8" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0xyv4axwc9rihg3f5fjdy7s0ahnz1iq6lq06blwkq2ihwcrh9xsb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-0.2))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.4)
        ("rust-proptest" ,rust-proptest-0.3))))
    (home-page "https://github.com/vitiral/stfu8")
    (synopsis "Sorta Text Format in UTF-8")
    (description
     "STFU-8 is a hacky text encoding/decoding protocol for files that
partially uses UTF-8.  Its primary purpose is to allow a human to visualize and
edit data that is mostly UTF-8.  It will encode all non-UTF8-compliant bytes as
longform text (e.g., ESC becomes @code{r\x1B}) and tries to encode ill-formed
UTF-8.")
    (license (list license:expat license:asl2.0))))

(define-public rust-str-buf-1
  (package
    (name "rust-str-buf")
    (version "1.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "str-buf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0shprf95kywspn4vbn706n8kvh6n473c5sffmdbsz77zni1kcjnl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/DoumanAsh/str-buf")
    (synopsis "Static string buffer")
    (description "This package provides a static string buffer.")
    (license license:boost1.0)))

(define-public rust-str-indices-0.4
  (package
    (name "rust-str-indices")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "str_indices" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p6kggjax1mx0niq22dsm5xq2jvg6l4nyrm8a6f0138yaav7qmg9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-proptest" ,rust-proptest-1))))
    (home-page "https://github.com/cessen/str_indices")
    (synopsis "Count and convert between indexing schemes on string slices")
    (description
     "Count and convert between indexing schemes on string slices.")
    (license (list license:expat license:asl2.0))))

(define-public rust-str-stack-0.1
  (package
    (name "rust-str-stack")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "str_stack" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sxl8xd8kiaffsryqpfwcb02lnd3djfin7gf38ag5980908vd4ch"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Stebalien/str_stack")
    (synopsis "String allocator for allocating many write-once strings")
    (description
     "This package provides a string allocator for allocating many write-once
strings.  This library is primarily useful for parsing where you need to
repeatedly build many strings, use them, and then throw them away.  Instead of
allocating many independent strings, this library will put them all in the same
buffer.")
    (license (list license:expat license:asl2.0))))

(define-public rust-stream-assert-0.1
  (package
    (name "rust-stream-assert")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stream_assert" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15jbd1wzd1pl7mc7wkhrcnj5km4bv51gng664w23y0f9ff56gavz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-util" ,rust-futures-util-0.3))))
    (home-page "https://codeberg.org/jplatte/stream_assert")
    (synopsis "Macros to simplify testing of `Stream` based APIs")
    (description "This package provides macros to simplify testing of
`Stream` based APIs.")
    (license license:mpl2.0)))

(define-public rust-streaming-decompression-0.1
  (package
    (name "rust-streaming-decompression")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "streaming-decompression" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14ncaqb723wz5xx2ws7g8d3qx9hlhrx95wllf152qx6wsnn8gilv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-fallible-streaming-iterator"
         ,rust-fallible-streaming-iterator-0.1))))
    (home-page "https://crates.io/crates/streaming-decompression")
    (synopsis "Fallible streaming iterator for compression and decompression")
    (description
     "This package provides a fallible streaming iterator specialized for
compression and decompression.")
    (license license:asl2.0)))

(define-public rust-streaming-iterator-0.1
  (package
    (name "rust-streaming-iterator")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "streaming-iterator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0845zdv8qb7zwqzglpqc0830i43xh3fb6vqms155wz85qfvk28ib"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/sfackler/streaming-iterator")
    (synopsis "Streaming iterators")
    (description "The iterator APIs in the Rust standard library do not allow
elements to be yielded which borrow from the iterator itself.  That means, for
example, that the @code{std::io::Lines} iterator must allocate a new
@code{String} for each line rather than reusing an internal buffer.  The
@code{StreamingIterator} trait instead provides access to elements being
iterated over only by reference rather than by value.")
    (license (list license:expat license:asl2.0))))

(define-public rust-streaming-stats-0.2
  (package
    (name "rust-streaming-stats")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "streaming-stats" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0iz5dlq51w5hxjrv6a4hpf8rrj91kgvy0s9mhj0j12il9v771mmh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/BurntSushi/rust-stats")
    (synopsis "Compute basic statistics on streams")
    (description
     "Experimental crate for computing basic statistics on streams.")
    (license (list license:unlicense
                   license:expat))))

(define-public rust-streaming-stats-0.1
  (package
    (inherit rust-streaming-stats-0.2)
    (name "rust-streaming-stats")
    (version "0.1.29")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "streaming-stats" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09cbpj40g1wcmkz9bpm9yrqyrvqizn6kmwac1jpb2prq6gr2phyv"))))
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-strength-reduce-0.2
  (package
    (name "rust-strength-reduce")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strength_reduce" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10jdq9dijjdkb20wg1dmwg447rnj37jbq0mwvbadvqi2gys5x2gy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/ejmahler/strength_reduce")
    (synopsis "Faster integer division and modulus operations")
    (description "Strength_reduce implements integer division and modulo via
@dfn{arithmetic strength reduction}.  Modern processors can do multiplication
and shifts much faster than division, and arithmetic strength reduction is an
algorithm to transform divisions into multiplications and shifts.  Compilers
already perform this optimization for divisors that are known at compile time;
this library enables this optimization for divisors that are only known at
runtime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-strict-num-0.1
  (package
    (name "rust-strict-num")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "strict-num" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1l9b7d0qrdg3nvqim1xvkcis37jmdf565qyxxx2x5vlad4h5zxlx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-float-cmp" ,rust-float-cmp-0.9))))
    (home-page "https://github.com/RazrFalcon/strict-num")
    (synopsis "Collection of bounded numeric types")
    (description "This package provides a collection of bounded numeric types.")
    (license license:expat)))

(define-public rust-string-0.2
  (package
    (name "rust-string")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "string" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vaxz85ja52fn66akgvggb29wqa5bpj3y38syykpr1pbrjzi8hfj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.4))))
    (home-page "https://github.com/carllerche/string")
    (synopsis "UTF-8 encoded string with configurable byte storage")
    (description "This package provides a UTF-8 encoded string with
configurable byte storage.")
    (license license:expat)))

(define-public rust-string-cache-0.8
  (package
    (name "rust-string-cache")
    (version "0.8.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "string_cache" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0fr90a54ibsrnfjq5la77yjd641g6vqv8f1v3pmpbxa2cbkkh4gr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-phf-shared" ,rust-phf-shared-0.10)
        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/servo/string-cache")
    (synopsis "String interning library for Rust")
    (description
     "This package provides a string interning library for Rust,
developed as part of the Servo project.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-string-cache-0.7
  (package
    (inherit rust-string-cache-0.8)
    (name "rust-string-cache")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "string_cache" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0rrdb822gc1fs3qq4camgj3kh4182bs79hpqxhdrpmlz5yl5ih49"))))
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-new-debug-unreachable"
         ,rust-new-debug-unreachable-1)
        ("rust-phf-shared" ,rust-phf-shared-0.7)
        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.4)
        ("rust-string-cache-shared" ,rust-string-cache-shared-0.3))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4))))))

(define-public rust-string-cache-codegen-0.5
  (package
    (name "rust-string-cache-codegen")
    (version "0.5.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "string_cache_codegen" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1249fafaa7r3m67zxcbcw1bddanygv13r3209bvlzgi2ny4h5cvb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.10)
        ("rust-phf-shared" ,rust-phf-shared-0.10)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/servo/string-cache")
    (synopsis "Codegen library for string-cache")
    (description
     "This package provides a codegen library for string-cache,
developed as part of the Servo project.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-string-cache-codegen-0.4
  (package
    (inherit rust-string-cache-codegen-0.5)
    (name "rust-string-cache-codegen")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "string_cache_codegen" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ik78h9gs874i24rkyh0myg6x4ni2a9cazbv5yzs9yavnv8mxx7h"))))
    (arguments
     `(#:cargo-inputs
       (("rust-phf-generator" ,rust-phf-generator-0.7)
        ("rust-phf-shared" ,rust-phf-shared-0.7)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-string-cache-shared" ,rust-string-cache-shared-0.3))))))

(define-public rust-string-cache-shared-0.3
  (package
    (name "rust-string-cache-shared")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "string_cache_shared" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1z7dpdix1m42x6ddshdcpjf91ml9mhvnskmiv5kd8hcpq0dlv25i"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/servo/string-cache")
    (synopsis "Code share between string_cache and string_cache_codegen")
    (description
     "Code share between string_cache and string_cache_codegen.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-string-interner-0.12
  (package
    (name "rust-string-interner")
    (version "0.12.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "string-interner" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "021whb6wrfq4mbdcdlrm6f01ncvh23yd2r08kxpyw5v5hz8rcc9q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-hashbrown" ,rust-hashbrown-0.9)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/robbepop/string-interner")
    (synopsis "Efficient string interner")
    (description
     "This package provides an efficient string interner with minimal memory
footprint and fast access to the underlying strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-stringprep-0.1
  (package
    (name "rust-stringprep")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "stringprep" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hd1x7s8fnzqwz5fm2pq0jh10n024zvwnldmykzm8x5qfk5liqwf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))
    (home-page "https://github.com/sfackler/rust-stringprep")
    (synopsis "Implementation of the ``stringprep'' algorithm")
    (description
     "This package provides an implementation of the ``stringprep'' algorithm
as defined in RFC 3454.")
    (license (list license:expat license:asl2.0))))

(define-public rust-strip-ansi-escapes-0.2
  (package
    (name "rust-strip-ansi-escapes")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strip-ansi-escapes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ymwcax1vyacqxx5xisfsynm7n1bvmhskvsaylac915k8gwqxzsm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-vte" ,rust-vte-0.11))
       #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/luser/strip-ansi-escapes")
    (synopsis "Strip ANSI escape sequences from byte streams")
    (description
     "This crate is for stripping ANSI escape sequences from byte sequences.

This can be used to take output from a program that includes escape sequences
and write it somewhere that does not easily support them, such as a log
file.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-strip-ansi-escapes-0.1
  (package
    (inherit rust-strip-ansi-escapes-0.2)
    (name "rust-strip-ansi-escapes")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strip-ansi-escapes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n36ly9vxb1wr5q76i7995xr7c0pb1pc8g7a3a3n47vwrwwvn701"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-vte" ,rust-vte-0.10))))))

(define-public rust-strobe-rs-0.8
  (package
    (name "rust-strobe-rs")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strobe-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bdb9fqjpgck3fzmlsdsq5b14zhm1l66f0xp9x6gmk6c3j527fzs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-keccak" ,rust-keccak-0.1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-big-array" ,rust-serde-big-array-0.4)
                       ("rust-subtle" ,rust-subtle-2)
                       ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/rozbb/strobe-rs")
    (synopsis "Rust implementation of the Strobe protocol framework")
    (description
     "This package provides an implementation of the Strobe protocol
framework in pure Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-strobe-rs-0.5
  (package
    (inherit rust-strobe-rs-0.8)
    (name "rust-strobe-rs")
    (version "0.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strobe-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10s7f7kr5zlza5f5r06wp0ylhyvp904hyw1kagz9r27af7hsx6qs"))))
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-subtle" ,rust-subtle-2)
                       ("rust-tiny-keccak" ,rust-tiny-keccak-2))
       #:cargo-development-inputs
       (("rust-hex" ,rust-hex-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-strong-xml-0.6
  (package
    (name "rust-strong-xml")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strong-xml" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gxy34j42x5a572cfkkhmxamrm764pswj5r3wcwi0bwfc4xgn68x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-jetscii" ,rust-jetscii-0.5)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-strong-xml-derive"
         ,rust-strong-xml-derive-0.6)
        ("rust-xmlparser" ,rust-xmlparser-0.13))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.8))))
    (home-page "https://github.com/PoiScript/strong-xml")
    (synopsis "Strong typed xml")
    (description
     "This package provides a strong typed XML parser, based on xmlparser.")
    (license license:expat)))

(define-public rust-strong-xml-derive-0.6
  (package
    (name "rust-strong-xml-derive")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strong-xml-derive" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qf7smxaaglj7p9fs0csd0cyvwcy30w96pdy2aqi65ijk7s83iwj"))))
    (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/PoiScript/strong-xml")
    (synopsis "Strong typed XML")
    (description
     "This package provides a strong typed XML parser, based on xmlparser.")
    (license license:expat)))

(define-public rust-strsim-0.11
  (package
    (name "rust-strsim")
    (version "0.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strsim" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rapidfuzz/strsim-rs")
    (synopsis "Rust implementations of string similarity metrics")
    (description "This crate includes implementations of string similarity
metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
and Jaro-Winkler.")
    (license license:expat)))

(define-public rust-strsim-0.10
  (package
    (inherit rust-strsim-0.11)
    (name "rust-strsim")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strsim" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08s69r4rcrahwnickvi0kq49z524ci50capybln83mg6b473qivk"))))))

(define-public rust-strsim-0.9
  (package
    (inherit rust-strsim-0.10)
    (name "rust-strsim")
    (version "0.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strsim" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0k497pv882qn3q977ckznm13vxx927g8s1swvcv68j3c1pccwik4"))))))

(define-public rust-strsim-0.8
  (package
    (inherit rust-strsim-0.9)
    (name "rust-strsim")
    (version "0.8.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "strsim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))

(define-public rust-strsim-0.7
  (package
    (inherit rust-strsim-0.9)
    (name "rust-strsim")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "strsim" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0l7mkwvdk4vgnml67b85mczk466074aj8yf25gjrjslj4l0khkxv"))))))

(define-public rust-strsim-0.6
  (package
    (inherit rust-strsim-0.9)
    (name "rust-strsim")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strsim" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))))

(define-public rust-strsim-0.5
  (package
    (inherit rust-strsim-0.9)
    (name "rust-strsim")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strsim" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0z3zzvmilfldp4xw42qbkjf901dcnbk58igrzsvivydjzd24ry37"))))))

(define-public rust-struct-patch-0.4
  (package
    (name "rust-struct-patch")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "struct-patch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hlmncwmq6005znjjk12f5asx4r4m7cfzaxv88i1gcw97r9fylkw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-struct-patch-derive" ,rust-struct-patch-derive-0.4))
       #:cargo-development-inputs (("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/yanganto/struct-patch/")
    (synopsis "Library for partial updates of structs")
    (description
     "This package provides a library that helps you implement partial updates
for your structs.")
    (license license:expat)))

(define-public rust-struct-patch-derive-0.4
  (package
    (name "rust-struct-patch-derive")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "struct-patch-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nsdjvm1xinqx53s520y4fkqshjdfff3r4rglamrzrgb4yf38jpi"))))
    (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/yanganto/struct-patch/")
    (synopsis "Library for partial updates of structs")
    (description
     "This package provides a library that helps you implement partial updates
for your structs.")
    (license license:expat)))

(define-public rust-structmeta-0.2
  (package
    (name "rust-structmeta")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "structmeta" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bcj4c2p2j091mn9ld2hbcx77flqjx65ihb9gbb5c12gal4rxbbq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-structmeta-derive" ,rust-structmeta-derive-0.2)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/frozenlib/structmeta")
    (synopsis "Parse Rust's attribute arguments by defining a struct")
    (description "This package lets you parse Rust's attribute arguments by
defining a struct.")
    (license (list license:expat license:asl2.0))))

(define-public rust-structmeta-0.1
  (package
    (inherit rust-structmeta-0.2)
    (name "rust-structmeta")
    (version "0.1.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "structmeta" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0alyl12b7fab8izrpliil73sxs1ivr5vm0pisallmxlb4zb44j0h"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-structmeta-derive" ,rust-structmeta-derive-0.1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-structmeta-derive-0.2
  (package
    (name "rust-structmeta-derive")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "structmeta-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "005ybz4ha874w81pg15n00p01m9hir1dpl8p0352s1wpfgzwl2x6"))))
    (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-syn" ,rust-syn-2))))
    (home-page "https://github.com/frozenlib/structmeta")
    (synopsis "Derive macro for structmeta crate")
    (description
     "This package provides a derive macro for the structmeta crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-structmeta-derive-0.1
  (package
    (inherit rust-structmeta-derive-0.2)
    (name "rust-structmeta-derive")
    (version "0.1.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "structmeta-derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14vxik2m3dm7bwx016qfz062fwznkbq02fyq8vby545m0pj0nhi4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-structopt-0.3
  (package
    (name "rust-structopt")
    (version "0.3.26")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "structopt" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "043sg3qxllann6q9i71d05qp3q13scmcvhxhd950ka2v8ij5qsqc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-structopt-derive" ,rust-structopt-derive-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-paw" ,rust-paw-1)
        ("rust-clap" ,rust-clap-2))
       #:cargo-development-inputs
       (("rust-strum" ,rust-strum-0.21)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-rustversion" ,rust-rustversion-1))
       #:phases
       (modify-phases %standard-phases
         (add-before 'build 'fixup-cargo-toml
           (lambda _
             (substitute* "Cargo.toml"
               ;; feature does not exist
               (("lints.*") "")
               (("2.33") ,(package-version rust-clap-2))))))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis "Parse command line argument by defining a struct")
    (description
     "This package parses command lines arguments by defining a Rust
struct.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-structopt-0.2
  (package
    (name "rust-structopt")
    (version "0.2.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn"))
        (snippet
         #~(begin (use-modules (guix build utils))
                  (substitute* "Cargo.toml"
                    ((".*lints.*") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-clap" ,rust-clap-2)
        ("rust-structopt-derive" ,rust-structopt-derive-0.2))))
    (home-page "https://github.com/TeXitoi/structopt")
    (synopsis "Parse command line arguments by defining a struct")
    (description
     "Parse command line arguments by defining a struct.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-structopt-derive-0.4
  (package
   (name "rust-structopt-derive")
   (version "0.4.18")
   (source
    (origin
     (method url-fetch)
     (uri (crate-uri "structopt-derive" version))
     (file-name
      (string-append name "-" version ".tar.gz"))
     (sha256
      (base32
       "1q5gcigmvw0cinjxzpyrkflliq5r1ivljmrvfrl3phcwgwraxdfw"))))
   (build-system cargo-build-system)
   (arguments
    `(#:skip-build? #t
      #:cargo-inputs
      (("rust-heck" ,rust-heck-0.3)
       ("rust-proc-macro-error" ,rust-proc-macro-error-1)
       ("rust-proc-macro2" ,rust-proc-macro2-1)
       ("rust-syn" ,rust-syn-1)
       ("rust-quote" ,rust-quote-1))))
   (home-page "https://github.com/TeXitoi/structopt")
   (synopsis "Parse command line argument by defining a struct, derive crate")
   (description
    "This package provides the derive Rust crate for the structopt crate.")
   (license license:asl2.0)))

(define-public rust-structopt-derive-0.2
  (package
    (name "rust-structopt-derive")
    (version "0.2.18")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "structopt-derive" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("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/TeXitoi/structopt")
    (synopsis
     "Parse command line argument by defining a struct, derive crate")
    (description
     "Parse command line argument by defining a struct, derive crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-strum-0.26
  (package
    (name "rust-strum")
    (version "0.26.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01lgl6jvrf4j28v5kmx9bp480ygf1nhvac8b4p7rcj9hxw50zv4g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=EnumMessage"
                            "--skip=EnumProperty"
                            "--skip=IntoEnumIterator")
       #:cargo-inputs (("rust-phf" ,rust-phf-0.10)
                       ("rust-strum-macros" ,rust-strum-macros-0.26))
       #:cargo-development-inputs (("rust-strum-macros" ,rust-strum-macros-0.26))))
    (home-page "https://github.com/Peternator7/strum")
    (synopsis "Set of traits for working with enums and strings")
    (description
     "Strum is a set of macros and traits for working with enums and strings
easier in Rust.")
    (license license:expat)))

(define-public rust-strum-0.25
  (package
    (inherit rust-strum-0.26)
    (name "rust-strum")
    (version "0.25.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09g1q55ms8vax1z0mxlbva3vm8n2r1179kfvbccnkjcidzm58399"))))
    (arguments
     `(#:tests? #f  ; unresolved import `strum::EnumIter`
       #:cargo-inputs (("rust-phf" ,rust-phf-0.10)
                       ("rust-strum-macros" ,rust-strum-macros-0.25))
       #:cargo-development-inputs (("rust-strum-macros" ,rust-strum-macros-0.25))))))

(define-public rust-strum-0.24
  (package
    (inherit rust-strum-0.25)
    (name "rust-strum")
    (version "0.24.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gz6cjhlps5idwasznklxdh2zsas6mxf99vr0n27j876q12n0gh6"))))
    (arguments
     `(#:tests? #f          ; Doc tests fail.
       #:cargo-inputs
       (("rust-phf" ,rust-phf-0.10)
        ("rust-strum-macros" ,rust-strum-macros-0.24))
       #:cargo-development-inputs
       (("rust-strum-macros" ,rust-strum-macros-0.24))))))

(define-public rust-strum-0.21
  (package
    (inherit rust-strum-0.24)
    (name "rust-strum")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qnd2by1zrwgx7li0hmwy7jbzjwz1ky697qjg85nga8zzny6py5a"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-strum-macros" ,rust-strum-macros-0.21))))))

(define-public rust-strum-0.20
  (package
    (inherit rust-strum-0.21)
    (name "rust-strum")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p5cslmdnz261kiwmm4h7qsmv9bh83r0f9lq6f2z2mxsnl4wa63k"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-strum-macros" ,rust-strum-macros-0.20))))))

(define-public rust-strum-0.19
  (package
    (inherit rust-strum-0.20)
    (name "rust-strum")
    (version "0.19.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d8i5xwkc2z7z02ibln80z1bmpjhpi9k5ckpljwj0mrvgrm2i6mq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-strum-macros" ,rust-strum-macros-0.19))))))

(define-public rust-strum-0.18
  (package
    (inherit rust-strum-0.20)
    (name "rust-strum")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0asjskn1qhqqfiq673np0gvmnd1rsp506m38vk53gi7l93mq3gap"))))
    (arguments
     `(#:cargo-inputs
       (("rust-strum-macros" ,rust-strum-macros-0.18))))))

(define-public rust-strum-macros-0.26
  (package
    (name "rust-strum-macros")
    (version "0.26.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gl1wmq24b8md527cpyd5bw9rkbqldd7k1h38kf5ajd2ln2ywssc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=enum_discriminants"
                            "--skip=static_variants_array")
       #:cargo-inputs (("rust-heck" ,rust-heck-0.5)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-strum" ,rust-strum-0.26))))
    (home-page "https://github.com/Peternator7/strum")
    (synopsis "Set of macros for working with enums and strings")
    (description
     "This crate provides helpful macros for working with enums and strings.")
    (license license:expat)))

(define-public rust-strum-macros-0.25
  (package
    (inherit rust-strum-macros-0.26)
    (name "rust-strum-macros")
    (version "0.25.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "184y62g474zqb2f7n16x3ghvlyjbh50viw32p9w9l5lwmjlizp13"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-strum" ,rust-strum-0.25))))))

(define-public rust-strum-macros-0.24
  (package
    (inherit rust-strum-macros-0.25)
    (name "rust-strum-macros")
    (version "0.24.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0naxz2y38kwq5wgirmia64vvf6qhwy8j367rw966n62gsbh5nf0y"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.4)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-strum" ,rust-strum-0.24))))))

(define-public rust-strum-macros-0.21
  (package
    (inherit rust-strum-macros-0.24)
    (name "rust-strum-macros")
    (version "0.21.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v55b1in7dn07s6vxr8dajqpvxkxjbfq6qamnjgcbnq9x3pawsnh"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-strum-macros-0.20
  (package
    (inherit rust-strum-macros-0.21)
    (name "rust-strum-macros")
    (version "0.20.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j9ikvxlqzr667ghc045qkpwprjgcfmzgagln7maw4jigawcd2zf"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-strum-macros-0.19
  (package
    (inherit rust-strum-macros-0.20)
    (name "rust-strum-macros")
    (version "0.19.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mgqs5x3g0d3bmr8dhalgqrzh29dwc90a06fpy0cnich52zb06z6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-strum" ,rust-strum-0.19))))))

(define-public rust-strum-macros-0.18
  (package
    (inherit rust-strum-macros-0.20)
    (name "rust-strum-macros")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "strum_macros" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k3pwbv0c8q00jnsjshzfc2d5r3y6ppgf9fz7pyknrgaz2immj47"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-subplot-0.12
  (package
    (name "rust-subplot")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "subplot" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "008cibbnfh1g5mnhz01pxw8kqgrw05r2kzfh7d4sr695bg69ifay"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            ;; Requires graphviz, java.
                            "--skip=diagrams::DotMarkup"
                            "--skip=diagrams::PlantumlMarkup")
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-base64" ,rust-base64-0.22)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-descape" ,rust-descape-2)
                       ("rust-getopts" ,rust-getopts-0.2)
                       ("rust-html-escape" ,rust-html-escape-0.2)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-line-col" ,rust-line-col-0.2)
                       ("rust-marked-yaml" ,rust-marked-yaml-0.7)
                       ("rust-pikchr" ,rust-pikchr-0.1)
                       ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.12)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-roadmap" ,rust-roadmap-0.7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-slug" ,rust-slug-0.1)
                       ("rust-tera" ,rust-tera-1)
                       ("rust-thiserror" ,rust-thiserror-2)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://subplot.tech/")
    (synopsis "Tools for automated acceptance tests")
    (description
     "This package provides tools for specifying, documenting, and implementing
automated acceptance tests for systems and software.")
    (license license:expat-0)))

(define-public rust-subplot-build-0.12
  (package
    (name "rust-subplot-build")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "subplot-build" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1grmmy2gmpygxcx09dsrh9mm9pqpf5qvy44k6q062lj26jlk32q0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-subplot" ,rust-subplot-0.12)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://subplot.tech/")
    (synopsis "Library for using Subplot code generation")
    (description
     "This package provides a library for using Subplot code generation from
another project's @code{build.rs} module.")
    (license license:expat-0)))

(define-public rust-subplotlib-0.12
  (package
    (name "rust-subplotlib")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "subplotlib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08k4j32mxymhl2fj91vmj8f6c7lwmxxnym4b09vjzxjf3n68kpvd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-base64" ,rust-base64-0.22)
                       ("rust-culpa" ,rust-culpa-1)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-fs2" ,rust-fs2-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-remove-dir-all" ,rust-remove-dir-all-1)
                       ("rust-shell-words" ,rust-shell-words-1)
                       ("rust-state" ,rust-state-0.6)
                       ("rust-subplotlib-derive" ,rust-subplotlib-derive-0.12)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://subplot.tech/")
    (synopsis "Utility functions and types for @code{subplot codegen}")
    (description
     "Utility functions and types for @code{subplot codegen} generated Rust
based test suites.  Relies on @code{subplotlib-derive} for associated macros.")
    (license license:expat-0)))

(define-public rust-subplotlib-derive-0.12
  (package
    (name "rust-subplotlib-derive")
    (version "0.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "subplotlib-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yrfjxh8z7dbsh01p4lrq73nci1qql2z9lphlnr2xmydip09nz7k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-culpa" ,rust-culpa-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-subplot" ,rust-subplot-0.12)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://subplot.tech/")
    (synopsis "Macros for constructing subplotlib based test suites")
    (description
     "This package provides macros for constructing subplotlib based test
suites, typically generated by @code{subplot codegen}.")
    (license license:expat-0)))

(define-public rust-subprocess-0.2
  (package
    (name "rust-subprocess")
    (version "0.2.9")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "subprocess" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11k0dzvgg8g4id4gas1aavblj43687kcbn26qlvadpc1c298cbhc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests hang forever
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/hniksic/rust-subprocess")
    (synopsis "Execution of child processes and pipelines")
    (description
     "This package provides execution of child processes and pipelines,
inspired by Python's subprocess module, with Rust-specific extensions.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-superluminal-perf-0.1
  (package
    (name "rust-superluminal-perf")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "superluminal-perf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q0ykfn04i2qg5zfizp75y4dn2klpvhb6xfwlygq8jiabpgqvvc0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
      (("rust-superluminal-perf-sys" ,rust-superluminal-perf-sys-0.1))))
    (home-page "https://github.com/EmbarkStudios/superluminal-perf-rs")
    (synopsis
     "Superluminal Performance API for adding user events to profiler captures")
    (description
     "Superluminal Performance API for adding user events to profiler captures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-superluminal-perf-sys-0.1
  (package
    (name "rust-superluminal-perf-sys")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "superluminal-perf-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05pz0yybf4y2iw3rvqf2crk04zv7610jjm3glhi8hlv2rhms0hh3"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; TODO: Replace superluminal headers.
                 (delete-file-recursively "external")))))
    (build-system cargo-build-system)
    (home-page "https://github.com/EmbarkStudios/superluminal-perf-rs")
    (synopsis "Superluminal Performance C API bindings")
    (description "Superluminal Performance C API bindings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-supports-color-3
  (package
    (name "rust-supports-color")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "supports-color" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mk7r2j6l7zmqk3pg7av0l6viq413lmk1vz4bjnf9lnq5liwfky6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-is-ci" ,rust-is-ci-1))))
    (home-page "https://github.com/zkat/supports-color")
    (synopsis "Detects whether a terminal supports color")
    (description
     "Detects whether a terminal supports color, and gives details about that
support.")
    (license license:asl2.0)))

(define-public rust-supports-color-2
  (package
    (inherit rust-supports-color-3)
    (name "rust-supports-color")
    (version "2.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "supports-color" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "12csf7chawxinaapm9rh718nha9hggk6ra86fdaw9hxdagg8qffn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-is-ci" ,rust-is-ci-1))))))

(define-public rust-supports-color-1
  (package
    (inherit rust-supports-color-3)
    (name "rust-supports-color")
    (version "1.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "supports-color" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vqdhwc3yf1bv1xbaz5d8p2brmlv1ap4fhwg8pfjzr3yrbrgm9lb"))))
    (arguments
     `(#:tests? #f      ; panicked at 'assertion failed: `(left == right)`
       #:cargo-inputs (("rust-atty" ,rust-atty-0.2)
                       ("rust-is-ci" ,rust-is-ci-1))))))

(define-public rust-supports-hyperlinks-3
  (package
    (name "rust-supports-hyperlinks")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "supports-hyperlinks" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vh4wjflrpa0vadfirzn57glk1wwrdfxkxwgyqzmy7q4d18iw2ic"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/zkat/supports-hyperlinks")
    (synopsis "Detects whether a terminal supports rendering hyperlinks")
    (description "Detects whether a terminal supports rendering hyperlinks.")
    (license license:asl2.0)))

(define-public rust-supports-hyperlinks-2
  (package
    (inherit rust-supports-hyperlinks-3)
    (name "rust-supports-hyperlinks")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "supports-hyperlinks" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g93nh1db3f9lyd0ry35bqjrxkg6sbysn36x9hgd9m5h5rlk2hpq"))))
    (arguments
     `(#:cargo-inputs (("rust-is-terminal" ,rust-is-terminal-0.4))))))

(define-public rust-supports-unicode-3
  (package
    (name "rust-supports-unicode")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "supports-unicode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qpc344453x3ai4k9iygxnbk6lr2nw5jflj8ns5q3dbcmwq1lh5p"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/zkat/supports-unicode")
    (synopsis "Detects whether a terminal supports unicode")
    (description "Detects whether a terminal supports unicode.")
    (license license:asl2.0)))

(define-public rust-supports-unicode-2
  (package
    (inherit rust-supports-unicode-3)
    (name "rust-supports-unicode")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "supports-unicode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yp703pvpzpmaw9mpncvwf0iqis4xmhs569ii1g20jhqvngc2l7q"))))
    (arguments
     `(#:cargo-inputs (("rust-is-terminal" ,rust-is-terminal-0.4))))))

(define-public rust-suppositions-0.1
  (package
    (name "rust-suppositions")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "suppositions" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n03ipkqgpvdmjcz9xp9d6yyf58rq7c5g4ki76k848a18r59m9qm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hex-slice" ,rust-hex-slice-0.1)
                       ("rust-log" ,rust-log-0.3)
                       ("rust-rand" ,rust-rand-0.3))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.4))))
    (home-page "https://github.com/cstorey/suppositions")
    (synopsis "Property testing with automagic shrinking")
    (description
     "This package provides property testing with automagic shrinking.")
    (license license:asl2.0)))

(define-public rust-sval-2
  (package
    (name "rust-sval")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wq8dpcwkxf9i5ivaqgi736kalqdsn88yhsb9fh1dhmpilmg2pdi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; can't find crate for `sval_derive_macros`
       #:cargo-inputs
       (("rust-sval-derive-macros" ,rust-sval-derive-macros-2))
       #:cargo-development-inputs
       (("rust-humantime" ,rust-humantime-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "No-std, object-safe serialization framework")
    (description
     "This package provides a no-std, object-safe serialization framework.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-buffer-2
  (package
    (name "rust-sval-buffer")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_buffer" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yglk3ma67605f28mwip09maf531mm1fak2pdr2a1klapib0bs2p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-sval" ,rust-sval-2)
        ("rust-sval-ref" ,rust-sval-ref-2))
       #:cargo-development-inputs
       (("rust-sval-derive-macros" ,rust-sval-derive-macros-2)
        ("rust-sval-test" ,rust-sval-test-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Value buffering for sval")
    (description "Value buffering for sval.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-derive-2
  (package
    (name "rust-sval-derive")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zba5y4gjiqzlyn6d6nzfh743qw97yjq2ll8130giddqwg5lnccf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-sval-derive-macros" ,rust-sval-derive-macros-2)
        ("rust-sval-flatten" ,rust-sval-flatten-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Custom derive for @code{sval}")
    (description "This package provides custom derive for @code{sval}.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-derive-macros-2
  (package
    (name "rust-sval-derive-macros")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_derive_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11vmfpr028n4z9x0nlaqa1v7p4fij6fz7wxbr3mmizp9v6267nry"))))
    (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/sval-rs/sval")
    (synopsis "Minimal derive support for `sval`")
    (description "Minimal derive support for `sval`.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-dynamic-2
  (package
    (name "rust-sval-dynamic")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_dynamic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1f2p3xvq5qyg0w721as7dxrgqgrfqsc0m7qp2r1pn7fvkqjx54wx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-sval" ,rust-sval-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Object-safe versions of sval::Stream and sval::Value")
    (description "Object-safe versions of sval::Stream and sval::Value.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-flatten-2
  (package
    (name "rust-sval-flatten")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_flatten" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "121ac1pn2b113rgkf98n65kpwn2j80rikjzdwn5yaknxp9yqqcr3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; can't find crate for `sval_derive_macros`
       #:cargo-inputs
       (("rust-itoa" ,rust-itoa-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-sval" ,rust-sval-2)
        ("rust-sval-buffer" ,rust-sval-buffer-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Value flattening for sval")
    (description "Value flattening for sval.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-fmt-2
  (package
    (name "rust-sval-fmt")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_fmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hqkjb7blcdqjlawnffmw0bq5gxf98i52lbgcnjabxr64a47ybsk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-itoa" ,rust-itoa-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-sval" ,rust-sval-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Integration between std::fmt::Debug and sval::Value")
    (description "Integration between std::fmt::Debug and sval::Value.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-json-2
  (package
    (name "rust-sval-json")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wp0yyaldqr6kgqsblav86j8fxjp2jbmrsbsiw0yxrhambc3pq3n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-itoa" ,rust-itoa-1)
        ("rust-ryu" ,rust-ryu-1)
        ("rust-sval" ,rust-sval-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "JSON support for sval")
    (description "JSON support for sval.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-ref-2
  (package
    (name "rust-sval-ref")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_ref" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qd9w4iqp8z7v0mf7icz1409g48jnibyrh9nbnms1hmq5x7hbvbm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-sval" ,rust-sval-2))
       #:cargo-development-inputs (("rust-sval-test" ,rust-sval-test-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Variant of sval::Value for types with internal references")
    (description
     "This package provides a variant of sval::Value for types with internal
references")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-serde-2
  (package
    (name "rust-sval-serde")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11h543cmg0qmprc7jn94crfxwv344wa04qf18hw7xdh5zz293wbz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-sval" ,rust-sval-2)
        ("rust-sval-buffer" ,rust-sval-buffer-2)
        ("rust-sval-fmt" ,rust-sval-fmt-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Integration between serde::Serialize and sval::Value")
    (description "Integration between serde::Serialize and sval::Value.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-sval-test-2
  (package
    (name "rust-sval-test")
    (version "2.10.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sval_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bgbcdl7vniil0xiyvxscmzcwymhz2w2iywqgxjmc5c0krzg0hd4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-sval" ,rust-sval-2)
        ("rust-sval-fmt" ,rust-sval-fmt-2))
       #:cargo-development-inputs
       (("rust-sval-dynamic" ,rust-sval-dynamic-2))))
    (home-page "https://github.com/sval-rs/sval")
    (synopsis "Utilities for testing sval::Value implementations")
    (description "Utilities for testing sval::Value implementations.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-svd-parser-0.14
  (package
    (name "rust-svd-parser")
    (version "0.14.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "svd-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0azfqnzbsvwkf2jm685ynv8r3fwi6q20mqai00c3mvlhlaw87fir"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-roxmltree" ,rust-roxmltree-0.20)
                       ("rust-svd-rs" ,rust-svd-rs-0.14)
                       ("rust-thiserror" ,rust-thiserror-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-serde-yaml" ,rust-serde-yaml-0.8)
                                   ("rust-svd-rs" ,rust-svd-rs-0.14))))
    (home-page "https://github.com/rust-embedded/svd")
    (synopsis "CMSIS-SVD file parser")
    (description "This package provides a CMSIS-SVD file parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-svd-rs-0.14
  (package
    (name "rust-svd-rs")
    (version "0.14.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "svd-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fwkw26rc9p9bqcf09lwrx6d97rl1yq427g8hwbdh0sd7h7sjj9y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/rust-embedded/svd")
    (synopsis "CMSIS-SVD base structures")
    (description "This package provides a CMSIS-SVD base structures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-svgtypes-0.5
  (package
    (name "rust-svgtypes")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "svgtypes" version))
        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32 "1zv0yb4nfyz78y8k7fmyjqgdh9vf7xc44c9pzry8640szym6ylww"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-float-cmp" ,rust-float-cmp-0.5)
        ("rust-siphasher" ,rust-siphasher-0.2))))
    (home-page "https://github.com/RazrFalcon/svgtypes")
    (synopsis "SVG types parser")
    (description "This package provides SVG types parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-swaybar-types-3
  (package
    (name "rust-swaybar-types")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "swaybar-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hz1ialgs4l0ki5s9gqhsdlfy0v3fph7mkw2z1rdi29bjlsv9h52"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/jaycefayne/swaybar-types")
    (synopsis "Library for building swaybar status commands in rust")
    (description
     "This package provides a library for building swaybar status commands in rust.")
    (license license:expat)))

(define-public rust-swayipc-3
  (package
    (name "rust-swayipc")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "swayipc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a9z67qp1kzmwnpnr973x72f2gif5q3rgqlma0i2wdqzi2gx39fs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; `Err` value: SocketNotFound
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-swayipc-types" ,rust-swayipc-types-1))))
    (home-page "https://github.com/jaycefayne/swayipc-rs")
    (synopsis "Library for controlling sway through its IPC interface")
    (description
     "This package provides a library for controlling sway through its IPC
interface.")
    (license license:expat)))

(define-public rust-swayipc-2
  (package
    (inherit rust-swayipc-3)
    (name "rust-swayipc")
    (version "2.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "swayipc" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03r15c2sijyrxmpsyjgma4gz7zmdl1g8akjnjkw6hrml91d5dilj"))))
    (arguments
     `(#:tests? #f                      ; test sync::tests::connect ... FAILED
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-swayipc-command-builder" ,rust-swayipc-command-builder-0.1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-swayipc-async-2
  (package
    (name "rust-swayipc-async")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "swayipc-async" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yyv7jwsr2z5azjal5hj8hgxb06dqrnxsaxrnjfjnp1pmwvjch48"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Tests expect a running graphics stack.
       #:cargo-inputs (("rust-async-io" ,rust-async-io-2)
                       ("rust-async-pidfd" ,rust-async-pidfd-0.1)
                       ("rust-futures-lite" ,rust-futures-lite-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-swayipc-types" ,rust-swayipc-types-1))))
    (home-page "https://github.com/jaycefayne/swayipc-rs")
    (synopsis "Library to control sway through IPC interface")
    (description
     "This package provides a library for controlling sway through its
IPC interface.")
    (license license:expat)))

(define-public rust-swayipc-command-builder-0.1
  (package
    (name "rust-swayipc-command-builder")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "swayipc-command-builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w7sjl05c7rpgskk11i5969mv8pdbh0qrkp8djvy46hk9df9qig7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/jaycefayne/swayipc-command-builder")
    (synopsis "Library for building commands that can be executed by swayipc")
    (description
     "This package provides a library for building commands that can be
executed by swayipc.")
    (license license:expat)))

(define-public rust-swayipc-types-1
  (package
    (name "rust-swayipc-types")
    (version "1.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "swayipc-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fwzdifnaj9ayz6fq96vcxpzr4dqhq1zgbqk3xbgsdlg89b2ddmi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/jaycefayne/swayipc-rs")
    (synopsis "Type definitions from sway's IPC interface")
    (description
     "This package provides a library containing type definitions from
sway's IPC interface.")
    (license license:expat)))

(define-public rust-sxd-document-0.3
  (package
    (name "rust-sxd-document")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sxd-document" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0y10shqmy9xb73g403rg1108wsagny9d8jrcm081pbwzpqvjzn4l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-peresil" ,rust-peresil-0.3)
        ("rust-typed-arena" ,rust-typed-arena-1))))
    (home-page "https://github.com/shepmaster/sxd-document")
    (synopsis "Rust XML DOM library")
    (description "This package provides a Rust XML DOM library.")
    (license license:expat)))

(define-public rust-sxd-xpath-0.4
  (package
    (name "rust-sxd-xpath")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sxd-xpath" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sin3g8lzans065gjcwrpm7gdpwdpdg4rpi91rlvb1q8sfjrvqrn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-peresil" ,rust-peresil-0.3)
        ("rust-quick-error" ,rust-quick-error-1)
        ("rust-sxd-document" ,rust-sxd-document-0.3))))
    (home-page "https://github.com/shepmaster/sxd-xpath")
    (synopsis "Rust XML XPath library")
    (description "This package provides a Rust XML XPath library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-symbolic-common-12
  (package
    (name "rust-symbolic-common")
    (version "12.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "symbolic-common" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zhda5h4qykrb38x9yb6s846hpq59mzhglkclb9v4fxvqvxzzk0w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `symbolic_testutils`
       #:cargo-inputs (("rust-debugid" ,rust-debugid-0.8)
                       ("rust-memmap2" ,rust-memmap2-0.9)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-similar-asserts" ,rust-similar-asserts-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/getsentry/symbolic")
    (synopsis "Common types and utilities for the symbolic library")
    (description
     "Common types and utilities for symbolic: a library to symbolicate
and process stack traces from native applications, minidumps or minified
@code{JavaScript}.")
    (license license:expat)))

(define-public rust-symbolic-common-9
  (package
    (inherit rust-symbolic-common-12)
    (name "rust-symbolic-common")
    (version "9.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "symbolic-common" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cl2jfm3fd4cqvmc364s1622gg0zp2966z2g9apa428b6fx662c0"))))
    (arguments
     `(#:tests? #f      ; unresolved import `symbolic_testutils`
       #:cargo-inputs (("rust-debugid" ,rust-debugid-0.8)
                       ("rust-memmap2" ,rust-memmap2-0.5)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-similar-asserts" ,rust-similar-asserts-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-symbolic-demangle-12
  (package
    (name "rust-symbolic-demangle")
    (version "12.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "symbolic-demangle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s0s4af53p9h1xwgz5842wa4qdl7ikq43sy4frzac820v899iabn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-cpp-demangle" ,rust-cpp-demangle-0.4)
                       ("rust-msvc-demangler" ,rust-msvc-demangler-0.9)
                       ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
                       ("rust-symbolic-common" ,rust-symbolic-common-12))
       #:cargo-development-inputs
       (("rust-similar-asserts" ,rust-similar-asserts-1))))
    (home-page "https://github.com/getsentry/symbolic")
    (synopsis "Library to demangle symbols from various compilers")
    (description
     "This package provides a library to demangle symbols from various
languages and compilers.")
    (license license:expat)))

(define-public rust-symbolic-demangle-9
  (package
    (inherit rust-symbolic-demangle-12)
    (name "rust-symbolic-demangle")
    (version "9.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "symbolic-demangle" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l0s1lwsrfb8sq1wz4yh8szdncnkdkz4ww9qkqvb6ay7vcghm51b"))))
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-cpp-demangle" ,rust-cpp-demangle-0.3)
                       ("rust-msvc-demangler" ,rust-msvc-demangler-0.9)
                       ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
                       ("rust-symbolic-common" ,rust-symbolic-common-9))
       #:cargo-development-inputs
       (("rust-similar-asserts" ,rust-similar-asserts-1))))))

;; WARNING: This package is a dependency of mesa.
(define-public rust-syn-2
  (package
    (name "rust-syn")
    (version "2.0.90")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "syn" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
                (base32 "0cfg5dsr1x0hl6b9hz08jp1197mx0rq3xydqmqaws36xlms3p7ci"))))
    (build-system cargo-build-system)
    (arguments
     ;; Tests fail to compile
     ;; error[E0463]: can't find crate for `rustc_ast` (among other errors).
     `(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         ;; The syn-test-suite crate is empty.
         (add-after 'unpack 'patch-test-suite
           (lambda _
             (substitute* "Cargo.toml"
               (("^\\[dev-dependencies.syn-test-suite\\]") "")
               (("^version = \"0\"") "")
               (("^test = \\[\"syn-test-suite/all-features\"\\]") "")))))
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-automod" ,rust-automod-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-insta" ,rust-insta-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-ref-cast" ,rust-ref-cast-1)
        ("rust-reqwest" ,rust-reqwest-0.12)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-syn-test-suite" ,rust-syn-test-suite-0.0.0)
        ("rust-tar" ,rust-tar-0.4)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-walkdir" ,rust-walkdir-2))))
    (inputs (list openssl))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/dtolnay/syn")
    (synopsis "Parser for Rust source code")
    (description
     "Syn is a parsing library for parsing a stream of Rust tokens into
a syntax tree of Rust source code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-syn-1
  (package
    (name "rust-syn")
    (version "1.0.109")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0ds2if4600bd59wsv7jjgfkayfzy3hnazs394kz6zdkmna8l3dkj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         ;; The syn-test-suite crate is empty.
         (add-after 'unpack 'patch-test-suite
           (lambda _
             (substitute* "Cargo.toml"
               (("^\\[dev-dependencies.syn-test-suite\\]") "")
               (("^version = \"0\"") "")
               (("^test = \\[\"syn-test-suite/all-features\"\\]") "")))))
       ;; Tests fail to compile
       ;; error[E0432]: unresolved imports `syn::Item`, `syn::Pat`
       #:tests? #false
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-unicode-ident" ,rust-unicode-ident-1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-automod" ,rust-automod-1)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-insta" ,rust-insta-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-ref-cast" ,rust-ref-cast-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-tar" ,rust-tar-0.4)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-walkdir" ,rust-walkdir-2))))
    (inputs (list openssl))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/dtolnay/syn")
    (synopsis "Parser for Rust source code")
    (description
     "Syn is a parsing library for parsing a stream of Rust tokens into
a syntax tree of Rust source code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-syn-0.15
  (package
    (inherit rust-syn-1)
    (name "rust-syn")
    (version "0.15.44")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syn" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--all-features")
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-unicode-xid" ,rust-unicode-xid-0.1))
       #:cargo-development-inputs
       (("rust-insta" ,rust-insta-0.8)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-ref-cast" ,rust-ref-cast-0.2)
        ("rust-regex" ,rust-regex-1)
        ("rust-termcolor" ,rust-termcolor-1)
        ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-syn-0.14
  (package
    (inherit rust-syn-0.15)
    (name "rust-syn")
    (version "0.14.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syn" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hgpgi8lcvkfd5jnma5fxq41ycb9kna635b4c2wl4z1rmbnfj6i6"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6)
        ("rust-unicode-xid" ,rust-unicode-xid-0.1))
       #:cargo-development-inputs
       (("rust-rayon" ,rust-rayon-1)
        ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-syn-0.11
  (package
    (inherit rust-syn-0.15)
    (name "rust-syn")
    (version "0.11.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syn" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1b8x8jdsmj6r9ck7n1pg371526n1q90kx6rv6ivcb22w06wr3f6k"))))
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'build 'fixup-cargo-toml
           (lambda _
             (substitute* "Cargo.toml"
               ((", path =.*,") ",")))))
       #:tests? #f      ; Tests don't compile correctly.
       #:cargo-inputs
       (("rust-quote" ,rust-quote-0.3)
        ("rust-synom" ,rust-synom-0.11)
        ("rust-unicode-xid" ,rust-unicode-xid-0.0.4))
       #:cargo-development-inputs
       (("rust-syntex-pos" ,rust-syntex-pos-0.58)
        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)
        ("rust-tempdir" ,rust-tempdir-0.3)
        ("rust-walkdir" ,rust-walkdir-1))))))

(define-public rust-syn-derive-0.1
  (package
    (name "rust-syn-derive")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syn_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yxydi22apcisjg0hff6dfm5x8hd6cqicav56sblx67z0af1ha8k"))))
    (build-system cargo-build-system)
    (arguments
     `(#: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-2))))
    (home-page "https://github.com/Kyuuhachi/syn_derive")
    (synopsis "Derive macros for `syn::Parse` and `quote::ToTokens`")
    (description "Derive macros for `syn::Parse` and `quote::@code{ToTokens`}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-syn-test-suite-0.0.0
  (package
    (name "rust-syn-test-suite")
    (version "0.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "syn-test-suite" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "15yz9q7rgxaplv0zbnanzyv1la4gmg47yq5wlkcwv3cck4qlncdm"))))
    (build-system cargo-build-system)
    (arguments (list #:skip-build? #t))
    (home-page "https://github.com/dtolnay/syn")
    (synopsis "Test suite of the syn crate")
    (description "Test suite of the syn crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sync-wrapper-1
  (package
    (name "rust-sync-wrapper")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sync_wrapper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qvjyasd6w18mjg5xlaq5jgy84jsjfsvmnn12c13gypxbv75dwhb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))))
    (home-page "https://docs.rs/sync_wrapper")
    (synopsis
     "Tool for enlisting the compiler's help in proving the absence of concurrency")
    (description
     "This package provides a tool for enlisting the compiler's help in proving
the absence of concurrency.")
    (license license:asl2.0)))

(define-public rust-sync-wrapper-0.1
  (package
    (inherit rust-sync-wrapper-1)
    (name "rust-sync-wrapper")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sync_wrapper" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0q01lyj0gr9a93n10nxsn8lwbzq97jqd6b768x17c8f7v7gccir0"))))
    (arguments
     `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))))))

(define-public rust-synchronoise-1
  (package
    (name "rust-synchronoise")
    (version "1.0.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "synchronoise" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wnylkdf84520ks7a70fnwds2wibxmnkgqzz3j6ww9n61wwh3g1x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3))))
    (home-page "https://github.com/QuietMisdreavus/synchronoise")
    (synopsis "Synchronization primitives")
    (description
     "This package provides synchronization primitives that build upon the
standard library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-synom-0.11
  (package
    (name "rust-synom")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "synom" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1dj536sh5xxhan2h0znxhv0sl6sb7lvzmsmrc3nvl3h1v5p0d4x3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; doc tests fail
       #:phases
       (modify-phases %standard-phases
         (add-before 'build 'fixup-cargo-toml
           (lambda _
             (substitute* "Cargo.toml"
               (("^path =.*") ""))
             #t)))
       #:cargo-inputs
       (("rust-unicode-xid" ,rust-unicode-xid-0.0.4))
       #:cargo-development-inputs
       (("rust-syn" ,rust-syn-0.11))))
    (home-page "https://github.com/dtolnay/syn")
    (synopsis "Stripped-down Nom parser used by Syn")
    (description
     "Stripped-down Nom parser used by Syn.")
    (license (list license:expat license:asl2.0))))

(define-public rust-synstructure-0.13
  (package
    (name "rust-synstructure")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "synstructure" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wc9f002ia2zqcbj0q2id5x6n7g1zjqba7qkg2mr0qvvmdk7dby8"))))
    (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-synstructure-test-traits" ,rust-synstructure-test-traits-0.1))))
    (home-page "https://github.com/mystor/synstructure")
    (synopsis "Helper methods and macros for custom derives")
    (description
     "This package provides helper methods and macros for custom derives.")
    (license license:expat)))

(define-public rust-synstructure-0.12
  (package
    (inherit rust-synstructure-0.13)
    (name "rust-synstructure")
    (version "0.12.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "synstructure" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03r1lydbf3japnlpc4wka7y90pmz1i0danaj3f9a7b431akdlszk"))
       (modules '((guix build utils)))
       (snippet #~(substitute* "src/lib.rs"
                    (("non_upper_case_globals )")
                     "non_upper_case_globals)")))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unicode-xid" ,rust-unicode-xid-0.2)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-quote" ,rust-quote-1))
       #:cargo-development-inputs
       (("rust-synstructure-test-traits"
         ,rust-synstructure-test-traits-0.1))))))

(define-public rust-synstructure-test-traits-0.1
  (package
    (name "rust-synstructure-test-traits")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "synstructure_test_traits" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
    (build-system cargo-build-system)
    (home-page "https://crates.io/crates/synstructure_test_traits")
    (synopsis "Helper test traits for synstructure doctests")
    (description
     "This package provides helper test traits for synstructure doctests.")
    (license license:expat)))

(define-public rust-syntect-5
  (package
    (name "rust-syntect")
    (version "5.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syntect" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ca68wxr8qs99ivqc266492sz8qwfngswizr7hrh8mlrcfiwykc7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;missing files
       #:cargo-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-fancy-regex" ,rust-fancy-regex-0.11)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-onig" ,rust-onig-6)
        ("rust-plist" ,rust-plist-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-yaml-rust" ,rust-yaml-rust-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-expect-test" ,rust-expect-test-1)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-public-api" ,rust-public-api-0.33)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-rustdoc-json" ,rust-rustdoc-json-0.8)
        ("rust-rustup-toolchain" ,rust-rustup-toolchain-0.1))))
    (home-page "https://github.com/trishume/syntect")
    (synopsis "Library for syntax highlighting and code intelligence")
    (description
     "This package provides a library for syntax highlighting and code
intelligence using Sublime Text's grammars.")
    (license license:expat)))

(define-public rust-syntect-4
  (package
    (inherit rust-syntect-5)
    (name "rust-syntect")
    (version "4.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syntect" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cd0rbi5r83p9pqph0gyj3vgr18ihh54amv9dvh0pvl0prdq284b"))))
    (arguments
     `(#:tests? #f                      ;missing files
       #:cargo-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-fancy-regex" ,rust-fancy-regex-0.7)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-lazycell" ,rust-lazycell-1)
        ("rust-onig" ,rust-onig-6)
        ("rust-plist" ,rust-plist-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-walkdir" ,rust-walkdir-2)
        ("rust-yaml-rust" ,rust-yaml-rust-0.4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-regex" ,rust-regex-1))))))

(define-public rust-syntex-errors-0.58
  (package
    (name "rust-syntex-errors")
    (version "0.58.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syntex_errors" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "176vma7sjv6li17q7dsilryac66b76zyis9ampmff2hlsz1caz46"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
        ("rust-term" ,rust-term-0.4)
        ("rust-unicode-xid" ,rust-unicode-xid-0.0.4))))
    (home-page "https://github.com/serde-rs/syntex")
    (synopsis "Backport of librustc_errors")
    (description "This package provides a backport of @code{librustc_errors}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-syntex-pos-0.58
  (package
    (name "rust-syntex-pos")
    (version "0.58.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syntex_pos" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0iqhircpr723da1g97xrrj8smqqz3gxw91cf03sckasjzri4gb8k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
    (home-page "https://github.com/serde-rs/syntex")
    (synopsis "Backport of libsyntax_pos")
    (description "This package provides a backport of @code{libsyntax_pos}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-syntex-syntax-0.58
  (package
    (name "rust-syntex-syntax")
    (version "0.58.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syntex_syntax" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "14f74l7yzwl6fr9i23k4j23k66qn0gakvhk4jjc9ipb3w6x4s3kf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-0.8)
        ("rust-log" ,rust-log-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
        ("rust-unicode-xid" ,rust-unicode-xid-0.0.4))))
    (home-page "https://github.com/serde-rs/syntex")
    (synopsis "Backport of libsyntax")
    (description "This package provides a backport of libsyntax.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sys-info-0.9
  (package
    (name "rust-sys-info")
    (version "0.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sys-info" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b759814ng0cj5a1iiqqjgrzfg9vqlpkbp6z3l76mycbp850sfhb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=test::test_linux_os_release")
       #:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/FillZpp/sys-info-rs")
    (synopsis "Get system information in Rust")
    (description
     "This Rust crate gathers system information.")
    (license license:expat)))

(define-public rust-sys-locale-0.3
  (package
    (name "rust-sys-locale")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sys-locale" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c29m5z9bbg4ix5vy25jma83xlakvmkhs9rxy1qwsv6dkqiwy0g8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/1Password/sys-locale")
    (synopsis "Lightweight library to obtain the active system locale")
    (description
     "Sys-locale is small library for obtaining the current locale set for the
system or application with the relevant platform APIs.  The library is also
no_std compatible by default, only relying on alloc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-syscallz-0.17
  (package
    (name "rust-syscallz")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syscallz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19zc9rdjxhddbmnkdhk2aixh8csqv4rhbll78smvy471qdvxhpx0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-seccomp-sys" ,rust-seccomp-sys-0.1)
                       ("rust-strum" ,rust-strum-0.25)
                       ("rust-strum-macros" ,rust-strum-macros-0.25))
       #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2))))
    (inputs (list libseccomp))
    (home-page "https://github.com/kpcyrd/syscallz-rs")
    (synopsis "Simple seccomp library for rust")
    (description "Simple seccomp library for rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-sysctl-0.6
  (package
    (name "rust-sysctl")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysctl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z0x1lim5929fs60wjxnvd31z59d120p1v16d0mwcdxjxcnql681"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=ctl_value::tests_linux::ctl_value_string"
         "--skip=sys::ctl_iter::tests::ctl_iter_below_compare_outputs")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/johalun/sysctl-rs")
    (synopsis "Simplified interface to libc::sysctl")
    (description "This crate provides a safe interface for reading and writing
information to the kernel using the sysctl interface.")
    (license license:expat)))

(define-public rust-sysctl-0.5
  (package
    (inherit rust-sysctl-0.6)
    (name "rust-sysctl")
    (version "0.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysctl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sly34bm4w2vcfqgn7f6255pxwa2wa4vkzdrz2x0drgyy32xszgc"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=ctl_value::tests_linux::ctl_value_string"
         "--skip=sys::ctl_iter::tests::ctl_iter_below_compare_outputs")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-sysctl-0.4
  (package
    (inherit rust-sysctl-0.5)
    (name "rust-sysctl")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysctl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a6g8cb8c7wk0rsz6ixydbmaxhs0i8d3hmywd1qi1bfh08zlhpi2"))))
    (arguments
     `(#:cargo-test-flags `("--"
                            "--skip=ctl_value::tests_linux::ctl_value_string"
                            "--skip=sys::ctl_iter::tests::ctl_iter_below_compare_outputs")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2))))))

(define-public rust-sysctl-0.1
  (package
    (inherit rust-sysctl-0.4)
    (name "rust-sysctl")
    (version "0.1.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "sysctl" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "10wxlk4nkzlxp4fg435jmdmfwl4hy0y4w2rcsgs634lvbp8pgksb"))))
    (arguments
     `(#:skip-build? #t ; Unsupported on Linux.
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-errno" ,rust-errno-0.2)
        ("rust-libc" ,rust-libc-0.2))))))

(define-public rust-sysinfo-0.32
  (package
    (name "rust-sysinfo")
    (version "0.32.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bzlj3afjz4ibdsfchjk1f4md6djffw668f3npiykwph38jcscsc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=common::network::tests::check_ip_networks"
         "--skip=common::system::test::check_system_info"
         "--skip=test::check_uid_gid"
         "--skip=test_components"
         "--skip=test_networks"
         "--skip=test_process_disk_usage"
         "--skip=test_wait_non_child")
       #:cargo-inputs (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-ntapi" ,rust-ntapi-0.4)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-windows" ,rust-windows-0.57))
       #:cargo-development-inputs (("rust-bstr" ,rust-bstr-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/GuillaumeGomez/sysinfo")
    (synopsis "System handler to interact with processes")
    (description
     "This package is a library to get system information such as processes,
processors, disks, components and networks.")
    (license license:expat)))

(define-public rust-sysinfo-0.31
  (package
    (inherit rust-sysinfo-0.32)
    (name "rust-sysinfo")
    (version "0.31.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gm1d4pxwnx4gmh6kwawchv8v8djb7y0a3qvbsq09cwrhx7vwp9m"))))
    (arguments
     `(#:cargo-test-flags (list "--release" "--"
                           ;; These files aren't available in the build environment.
                           "--skip=test::check_system_info"
                           "--skip=test::check_uid_gid"
                           "--skip=test_networks"
                           "--skip=test_wait_non_child"
                           "--skip=test_process_disk_usage"
                           ;; I don't know why these fail
                           "--skip=common::network::tests::check_ip_networks"
                           "--skip=test_components"
                           "--skip=test_refresh_tasks"
                           "--skip=test_refresh_memory")
       #:cargo-inputs (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-ntapi" ,rust-ntapi-0.4)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-windows" ,rust-windows-0.57))
       #:cargo-development-inputs (("rust-bstr" ,rust-bstr-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-sysinfo-0.30
  (package
    (inherit rust-sysinfo-0.31)
    (name "rust-sysinfo")
    (version "0.30.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1csbkx1hdlacgzw5ynjyfvgc1xg58w3h1rgh5gm2pysmxvd4snqa"))))
    (arguments
     `(#:cargo-test-flags
       (list "--"
             ;; These files aren't available in the build environment.
             "--skip=test::check_system_info"
             "--skip=test::check_uid_gid"
             "--skip=test_components"
             "--skip=test_networks"
             "--skip=test_wait_non_child"
             "--skip=test_process_disk_usage")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-ntapi" ,rust-ntapi-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-windows" ,rust-windows-0.52))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-sysinfo-0.29
  (package
    (inherit rust-sysinfo-0.30)
    (name "rust-sysinfo")
    (version "0.29.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rp6911qqjppvvbh72j27znscrawfvplqlyrj9n0y1n24g27ywnd"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; These files aren't available in the build environment.
             "--skip=test::check_system_info"
             "--skip=test::check_uid_gid"
             "--skip=test_networks"
             "--skip=test_wait_non_child"
             "--skip=test_process_disk_usage")
       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-ntapi" ,rust-ntapi-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-sysinfo-0.28
  (package
    (inherit rust-sysinfo-0.30)
    (name "rust-sysinfo")
    (version "0.28.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "sysinfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06zk8awy8gjrk3w68wpkqyprm3j82vq1cibji6db5zlkcv5g7hml"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; These tests rely on networking, on UIDs and GIDs not
             ;; in the build environment, or on unavailable files.
             "--skip=test::check_all_process_uids_resolvable"
             "--skip=test::check_system_info"
             "--skip=test::check_uid_gid"
             "--skip=test_networks"
             "--skip=test_wait_non_child"
             "--skip=test_process_disk_usage")
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-ntapi" ,rust-ntapi-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1)
        ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-sysinfo-0.27
  (package
    (inherit rust-sysinfo-0.28)
    (name "rust-sysinfo")
    (version "0.27.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "sysinfo" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cqy39g76298pqfr8jv30j6cxl9bpnd7c2smfxl5s2na1w2yj0m9"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             ;; These files aren't available in the build environment.
             "--skip=test::check_system_info"
             "--skip=test::check_uid_gid"
             "--skip=test_networks"
             "--skip=test_wait_non_child"
             "--skip=test_process_disk_usage")
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-ntapi" ,rust-ntapi-0.4)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-syslog-7
  (package
    (name "rust-syslog")
    (version "7.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syslog" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "044z9mq055a9k6k8i8d725ixww2pqybz6pa5a78bfy9kl401b7q1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-hostname" ,rust-hostname-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-time" ,rust-time-0.3))))
    (home-page "https://github.com/Geal/rust-syslog")
    (synopsis "Syslog message formatter and writer")
    (description
     "This package provides Syslog message formatter and writer, supporting
UNIX sockets, UDP and TCP exporters.")
    (license license:expat)))

(define-public rust-syslog-6
  (package
    (inherit rust-syslog-7)
    (name "rust-syslog")
    (version "6.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "syslog" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lvs8ld2ps38yll29fryqwr45axm55vf46b5zvx24lbrbddykiyz"))))
    (arguments
     `(#:cargo-inputs (("rust-error-chain" ,rust-error-chain-0.12)
                       ("rust-hostname" ,rust-hostname-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-time" ,rust-time-0.3))))))

(define-public rust-syslog-4
  (package
    (inherit rust-syslog-6)
    (name "rust-syslog")
    (version "4.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "syslog" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "09ykcbvwx8icvf303mqyz76ji8j6fgyyx97zpr23s788ni112r50"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-time" ,rust-time-0.1)
        ("rust-error-chain" ,rust-error-chain-0.11)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4))))))

(define-public rust-syslog-3
  (package
    (inherit rust-syslog-6)
    (name "rust-syslog")
    (version "3.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "syslog" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0hpdnk2zm6xawpz6fv6qbn0ncfm5p0wm5c6gq7yhaz2gvsnb1jdv"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-time" ,rust-time-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.3)
        ("rust-unix-socket" ,rust-unix-socket-0.5))))))

(define-public rust-system-deps-7
  (package
    (name "rust-system-deps")
    (version "7.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "system-deps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01d0fllzpkfybzadyaq1vlx70imzj56dxs4rk9w2f4ikkypkmlk6"))
       (snippet
        #~(begin (delete-file "src/tests/lib/libteststatic.a")))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;source is missing some test files
       #:cargo-inputs
       (("rust-cfg-expr" ,rust-cfg-expr-0.17)
        ("rust-heck" ,rust-heck-0.5)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-toml" ,rust-toml-0.8)
        ("rust-version-compare" ,rust-version-compare-0.2))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-itertools" ,rust-itertools-0.13)
        ("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/gdesmott/system-deps")
    (synopsis "Define system dependencies in @file{Cargo.toml}")
    (description "This crate lets you write system dependencies in
@file{Cargo.toml} metadata, rather than programmatically in @file{build.rs}.
This makes those dependencies declarative, so other tools can read them as
well.")
    (license (list license:expat license:asl2.0))))

(define-public rust-system-deps-6
  (package
    (inherit rust-system-deps-7)
    (name "rust-system-deps")
    (version "6.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "system-deps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0j93ryw031n3h8b0nfpj5xwh3ify636xmv8kxianvlyyipmkbrd3"))
       (snippet
        #~(begin (delete-file "src/tests/lib/libteststatic.a")))))
    (arguments
     `(#:tests? #f                      ;source is missing some test files
       #:cargo-inputs
       (("rust-cfg-expr" ,rust-cfg-expr-0.15)
        ("rust-heck" ,rust-heck-0.5)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-toml" ,rust-toml-0.8)
        ("rust-version-compare" ,rust-version-compare-0.2))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-itertools" ,rust-itertools-0.12)
        ("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-system-deps-3
  (package
    (inherit rust-system-deps-6)
    (name "rust-system-deps")
    (version "3.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "system-deps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19ig3hxgyq9d7qy8cwpl74l75ay2w0y0a4rginqb68h7hygjc328"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;source is missing some test files
       #:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-cfg-expr" ,rust-cfg-expr-0.8)
        ("rust-heck" ,rust-heck-0.3)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-strum" ,rust-strum-0.21)
        ("rust-strum-macros" ,rust-strum-macros-0.21)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-version-compare" ,rust-version-compare-0.0.11))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-system-deps-1
  (package
    (inherit rust-system-deps-3)
    (name "rust-system-deps")
    (version "1.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "system-deps" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16v4ljmj8sj030mdcc1yk615vciqlyxi7csq6lxka6cs4qbwqghg"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("0.0.10") "0.0.11"))
                #t))))
    (arguments
     `(#:tests? #f                      ;source is missing some test files
       #:cargo-inputs
       (("rust-heck" ,rust-heck-0.3)
        ("rust-pkg-config" ,rust-pkg-config-0.3)
        ("rust-strum" ,rust-strum-0.18)
        ("rust-strum-macros" ,rust-strum-macros-0.18)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-version-compare" ,rust-version-compare-0.0.11))
       #:cargo-development-inputs
       (("rust-itertools" ,rust-itertools-0.9))))))

(define-public rust-systemstat-0.2
  (package
    (name "rust-systemstat")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "systemstat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lhbbgywmhfdb2vjaxzl9g3dbbz2nyfyzqr8kacq6b1im4jfqjm2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Missing file
                            "--skip=platform::tests::test_on_ac_power")
       #:cargo-inputs (("rust-bytesize" ,rust-bytesize-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/valpackett/systemstat")
    (synopsis "Get system information/statistics in a cross-platform way")
    (description
     "This package provides a way to get system information/statistics in a
cross-platform way.")
    (license license:unlicense)))

(define-public rust-tabled-0.16
  (package
    (name "rust-tabled")
    (version "0.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tabled" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06ybawqbcf1qk4laxff9cwxa26viwfda4bh14bvyv6qbwqz31jbp"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs (("rust-ansi-str" ,rust-ansi-str-0.8)
                       ("rust-ansitok" ,rust-ansitok-0.2)
                       ("rust-papergrid" ,rust-papergrid-0.12)
                       ("rust-tabled-derive" ,rust-tabled-derive-0.8))
       #:cargo-development-inputs (("rust-owo-colors" ,rust-owo-colors-3)
                                   ("rust-testing-table" ,rust-testing-table-0.1))))
    (home-page "https://github.com/zhiburt/tabled")
    (synopsis
     "Library for pretty printing tables of Rust `struct`s and `enum`s")
    (description "This package provides a library for pretty printing tables of
Rust @code{struct}s and @code{enum}s.")
    (license license:expat)))

(define-public rust-tabled-0.15
  (package
    (inherit rust-tabled-0.16)
    (name "rust-tabled")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tabled" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03h5j83pp5pp0hbf6dh1fvh8pwhzj3qvmaj8d8cra54jic68p6ac"))))
    (arguments
     `(#:tests? #f ; use of undeclared crate or module `testing_table`
       #:cargo-inputs
       (("rust-ansi-str" ,rust-ansi-str-0.8)
        ("rust-ansitok" ,rust-ansitok-0.2)
        ("rust-papergrid" ,rust-papergrid-0.11)
        ("rust-tabled-derive" ,rust-tabled-derive-0.7)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-owo-colors" ,rust-owo-colors-3))))))

(define-public rust-tabled-derive-0.8
  (package
    (name "rust-tabled-derive")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tabled_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sbh8x67frl69j8ns0z3jyp67ywkfivncjp2ak0qd5vhvjzvh3xz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("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))))
    (home-page "https://github.com/zhiburt/tabled")
    (synopsis "Derive macros which are used by the Tabled crate")
    (description
     "This package provides derive macros which is used by Tabled crate.")
    (license license:expat)))

(define-public rust-tabled-derive-0.7
  (package
    (inherit rust-tabled-derive-0.8)
    (name "rust-tabled-derive")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tabled_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05sbyjc8warywzldz1bn8v4cyd2nc5ix5nhw6wx6apby6ycqy4sc"))))
    (arguments
     `(#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
                       ("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))))))

(define-public rust-tabwriter-1
  (package
    (name "rust-tabwriter")
    (version "1.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tabwriter" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
          "1xp5j7v8jsk92zcmiyh4ya9akhrchjvc595vwcvxrxk49wn2h9x3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/BurntSushi/tabwriter")
    (synopsis "Elastic tabstops")
    (description "@code{tabwriter} is a crate that implements
@url{http://nickgravgaard.com/elastictabstops/index.html,elastic tabstops}.  It
provides both a library for wrapping Rust @code{Writer}s and a small program
that exposes the same functionality at the command line.")
    (license (list license:unlicense license:expat))))

(define-public rust-tagptr-0.2
  (package
    (name "rust-tagptr")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tagptr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05r4mwvlsclx1ayj65hpzjv3dn4wpi8j4xm695vydccf9k7r683v"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/oliver-giersch/tagptr")
    (synopsis "Strongly typed atomic and non-atomic tagged pointers")
    (description
     "This package provides strongly typed atomic and non-atomic tagged pointers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-take-mut-0.2
  (package
    (name "rust-take-mut")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "take_mut" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0q2d7w6nd5bl7bay5csq065sjg8fw0jcx6hl1983cpzf25fh0r7p"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Sgeo/take_mut")
    (synopsis "Take a T from a &mut T temporarily")
    (description "This package lets you temporarily take a T from a &mut T.")
    (license license:expat)))

(define-public rust-takeable-option-0.5
  (package
    (name "rust-takeable-option")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "takeable-option" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "182axkm8pq7cynsfn65ar817mmdhayrjmbl371yqp8zyzhr8kbin"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/takeable-option/")
    (synopsis "Small wrapper around option")
    (description
     "This package provides a small wrapper around option.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-takeable-option-0.4
  (package
    (inherit rust-takeable-option-0.5)
    (name "rust-takeable-option")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "takeable-option" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp"))))))

(define-public rust-tame-index-0.13
  (package
    (name "rust-tame-index")
    (version "0.13.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tame-index" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15rgvi2pw852g3bydsv9i0ljlbg24f2zcw3fp778qd760c87nbnj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=krate_name::test::rejects_reserved"
                            "--skip=parses_current_cargo_cache"
                            "--skip=serializes_current_cargo_cache"
                            "--skip=can_take_shared_lock"
                            "--skip=wait_lock_times_out"
                            "--skip=waits_lock")
       #:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-camino" ,rust-camino-1)
                       ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-gix" ,rust-gix-0.64)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-http" ,rust-http-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-reqwest" ,rust-reqwest-0.12)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-smol-str" ,rust-smol-str-0.2)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-toml-span" ,rust-toml-span-0.3)
                       ("rust-twox-hash" ,rust-twox-hash-1))
       #:cargo-development-inputs (("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-tiny-bench" ,rust-tiny-bench-0.3))))
    (home-page "https://github.com/EmbarkStudios/tame-index")
    (synopsis "Provides access to local and remote cargo registry indices")
    (description
     "This package provides access to local and remote cargo registry indices.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-tap-1
  (package
    (name "rust-tap")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sc3gl4nldqpvyhqi3bbd0l9k7fngrcl4zs47n314nqqk4bpx4sm"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/myrrlyn/tap")
    (synopsis "Generic extensions for tapping values in Rust")
    (description
     "This package provides generic extensions for tapping values in Rust.")
    (license license:expat)))

(define-public rust-tardar-0.1
  (package
    (name "rust-tardar")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tardar" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05imkznxr59dqp0s37i7qkrpyjx2zz9lmxy8ijcvka5nhcpr834h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-miette" ,rust-miette-5)
                       ("rust-vec1" ,rust-vec1-1))))
    (home-page "https://github.com/olson-sean-k/tardar")
    (synopsis "Extensions for diagnostic error handling with `miette`")
    (description "This package provides extensione for diagnostic error handling
with `miette`.")
    (license license:expat)))

(define-public rust-target-2
  (package
    (name "rust-target")
    (version "2.0.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "target" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0p5hi5vxcs8w95qmg9hsv985g8kaxjrzjlgsybmf4h13a1qjx1ds"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-executable-path" ,rust-executable-path-1)
        ("rust-pretty-assertions" ,rust-pretty-assertions-0.7))))
    (home-page "https://github.com/casey/target")
    (synopsis "Get information on compilation target")
    (description "Get information on compilation target.")
    (license license:cc0)))

(define-public rust-target-features-0.1
  (package
    (name "rust-target-features")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "target-features" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gb974chm9aj8ifkyibylxkyb5an4bf5y8dxb18pqmck698gmdfg"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/calebzulawski/target-features")
    (synopsis "Rust compiler target feature database")
    (description "This package contains a Rust compiler target feature database.")
    (license (list license:expat license:asl2.0))))

(define-public rust-target-lexicon-0.13
  (package
    (name "rust-target-lexicon")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "target-lexicon" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xrab0br65gd3ws2hgkma0sbf205scpzfdbi1cg3k7cv3jd964nw"))))
    (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/bytecodealliance/target-lexicon")
    (synopsis "Targeting utilities for compilers and related tools")
    (description
     "This package provides targeting utilities for compilers and related
tools.")
    (license license:asl2.0)))

(define-public rust-target-lexicon-0.12
  (package
    (inherit rust-target-lexicon-0.13)
    (name "rust-target-lexicon")
    (version "0.12.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "target-lexicon" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cg3bnx1gdkdr5hac1hzxy64fhw4g7dqkd0n3dxy5lfngpr1mi31"))))
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-target-lexicon-0.11
  (package
    (inherit rust-target-lexicon-0.12)
    (name "rust-target-lexicon")
    (version "0.11.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "target-lexicon" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15gax4765vm2inh45m7cvaf4mgd2mb2mn0i87np0i1d95qhla822"))))
    (arguments '())))

(define-public rust-target-triple-0.1
  (package
    (name "rust-target-triple")
    (version "0.1.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "target-triple" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0y1hq4v4k1706rr3rdmw92as4kchchdxj7qkr2plb025vc6db922"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/target-triple")
    (synopsis "TARGET and HOST triples")
    (description "Access the $TARGET and $HOST rustc target triples that Cargo
supplies to build scripts.")
    (license (list license:expat license:asl2.0))))

(define-public rust-temp-dir-0.1
  (package
    (name "rust-temp-dir")
    (version "0.1.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "temp-dir" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wiwpkkxln7ykj44029bmc86cariqq2mjwllrdjzf4jgygpfc7mw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-safe-lock" ,rust-safe-lock-0.1))))
    (home-page "https://gitlab.com/leonhard-llc/ops")
    (synopsis "Simple temporary directory with cleanup")
    (description
     "This package provides a simple temporary directory with cleanup.")
    (license license:asl2.0)))

(define-public rust-temp-env-0.3
  (package
    (name "rust-temp-env")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "temp-env" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l7hpkd0nhiy4w70j9xbygl1vjr9ipcfxii164n40iwg0ralhdwn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-parking-lot" ,rust-parking-lot-0.12))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/vmx/temp-env")
    (synopsis "Set environment variables temporarily")
    (description
     "This Rust library lets you set environment variables temporarily.")
    (license (list license:expat license:asl2.0))))

(define-public rust-temp-env-0.2
  (package
    (inherit rust-temp-env-0.3)
    (name "rust-temp-env")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "temp-env" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mxbfwcrbzgplf5ixs4n2xsl3pqazna25h2kfjwc9y6xq8v72425"))))
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1))))))

(define-public rust-temp-testdir-0.2
  (package
    (name "rust-temp-testdir")
    (version "0.2.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "temp_testdir" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1z5yv6d9944md5zg6g0sbahv7xjga2k232x40x4l20kq8af1w7wj"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/la10736/temp_testdir")
    (synopsis "Use a temp directory")
    (description
     "This is a little crate to use a temp directory in crate.  You can chose
whether to delete it after use or not for debugging purposes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tempdir-0.3
  (package
    (name "rust-tempdir")
    (version "0.3.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tempdir" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand" ,rust-rand-0.4)
        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5))))
    (home-page "https://github.com/rust-lang-deprecated/tempdir")
    (synopsis "Temporary directory management for Rust")
    (description
     "This package provides a library for managing a temporary directory and
deleting all contents when it's dropped.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-tempfile-3
  (package
    (name "rust-tempfile")
    (version "3.14.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tempfile" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "037f9jm13bmfc6xq9w86dp0nylrddh6ynvl6db4gm1xwzi8y5k18"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-fastrand" ,rust-fastrand-2)
        ("rust-rustix" ,rust-rustix-0.38)
        ("rust-windows-sys" ,rust-windows-sys-0.52))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://stebalien.com/projects/tempfile-rs")
    (synopsis "Library for managing temporary files and directories")
    (description
     "This package provides a library for managing temporary files and
directories.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-temporary-0.6
  (package
    (name "rust-temporary")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "temporary" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1llj529jcbxxc5g76mdyqkysrpy9009n43k028kj1ywv7qqfvmxc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-random" ,rust-random-0.12))))
    (home-page "https://github.com/stainless-steel/temporary")
    (synopsis "Manage temporary files and folders")
    (description
     "The package provides means of managing temporary files and folders.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-temptree-0.2
  (package
    (name "rust-temptree")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "temptree" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0c461j4xrjp1mz89fb3rmv8w36m1dm1nymv9ny60hh0v4pc99nlg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/casey/temptree")
    (synopsis "Temporary trees of files")
    (description "Temporary trees of files.")
    (license license:cc0)))

(define-public rust-tendril-0.4
  (package
    (name "rust-tendril")
    (version "0.4.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tendril" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1c3vip59sqwxn148i714nmkrvjzbk7105vj0h92s6r64bw614jnj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=tendril::test::assert_sizes")
       #:cargo-inputs
       (("rust-encoding" ,rust-encoding-0.2)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-futf" ,rust-futf-0.1)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-utf-8" ,rust-utf-8-0.7))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/servo/tendril")
    (synopsis "Compact buffer/string type for zero-copy parsing")
    (description
     "Compact buffer/string type for zero-copy parsing.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tera-1
  (package
    (name "rust-tera")
    (version "1.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tera" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vnj9imw2h9szkd1izsrhwrc9jvazvdsp84x65wg2rg88ldqb7db"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--"
             ;; Not all files included.
             "--skip=tera::tests::full_reload_with_glob"
             "--skip=tera::tests::full_reload_with_glob_after_extending"
             "--skip=tera::tests::test_can_only_parse_templates"
             "--skip=tera::tests::can_load_from_glob_with_patterns"
             "--skip=tera::tests::can_load_from_glob"
             "--skip=tera::Tera::add_template_file")
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-chrono-tz" ,rust-chrono-tz-0.9)
        ("rust-globwalk" ,rust-globwalk-0.9)
        ("rust-humansize" ,rust-humansize-2)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-pest" ,rust-pest-2)
        ("rust-pest-derive" ,rust-pest-derive-2)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-slug" ,rust-slug-0.1)
        ("rust-unic-segment" ,rust-unic-segment-0.9))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://keats.github.io/tera/")
    (synopsis "Template engine based on Jinja2/Django templates")
    (description
     "Tera is a template engine inspired by Jinja2 and the Django
template language.")
    (license license:expat)))

(define-public rust-term-1
  (package
    (name "rust-term")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h8s95mpfbvhada0pgvdsk59x5nsnnvzi1q94qi83affmw0n1fx3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-home" ,rust-home-0.5)
                       ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://github.com/Stebalien/term")
    (synopsis "Terminal formatting library")
    (description "This package provides a terminal formatting library.")
    (license (list license:expat license:asl2.0))))

(define-public rust-term-0.7
  (package
    (inherit rust-term-1)
    (name "rust-term")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07xzxmg7dbhlirpyfq09v7cfb9gxn0077sqqvszgjvyrjnngi7f5"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-dirs-next" ,rust-dirs-next-2)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-term-0.6
  (package
    (inherit rust-term-0.7)
    (name "rust-term")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ddqxq9hrk8zqq1f8pqhz72vrlfc8vh2xcza2gb623z78lrkm1n0"))))
    (arguments
     `(#:cargo-inputs
       (("rust-dirs" ,rust-dirs-2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-term-0.5
  (package
    (inherit rust-term-0.6)
    (name "rust-term")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-dirs" ,rust-dirs-1)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-term-0.4
  (package
    (inherit rust-term-0.6)
    (name "rust-term")
    (version "0.4.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "term" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs"))))
    (arguments
     `(#:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-winapi" ,rust-winapi-0.2))))))

(define-public rust-term-0.2
  (package
    (inherit rust-term-0.4)
    (name "rust-term")
    (version "0.2.14")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "term" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "109jmzddq1kz6wm2ndgddy7yrlqcw2i36ygxl0fcymc0sda7w1zj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-winapi" ,rust-winapi-0.2))))))

(define-public rust-term-grid-0.1
  (package
    (name "rust-term-grid")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term_grid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kq2sy3b8329jrsrpcvijvyz4gbqjyvyy6c3n0wmmvda9y03w393"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/ogham/rust-term-grid")
    (synopsis "Library for formatting strings into a grid layout")
    (description
     "This package provides Library for formatting strings into a grid layout.")
    (license license:expat)))

(define-public rust-term-size-1
  (package
    (name "rust-term-size")
    (version "1.0.0-beta1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term_size" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13w9cqjhzh3mmx6zami8lxyf42xx53yy866zxhxqcm71k637v8d8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/clap-rs/term_size-rs")
    (synopsis "Determine terminal sizes and dimensions")
    (description
     "Functions for determining terminal sizes and dimensions")
    (license (list license:asl2.0 license:expat))))

(define-public rust-term-size-0.3
  (package
    (inherit rust-term-size-1)
    (name "rust-term-size")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "term_size" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1n885cykajsppx86xl7d0dqkgmgsp8v914lvs12qzvd0dij2jh8y"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-termbg-0.6
  (package
    (name "rust-termbg")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termbg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lavrj3dbs4p8dcd7cxrbzyy5rwg66nwb2g3ahrk3skd6cb6lhh3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossterm" ,rust-crossterm-0.28)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-mockall" ,rust-mockall-0.13)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-simplelog" ,rust-simplelog-0.12)
                       ("rust-thiserror" ,rust-thiserror-2)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-either" ,rust-either-1))))
    (home-page "https://github.com/dalance/termbg")
    (synopsis "Terminal background color detection")
    (description "This package provides terminal background color detection.")
    (license (list license:expat license:asl2.0))))

(define-public rust-termcolor-1
  (package
    (name "rust-termcolor")
    (version "1.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termcolor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jfllflbxxffghlq6gx4csv0bv0qv77943dcx01h9zssy39w66zz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-winapi-util" ,rust-winapi-util-0.1))))
    (home-page "https://github.com/BurntSushi/termcolor")
    (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:unlicense
                   license:expat))))

(define-public rust-termimad-0.25
  (package
    (name "rust-termimad")
    (version "0.25.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termimad" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l27mr4pzg44sh150wapc22hq1yzv7fxlm7gj95phz4j5pz91l61"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph
       #:cargo-inputs (("rust-coolor" ,rust-coolor-0.8)
                       ("rust-crossbeam" ,rust-crossbeam-0.8)
                       ("rust-crossterm" ,rust-crossterm-0.23)
                       ("rust-lazy-regex" ,rust-lazy-regex-3)
                       ("rust-minimad" ,rust-minimad-0.13)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/Canop/termimad")
    (synopsis "Markdown Renderer for the Terminal")
    (description "Markdown Renderer for the Terminal.")
    (license license:expat)))

(define-public rust-termimad-0.20
  (package
    (inherit rust-termimad-0.25)
    (name "rust-termimad")
    (version "0.20.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "termimad" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11qj19k1bry9pf78r515sgamnjia8s3irqyc4vr1qq0ppjs49ayg"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version)
                          (string-append "^" version)))))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph
       #:cargo-inputs
       (("rust-coolor" ,rust-coolor-0.5)
        ("rust-crossbeam" ,rust-crossbeam-0.8)
        ("rust-crossterm" ,rust-crossterm-0.23)
        ("rust-minimad" ,rust-minimad-0.9)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-terminal-colorsaurus-0.4
  (package
    (name "rust-terminal-colorsaurus")
    (version "0.4.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminal-colorsaurus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bm4pxzhj2qnyifnf799angmp78g4i0ncilgbbdfmsfdqlfvp6az"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstyle" ,rust-anstyle-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-mio" ,rust-mio-1)
                       ("rust-rgb" ,rust-rgb-0.8)
                       ("rust-terminal-trx" ,rust-terminal-trx-0.2))))
    (home-page "https://github.com/bash/terminal-colorsaurus")
    (synopsis "Determines the background and foreground color of the terminal")
    (description
     "This package provides code to determine the background and foreground
color of the terminal.")
    (license (list license:expat license:asl2.0))))

(define-public rust-terminal-size-0.4
  (package
    (name "rust-terminal-size")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminal_size" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1sd4nq55h9sjirkx0138zx711ddxq1k1a45lc77ninhzj9zl8ljk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;tests require /dev/stderr
       #:cargo-inputs (("rust-rustix" ,rust-rustix-0.38)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/eminence/terminal-size")
    (synopsis "Gets the size of your Linux or Windows terminal")
    (description
     "This package provides Gets the size of your Linux or Windows terminal.")
    (license (list license:expat license:asl2.0))))

(define-public rust-terminal-size-0.3
  (package
    (name "rust-terminal-size")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminal_size" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xqdzdjq77smg41z67vg3qwrcilf1zf5330gdrgm22lyghmvzgi1"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f          ;tests require /dev/stderr
           #:cargo-inputs `(("rust-rustix" ,rust-rustix-0.38)
                            ("rust-windows-sys" ,rust-windows-sys-0.48))))
    (home-page "https://github.com/eminence/terminal-size")
    (synopsis "Gets the size of your Linux or Windows terminal")
    (description
     "This package gets the size of your Linux or Windows terminal.")
    (license (list license:expat license:asl2.0))))

(define-public rust-terminal-size-0.2
  (package
    (inherit rust-terminal-size-0.3)
    (name "rust-terminal-size")
    (version "0.2.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "terminal_size" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0drj7gb77kay5r1cv53ysq3g9g4f8n0jkhld0kadi3lzkvqzcswf"))))
    (arguments
     (list #:tests? #f          ;tests require /dev/stderr
           #:cargo-inputs
           `(("rust-rustix" ,rust-rustix-0.35)
             ("rust-windows-sys" ,rust-windows-sys-0.48))))))

(define-public rust-terminal-size-0.1
  (package
    (inherit rust-terminal-size-0.2)
    (name "rust-terminal-size")
    (version "0.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminal_size" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33"))))
    (arguments
     (list #:tests? #f          ;tests require /dev/stderr
           #:cargo-inputs
           `(("rust-libc" ,rust-libc-0.2)
             ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-terminal-trx-0.2
  (package
    (name "rust-terminal-trx")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminal-trx" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cvq92v3px99dskhjw6lrznjakvpxsg3kkdmc7z1my7lwwvbi9ap"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/bash/terminal-trx")
    (synopsis "Provides a handle to the terminal of the current process")
    (description
     "This package provides a handle to the terminal of the current process.")
    (license (list license:expat license:asl2.0))))

(define-public rust-terminfo-0.8
  (package
    (name "rust-terminfo")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13s9920jzmnr0jidik8yn6gvkic9n39sl28440mx4x8pd2kd6v36"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=Database"
                            "--skip=expand::expand"
                            "--skip=src/lib.rs")
       #:cargo-inputs (("rust-dirs" ,rust-dirs-4)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-phf-codegen" ,rust-phf-codegen-0.11))))
    (home-page "https://github.com/meh/rust-terminfo")
    (synopsis "Terminal information")
    (description "Terminal capabilities with type-safe getters.")
    (license license:wtfpl2)))

(define-public rust-terminfo-0.7
  (package
    (inherit rust-terminfo-0.8)
    (name "rust-terminfo")
    (version "0.7.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "terminfo" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zkln56bsixjad6rsfy9mm15d9ygm89i63cn3gn685hjwrvik5vn"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-dirs" ,rust-dirs-2)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-nom" ,rust-nom-5)
                       ("rust-phf" ,rust-phf-0.8)
                       ("rust-phf-codegen" ,rust-phf-codegen-0.8))))))

(define-public rust-termini-1
  (package
    (name "rust-termini")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0n8dvbwkp2k673xqwivb01iqg5ir91zgpwhwngpcb2yrgpc43m1a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs (("rust-home" ,rust-home-0.5))))
    (home-page "https://github.com/pascalkuthe/termini")
    (synopsis "Minimal terminfo library")
    (description "This package provides a minimal terminfo library.")
    (license license:expat)))

(define-public rust-termion-4
  (package
    (name "rust-termion")
    (version "4.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19r3r56cfhl2qvlphw1vrwga37la16rdi15q1d7wz8ji1rb9iaky"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ; tests require a terminal
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-libredox" ,rust-libredox-0.1)
                       ("rust-numtoa" ,rust-numtoa-0.2)
                       ("rust-redox-termios" ,rust-redox-termios-0.1)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://gitlab.redox-os.org/redox-os/termion")
    (synopsis "Library for manipulating terminals")
    (description
     "This package provides a bindless library for manipulating terminals.")
    (license license:expat)))

(define-public rust-termion-3
  (package
    (inherit rust-termion-4)
    (name "rust-termion")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termion" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19f7q542ih13j13jp5lr750z5yav7v035pmz46zznkahb9ki6y21"))))
    (arguments
     `(#:tests? #f ; tests require a terminal
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-libredox" ,rust-libredox-0.0.2)
                       ("rust-numtoa" ,rust-numtoa-0.1)
                       ("rust-redox-termios" ,rust-redox-termios-0.1)
                       ("rust-serde" ,rust-serde-1))))))

(define-public rust-termion-2
  (package
    (inherit rust-termion-3)
    (name "rust-termion")
    (version "2.0.3")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "termion" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0zcxsj2mms9hv8gizg2x3358ibjynzwvj5w6asr4683gxxyqqr64"))))
    (arguments
     (list #:tests? #f ;tests require a terminal
           #:cargo-inputs
           `(("rust-libc" ,rust-libc-0.2)
             ("rust-libredox" ,rust-libredox-0.0.2)
             ("rust-numtoa" ,rust-numtoa-0.1)
             ("rust-redox-termios" ,rust-redox-termios-0.1)
             ("rust-serde" ,rust-serde-1))))))

(define-public rust-termion-1
  (package
    (inherit rust-termion-2)
    (name "rust-termion")
    (version "1.5.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "termion" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0zk023f0zkws358ll399cawvwdnd0wg8wad4g61kz766xbi8aw87"))))
    (arguments
     (list #:tests? #f ;tests require a terminal
           #:cargo-inputs
           `(("rust-libc" ,rust-libc-0.2)
             ("rust-numtoa" ,rust-numtoa-0.1)
             ("rust-redox-syscall" ,rust-redox-syscall-0.2)
             ("rust-redox-termios" ,rust-redox-termios-0.1))))))

(define-public rust-termios-0.3
  (package
    (name "rust-termios")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termios" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0sxcs0g00538jqh5xbdqakkzijadr8nj7zmip0c7jz3k83vmn721"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2))))
    (home-page  "https://github.com/dcuddeback/termios-rs")
    (synopsis "Safe bindings for the termios library")
    (description
     "The termios crate provides safe bindings for the Rust programming language
to the terminal I/O interface implemented by Unix operating systems.  The safe
bindings are a small wrapper around the raw C functions, which converts integer
return values to @code{std::io::Result} to indicate success or failure.")
    (license license:expat)))

(define-public rust-termios-0.2
  (package
    (inherit rust-termios-0.3)
    (name "rust-termios")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termios" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fk8nl0rmk43jrh6hjz6c6d83ri7l6fikag6lh0ffz3di9cwznfm"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))))

(define-public rust-termtree-0.5
  (package
    (name "rust-termtree")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termtree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10s610ax6nb70yi7xfmwcb6d3wi9sj5isd0m63gy2pizr2zgwl4g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/rust-cli/termtree")
    (synopsis "Visualize tree-like data on the command-line")
    (description "Visualize tree-like data on the command-line.")
    (license license:expat)))

(define-public rust-termtree-0.4
  (package
    (inherit rust-termtree-0.5)
    (name "rust-termtree")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termtree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xkal5l2r3r9p9j90x35qy4npbdwxz4gskvbijs6msymaangas9k"))))
    (arguments `())))

(define-public rust-termwiz-0.22
  (package
    (name "rust-termwiz")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termwiz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1laiwns3l16ilnpxysrm0i6afymrncsj0h1ix8348pfs44z32xas"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-base64" ,rust-base64-0.21)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-colored" ,rust-colored-2)
                       ("rust-fancy-regex" ,rust-fancy-regex-0.11)
                       ("rust-filedescriptor" ,rust-filedescriptor-0.8)
                       ("rust-finl-unicode" ,rust-finl-unicode-1)
                       ("rust-fixedbitset" ,rust-fixedbitset-0.4)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-image" ,rust-image-0.24)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memmem" ,rust-memmem-0.1)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-num-derive" ,rust-num-derive-0.3)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-ordered-float" ,rust-ordered-float-4)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-semver" ,rust-semver-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-signal-hook" ,rust-signal-hook-0.3)
                       ("rust-siphasher" ,rust-siphasher-0.3)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-terminfo" ,rust-terminfo-0.8)
                       ("rust-termios" ,rust-termios-0.3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-ucd-trie" ,rust-ucd-trie-0.1)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-vtparse" ,rust-vtparse-0.6)
                       ("rust-wezterm-bidi" ,rust-wezterm-bidi-0.2)
                       ("rust-wezterm-blob-leases" ,rust-wezterm-blob-leases-0.1)
                       ("rust-wezterm-color-types" ,rust-wezterm-color-types-0.3)
                       ("rust-wezterm-dynamic" ,rust-wezterm-dynamic-0.2)
                       ("rust-wezterm-input-types" ,rust-wezterm-input-types-0.1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-k9" ,rust-k9-0.11)
                                   ("rust-varbincode" ,rust-varbincode-0.1))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Terminal wizardry")
    (description "Terminal Wizardry for Unix and Windows.")
    (license license:expat)))

(define-public rust-termwiz-0.20
  (package
    (inherit rust-termwiz-0.22)
    (name "rust-termwiz")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termwiz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yj80sli95wcw0im2iic9h7mx20hms3f9shxk7jarjqgl5waj2cm"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-base64" ,rust-base64-0.21)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-colored" ,rust-colored-2)
                       ("rust-filedescriptor" ,rust-filedescriptor-0.8)
                       ("rust-finl-unicode" ,rust-finl-unicode-1)
                       ("rust-fixedbitset" ,rust-fixedbitset-0.4)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-image" ,rust-image-0.24)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memmem" ,rust-memmem-0.1)
                       ("rust-nix" ,rust-nix-0.24)
                       ("rust-num-derive" ,rust-num-derive-0.3)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-ordered-float" ,rust-ordered-float-3)
                       ("rust-pest" ,rust-pest-2)
                       ("rust-pest-derive" ,rust-pest-derive-2)
                       ("rust-phf" ,rust-phf-0.10)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-semver" ,rust-semver-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-sha2" ,rust-sha2-0.9)
                       ("rust-signal-hook" ,rust-signal-hook-0.1)
                       ("rust-siphasher" ,rust-siphasher-0.3)
                       ("rust-terminfo" ,rust-terminfo-0.7)
                       ("rust-termios" ,rust-termios-0.3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-ucd-trie" ,rust-ucd-trie-0.1)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-vtparse" ,rust-vtparse-0.6)
                       ("rust-wezterm-bidi" ,rust-wezterm-bidi-0.2)
                       ("rust-wezterm-color-types" ,rust-wezterm-color-types-0.2)
                       ("rust-wezterm-dynamic" ,rust-wezterm-dynamic-0.1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-k9" ,rust-k9-0.11)
                                   ("rust-varbincode" ,rust-varbincode-0.1))))))

(define-public rust-termwiz-0.15
  (package
    (inherit rust-termwiz-0.20)
    (name "rust-termwiz")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "termwiz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ig83sldqnbmy95kb4ixhrjn63qym7dssxy3p2rsjj03rj96ivri"))))
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-base64" ,rust-base64-0.13)
                       ("rust-bitflags" ,rust-bitflags-1)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-filedescriptor" ,rust-filedescriptor-0.8)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-image" ,rust-image-0.23)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-memmem" ,rust-memmem-0.1)
                       ("rust-num-derive" ,rust-num-derive-0.3)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-ordered-float" ,rust-ordered-float-2)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-semver" ,rust-semver-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-sha2" ,rust-sha2-0.9)
                       ("rust-signal-hook" ,rust-signal-hook-0.1)
                       ("rust-terminfo" ,rust-terminfo-0.7)
                       ("rust-termios" ,rust-termios-0.3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-ucd-trie" ,rust-ucd-trie-0.1)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-vtparse" ,rust-vtparse-0.6)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
        ("rust-varbincode" ,rust-varbincode-0.1))))))

(define-public rust-test-assembler-0.1
  (package
    (name "rust-test-assembler")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "test-assembler" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1sdx9hk0dk3z9crm8834ysyxsi92chls8arpd0gs796kis6lik2w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-0.5))))
    (home-page "https://github.com/luser/rust-test-assembler")
    (synopsis "Build complex binary streams")
    (description
     "This package provides a set of types for building complex binary
streams.")
    (license license:expat)))

(define-public rust-test-case-3
  (package
    (name "rust-test-case")
    (version "3.3.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-case" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1a380yzm6787737cw7s09jqmkn9035hghahradl2ikdg2gfm09gb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Not all test files included.
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-test-case-macros" ,rust-test-case-macros-3))
       #:cargo-development-inputs
       (("rust-insta" ,rust-insta-1)
        ("rust-itertools" ,rust-itertools-0.11)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/frondeus/test-case")
    (synopsis "Procedural macro attribute for parametrized test cases")
    (description
     "This crate provides @code{#[test_case]} procedural macro attribute that
generates multiple parametrized tests using one body with different input
parameters.  A test is generated for each data set passed in test_case
attribute.  Under the hood, all test cases that share same body are grouped
into mod, giving clear and readable test results.")
    (license license:expat)))

(define-public rust-test-case-2
  (package
    (inherit rust-test-case-3)
    (name "rust-test-case")
    (version "2.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-case" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1h4qymhy332lzgg79w696qfxg6wdab5birn8xvfgkczzgmdczmi1"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version)
                          (string-append "^" version)))))))
    (arguments
     `(#:tests? #f              ; Not all files included.
       #:cargo-inputs
       (("rust-regex" ,rust-regex-1)
        ("rust-test-case-macros" ,rust-test-case-macros-2))
       #:cargo-development-inputs
       (("rust-indexmap" ,rust-indexmap-1)
        ("rust-insta" ,rust-insta-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde-yaml" ,rust-serde-yaml-0.8))))))

(define-public rust-test-case-1
  (package
    (inherit rust-test-case-2)
    (name "rust-test-case")
    (version "1.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "test-case" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0siwpm8g40g5gcvwcn6g4iq0bdhm6lb3dq6wcspfhhsb814g1rg9"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=acceptance::async_tests"
         "--skip=acceptance::hamcrest_assertions"
         "--skip=acceptance::basic"
         "--skip=acceptance::allow_result_check"
         "--skip=acceptance::return_check")
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-version-check" ,rust-version-check-0.9))
       #:cargo-development-inputs
       (("rust-indexmap" ,rust-indexmap-1.7)
        ("rust-insta" ,rust-insta-0.16)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-test-case-core-3
  (package
    (name "rust-test-case-core")
    (version "3.3.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-case-core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0krqi0gbi1yyycigyjlak63r8h1n0vms7mg3kckqwlfd87c7zjxd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/frondeus/test-case")
    (synopsis "Core functionality for the test-case crate")
    (description
     "This package provides core functionality for parsing #[test_case(...)]
procedural macro attribute for generating parametrized test cases easily")
    (license license:expat)))

(define-public rust-test-case-macros-3
  (package
    (name "rust-test-case-macros")
    (version "3.3.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-case-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1yvgky3qax73bic6m368q04xc955p4a91mddd6b5fk7d04mfg2aw"))))
    (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)
        ("rust-test-case-core" ,rust-test-case-core-3))))
    (home-page "https://github.com/frondeus/test-case")
    (synopsis "Macros for the test-case crate")
    (description
     "This package provides #[test_case(...)] procedural macro attribute for
generating parametrized test cases easily.")
    (license license:expat)))

(define-public rust-test-case-macros-2
  (package
    (inherit rust-test-case-macros-3)
    (name "rust-test-case-macros")
    (version "2.2.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-case-macros" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "09jvbfvz48v6ya3i25gp3lbr6ym1fz7qyp3l6bcdslwkw7v7nnz4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("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))))))

(define-public rust-test-cert-gen-0.9
  (package
    (name "rust-test-cert-gen")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "test-cert-gen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02nmsm23660525igrxii7l3f4h3w7x4wb652mg6hg5f5ravr4prl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all files included.
       #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pem" ,rust-pem-0.8)
                       ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://crates.io/crates/test-cert-gen")
    (synopsis "Generate certificates for tests")
    (description
     "This package is an utility to generate certificates for tests (e.g.,
for TLS).")
    (license (list license:expat license:asl2.0))))

(define-public rust-test-generator-0.3
  (package
    (name "rust-test-generator")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-generator" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1h03y4503jhhrks4m7xqfjya9lsx3ip5dlbldr7mgcws6j8bx5za"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-glob" ,rust-glob-0.3)
        ("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/frehberg/test-generator")
    (synopsis "Generate parameterized tests from different input parameters")
    (description
     "This crate provides @code{#[test_resources]} and @code{#[bench_resources]}
procedural macro attributes that generates multiple parameterized tests using
one body with different resource input parameters.  A test is generated for
each resource matching the specific resource location pattern.")
    (license license:asl2.0)))

(define-public rust-test-log-0.2
  (package
    (name "rust-test-log")
    (version "0.2.16")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-log" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "14xv5d7b3w072hh78xafsc795ygrg6s7ck8mg3i7np1b7kbcxzrx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-env-logger" ,rust-env-logger-0.11)
        ("rust-test-log-macros" ,rust-test-log-macros-0.2)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-test-case" ,rust-test-case-3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/d-e-s-o/test-log")
    (synopsis "Replacement of the #[test] attribute that initializes logging")
    (description
     "This package provides a replacement of the #[test] attribute that initializes
logging and/or tracing infrastructure before running tests.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-test-log-macros-0.2
  (package
    (name "rust-test-log-macros")
    (version "0.2.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "test-log-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xd3490hvpa6fk5sqnmyzbz5xwndfpmmshjfpa8k221jm97f56ar"))))
    (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/d-e-s-o/test-log.git")
    (synopsis "Supporting procedural macro crate for test-log")
    (description
     "This package provides supporting procedural macro crate for test-log.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-test-strategy-0.3
  (package
    (name "rust-test-strategy")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "test-strategy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nf11267xdcflg1ir25na0s8mbrwh9f0zmzykg88l8jlhn01qdmq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-structmeta" ,rust-structmeta-0.2)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/frozenlib/test-strategy")
    (synopsis "Macro to write higher-order strategies in proptest")
    (description
     "This package provides a procedural macro to easily write higher-order
strategies in proptest.")
    (license (list license:expat license:asl2.0))))

(define-public rust-test-strategy-0.2
  (package
    (inherit rust-test-strategy-0.3)
    (name "rust-test-strategy")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-strategy" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "105lxqs0vnqff5821sgns8q1scvrwfx1yw6iz7i7nr862j6l1mk2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-structmeta" ,rust-structmeta-0.1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-test-with-0.8
  (package
    (name "rust-test-with")
    (version "0.8.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "test-with" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1vaqbyixd8li4jb9akvrbc6yfm0kl435byggg0kghrdl32hpn6ay"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byte-unit" ,rust-byte-unit-4)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-ping" ,rust-ping-0.4)
        ("rust-proc-macro-error" ,rust-proc-macro-error-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-regex" ,rust-regex-1)
        ("rust-reqwest" ,rust-reqwest-0.11)
        ("rust-syn" ,rust-syn-1)
        ("rust-sysinfo" ,rust-sysinfo-0.27)
        ("rust-users" ,rust-users-0.11))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://github.com/yanganto/test-with")
    (synopsis "Run test with conditions")
    (description
     "This package provides a lib to help you run test with conditions in Rust.")
    (license license:expat)))

(define-public rust-tester-0.9
  (package
    (name "rust-tester")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tester" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1svnlmaynfvfqmy7zjvbh2xwzdxxz50cyxbjlliz45a6iw6x2f86"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-getopts" ,rust-getopts-0.2)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-term" ,rust-term-0.7))))
    (home-page
     "https://github.com/messense/rustc-test")
    (synopsis
     "Fork of Rust's test crate")
    (description
     "This package provides a fork of Rust's test crate that doesn't require
unstable language features.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tester-0.6
  (package
    (inherit rust-tester-0.9)
    (name "rust-tester")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tester" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kqynxab4g4qyhrmw8y7pzfn267q31wa7gbsirfkg17b6bbycivn"))))
    (arguments
     `(#:cargo-inputs (("rust-getopts" ,rust-getopts-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-term" ,rust-term-0.6))))))

(define-public rust-testing-logger-0.1
  (package
    (name "rust-testing-logger")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "testing_logger" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "087pi7y9iisspafyzblj41qvrw95dfb6px7pavlkmls5rckvg4kd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/brucechapman/rust_testing_logger")
    (synopsis "Supports writing tests to verify `log` crate calls")
    (description "Supports writing tests to verify `log` crate calls.")
    (license license:bsd-3)))

(define-public rust-testing-table-0.1
  (package
    (name "rust-testing-table")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "testing_table" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wl7i9q1hyaabcajh8pf8pflazazgpb60s61xjl9fv1xdvgbzd9y"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ansitok" ,rust-ansitok-0.2)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/zhiburt/tabled")
    (synopsis "Library for pretty print tables of Rust `struct`s and `enum`s")
    (description
     "This package provides an easy to use library for pretty print tables of
Rust @code{struct}s and @code{enum}s.")
    (license license:expat)))

(define-public rust-text-block-macros-0.1
  (package
    (name "rust-text-block-macros")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "text-block-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ja0p1vz33sakzyxb1n9j6nb9n59g40hzs0xmzg1f5qwvas5k2vz"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/KSXGitHub/text-block-macros.git")
    (synopsis "Create a multiline string literal")
    (description "Create a multiline string literal.")
    (license license:expat)))

(define-public rust-text-size-1
  (package
    (name "rust-text-size")
    (version "1.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "text-size" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "02jn26l5wcdjqpy80ycnk9ha10flyc0p4yga8ci6aaz7vd4bb318"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-serde-test" ,rust-serde-test-1)
         ("rust-static-assertions"
          ,rust-static-assertions-1))))
    (home-page
      "https://github.com/rust-analyzer/text-size")
    (synopsis "Newtypes for text offsets")
    (description "This package provides a newtypes for text offsets")
    (license (list license:expat license:asl2.0))))

(define-public rust-textnonce-1
  (package
    (name "rust-textnonce")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "textnonce" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10v653sz0305dlzdqh6wh795hxypk24s21iiqcfyv16p1kbzhhvp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-base64" ,rust-base64-0.12)
                       ("rust-rand" ,rust-rand-0.7)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1))))
    (home-page "https://github.com/mikedilger/textnonce")
    (synopsis "Text based random nonce generator")
    (description "Text based random nonce generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-textwrap-0.16
  (package
    (name "rust-textwrap")
    (version "0.16.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "textwrap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fgqn3mg9gdbjxwfxl76fg0qiq53w3mk4hdh1x40jylnz39k9m13"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-hyphenation" ,rust-hyphenation-0.8)
             ("rust-smawk" ,rust-smawk-0.3)
             ("rust-terminal-size" ,rust-terminal-size-0.2)
             ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
             ("rust-unicode-width" ,rust-unicode-width-0.1))
           #:cargo-development-inputs
           `(("rust-termion" ,rust-termion-2)
             ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)
             ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/mgeisler/textwrap")
    (synopsis "Library for word wrapping, indenting, and dedenting strings")
    (description
     "Textwrap is a small library for word wrapping, indenting, and dedenting
strings.  You can use it to format strings (such as help and error messages)
for display in commandline applications.  It is designed to be efficient and
handle Unicode characters correctly.")
    (license license:expat)))

(define-public rust-textwrap-0.15
  (package
    (inherit rust-textwrap-0.16)
    (name "rust-textwrap")
    (version "0.15.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "textwrap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-hyphenation" ,rust-hyphenation-0.8)
             ("rust-smawk" ,rust-smawk-0.3)
             ("rust-terminal-size" ,rust-terminal-size-0.1)
             ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
             ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-textwrap-0.14
  (package
    (inherit rust-textwrap-0.15)
    (name "rust-textwrap")
    (version "0.14.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "textwrap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "106xjfzfpk3nj51fx9slf9kyir7xjwvpqm003v9ardgq5b8whrh0"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-hyphenation" ,rust-hyphenation-0.8)
        ("rust-smawk" ,rust-smawk-0.3)
        ("rust-terminal-size" ,rust-terminal-size-0.1)
        ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-textwrap-0.12
  (package
    (inherit rust-textwrap-0.15)
    (name "rust-textwrap")
    (version "0.12.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "textwrap" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "12978qmkl5gcp94lxndpvp9qxq8mxp7hm9xbrw3422dgikchhc10"))))
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-hyphenation" ,rust-hyphenation-0.8)
             ("rust-terminal-size" ,rust-terminal-size-0.1)
             ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-textwrap-0.11
  (package
    (inherit rust-textwrap-0.12)
    (name "rust-textwrap")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "textwrap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (;("rust-hyphenation" ,rust-hyphenation-0.7)
        ("rust-term-size" ,rust-term-size-0.3)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (;("rust-lipsum" ,rust-lipsum-0.6)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
        ("rust-version-sync" ,rust-version-sync-0.6))))))

(define-public rust-thin-slice-0.1
  (package
    (name "rust-thin-slice")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thin-slice" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0g4z51g3yarah89ijpakbwhrrknw6d7k3ry0m1zqcn3hbhiq3alf"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/heycam/thin-slice")
    (synopsis
     "Owned slice that packs the slice storage into a single word when possible")
    (description
     "An owned slice that packs the slice storage into a single word when possible.")
    (license license:mpl2.0)))

(define-public rust-thin-vec-0.2
  (package
    (name "rust-thin-vec")
    (version "0.2.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thin-vec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jsyprh9gjyp2ivnpbfpqmwdcqxfyjj1s9srmfikdhjjh7a91353"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=std_tests::test_set_len_invalid")
       #:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/gankra/thin-vec")
    (synopsis "Vec that takes up less space on the stack")
    (description
     "This package provides a vec that takes up less space on the stack.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-2
  (package
    (name "rust-thiserror")
    (version "2.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thiserror" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k5j0ri0kjrnlblv5ikaglbkg1sxxwh0qrxbidxgc38rs0zn8wph"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-thiserror-impl" ,rust-thiserror-impl-2))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-ref-cast" ,rust-ref-cast-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/thiserror")
    (synopsis "derive(Error)")
    (description "This package provides @code{derive(Error)} in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-1
  (package
    (inherit rust-thiserror-2)
    (name "rust-thiserror")
    (version "1.0.69")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thiserror" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lizjay08agcr5hs9yfzzj6axs53a2rgx070a1dsi3jpkcrzbamn"))))
    (arguments
     `(#:cargo-inputs
       (("rust-thiserror-impl" ,rust-thiserror-impl-1))
       #:cargo-development-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-ref-cast" ,rust-ref-cast-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-thiserror-core-1
  (package
    (name "rust-thiserror-core")
    (version "1.0.50")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thiserror-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16g9j00g7bn8q1wk2i5p5f88vrhr04igxisqpwngdqz5nwcfw0f0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `thiserror`
       #:cargo-inputs (("rust-thiserror-core-impl" ,rust-thiserror-core-impl-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-ref-cast" ,rust-ref-cast-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/FlorianUekermann/thiserror")
    (synopsis "Provides @code{derive(Error)}")
    (description "This package provides @code{derive(Error)} in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-core-impl-1
  (package
    (name "rust-thiserror-core-impl")
    (version "1.0.50")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thiserror-core-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "014xs0ajjzrc7pxafn1ys8i5f9s2iv5vjqvnrivs05b6ydlhvip4"))))
    (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/FlorianUekermann/thiserror")
    (synopsis "Implementation detail of the @code{thiserror} crate")
    (description "Implementation detail of the @code{thiserror} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-impl-2
  (package
    (name "rust-thiserror-impl")
    (version "2.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thiserror-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m77z5vb4w7xn7y12zxnbwncva4bwbi45y45xvkf5aki20kzll3v"))))
    (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/thiserror")
    (synopsis "Implementation detail of the thiserror crate")
    (description "This package provides an implementation detail of the
@code{thiserror} crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thiserror-impl-1
  (package
    (inherit rust-thiserror-impl-2)
    (name "rust-thiserror-impl")
    (version "1.0.69")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thiserror-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h84fmn2nai41cxbhk6pqf46bxqq1b344v8yz089w1chzi76rvjg"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))))))

(define-public rust-thousands-0.2
  (package
    (name "rust-thousands")
    (version "0.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "thousands" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0848gnkn7ah51lrx15z9zmn701ipn6gc4xbk4kfdlfahkypkpxiv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t))
    (home-page "https://github.com/tov/thousands-rs")
    (synopsis "Adds digit separators to numerals, configurably")
    (description "This package provides thousand separators for numerals.")
    (license (list license:expat license:asl2.0))))

(define-public rust-thread-id-4
  (package
    (name "rust-thread-id")
    (version "4.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thread-id" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "02xph1955cpsriazs73hnwgjs1fzi8a2zgjplbm0vdcydv283v7h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/ruuda/thread-id")
    (synopsis "Get a unique ID for the current thread in Rust")
    (description
     "For diagnostics and debugging it can often be useful to get an ID that is
different for every thread.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-thread-id-3
  (package
    (inherit rust-thread-id-4)
    (name "rust-thread-id")
    (version "3.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thread-id" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-thread-id-2
  (package
    (inherit rust-thread-id-3)
    (name "rust-thread-id")
    (version "2.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thread-id" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9"))))
    (arguments
     `(#:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-libc" ,rust-libc-0.2))))))

(define-public rust-thread-local-1
  (package
    (name "rust-thread-local")
    (version "1.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thread_local" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lp19jdgvp5m4l60cgxdnl00yw1hlqy8gcywg9bddwng9h36zp9z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-once-cell" ,rust-once-cell-1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4))))
    (home-page "https://github.com/Amanieu/thread_local-rs")
    (synopsis "Per-object thread-local storage")
    (description "Per-object thread-local storage.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-thread-local-0.3
  (package
    (inherit rust-thread-local-1)
    (name "rust-thread-local")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "thread_local" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))))

(define-public rust-thread-local-0.2
  (package
    (inherit rust-thread-local-0.3)
    (name "rust-thread-local")
    (version "0.2.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thread_local" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-thread-id" ,rust-thread-id-2))))))

(define-public rust-thread-priority-1
  (package
    (name "rust-thread-priority")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thread-priority" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1x9byxzv6n6qplkdfkw40xi6wfwisjklx8qkajn63bix0pbpbq6g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; TODO: Figure out why many tests fail.
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-rstest" ,rust-rstest-0.19))))
    (home-page "https://github.com/iddm/thread-priority")
    (synopsis "Library for managing threads priority and schedule policies")
    (description
     "This package provides a library for managing threads priority and
schedule policies.")
    (license license:expat)))

(define-public rust-thread-tree-0.3
  (package
    (name "rust-thread-tree")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thread-tree" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mqsmabyf4vd18ci1xxwdyd77xv3b1dc24qx52ywq3nwch4125fx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5))))
    (home-page "https://github.com/bluss/thread-tree")
    (synopsis "Tree-structured thread pool")
    (description
     "This package provides a tree-structured thread pool for splitting jobs
hierarchically on worker threads.  The tree structure means that there is no
contention between workers when delivering jobs.")
    (license (list license:expat license:asl2.0))))

(define-public rust-threadpool-1
  (package
    (name "rust-threadpool")
    (version "1.8.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "threadpool" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1amgfyzvynbm8pacniivzq9r0fh3chhs7kijic81j76l6c5ycl6h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-num-cpus" ,rust-num-cpus-1))))
    (home-page "https://github.com/rust-threadpool/rust-threadpool")
    (synopsis "Thread pool for running jobs on a fixed set of worker threads")
    (description
     "This package provides a thread pool for running a number of jobs on a
fixed set of worker threads.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-thrift-0.17
  (package
    (name "rust-thrift")
    (version "0.17.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrift" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02cydaqqlp25ri19y3ixi77a7nd85fwvbfn4fp0qpakzzj2vqm3y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-integer-encoding" ,rust-integer-encoding-3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ordered-float" ,rust-ordered-float-2)
                       ("rust-threadpool" ,rust-threadpool-1))))
    (home-page "https://thrift.apache.org")
    (synopsis "Rust bindings for the Apache Thrift RPC system")
    (description
     "This package provides Rust bindings for the Apache Thrift RPC
system.")
    (license license:asl2.0)))

(define-public rust-thrift-0.13
  (package
    (inherit rust-thrift-0.17)
    (name "rust-thrift")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrift" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nvbrflb5fw6hmayqppkp97dh63vs2znww92dlkcfz4laia9cv8c"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-integer-encoding" ,rust-integer-encoding-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-ordered-float" ,rust-ordered-float-1)
        ("rust-threadpool" ,rust-threadpool-1))))))

(define-public rust-thrussh-0.34
  (package
    (name "rust-thrussh")
    (version "0.34.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0k128v3dn6wv0ywmk8bjp2xx11niafp9q49xps5fwjy8dy0s4y3v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=test_compress::compress_local_test"
                            "--skip=src/lib.rs - (line 152)")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-cryptovec" ,rust-cryptovec-0.6)
                       ("rust-digest" ,rust-digest-0.9)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-generic-array" ,rust-generic-array-0.14)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-openssl" ,rust-openssl-0.10)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-sha2" ,rust-sha2-0.9)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-thrussh-keys" ,rust-thrussh-keys-0.22)
                       ("rust-thrussh-libsodium" ,rust-thrussh-libsodium-0.3)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-env-logger" ,rust-env-logger-0.7)
                                   ("rust-tokio" ,rust-tokio-1))))
    (native-inputs (list pkg-config))
    (inputs (list libsodium))
    (home-page "https://pijul.org/thrussh")
    (synopsis "SSH library in Rust")
    (description "This package provides a client and server SSH library.")
    (license license:asl2.0)))

(define-public rust-thrussh-0.33
  (package
    (inherit rust-thrussh-0.34)
    (name "rust-thrussh")
    (version "0.33.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y1nhpg9l8jwjv59am9kmf9gib2j58c1qm36dvgq7pwsi8il0rcf"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; README.md not included in the release tarball.
                 (substitute* "Cargo.toml"
                   (("\\.\\./README\\.md") "Cargo.toml"))))))
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=test_compress::compress_local_test"
                            "--skip=src/lib.rs - (line 152)")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-cryptovec" ,rust-cryptovec-0.6)
                       ("rust-digest" ,rust-digest-0.9)
                       ("rust-flate2" ,rust-flate2-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-generic-array" ,rust-generic-array-0.14)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-openssl" ,rust-openssl-0.10)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-sha2" ,rust-sha2-0.9)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-thrussh-keys" ,rust-thrussh-keys-0.21)
                       ("rust-thrussh-libsodium" ,rust-thrussh-libsodium-0.2)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-env-logger" ,rust-env-logger-0.7)
                                   ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-thrussh-config-0.6
  (package
    (name "rust-thrussh-config")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08k6r947q5xx73y29s24snwlzym5x7v2drdl5y794957i6mlm5zs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dirs-next" ,rust-dirs-next-2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-whoami" ,rust-whoami-1))))
    (home-page "https://nest.pijul.com/pijul/thrussh")
    (synopsis "Utilities to parse .ssh/config files")
    (description
     "This package provides utilities to parse .ssh/config files, including
helpers to implement @code{ProxyCommand} in Thrussh.")
    (license license:asl2.0)))

(define-public rust-thrussh-config-0.5
  (package
    (inherit rust-thrussh-config-0.6)
    (name "rust-thrussh-config")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh-config" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ygm5vdy180gslgmbd0v722ap451pw8cwaba0g0dzx5gg3cl9h37"))))
    (arguments
     `(#:cargo-inputs (("rust-dirs-next" ,rust-dirs-next-2)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-whoami" ,rust-whoami-1))))))

(define-public rust-thrussh-keys-0.22
  (package
    (name "rust-thrussh-keys")
    (version "0.22.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh-keys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fsr8ank8vciyfdr27b56gnwasjrvadxkklv6w7dn22c7sqmjgf4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=test::test_client_agent_ed25519")
       #:cargo-inputs (("rust-aes" ,rust-aes-0.7)
                       ("rust-bcrypt-pbkdf" ,rust-bcrypt-pbkdf-0.10)
                       ("rust-bit-vec" ,rust-bit-vec-0.6)
                       ("rust-block-modes" ,rust-block-modes-0.8)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-cryptovec" ,rust-cryptovec-0.6)
                       ("rust-data-encoding" ,rust-data-encoding-2)
                       ("rust-dirs" ,rust-dirs-3)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-hmac" ,rust-hmac-0.11)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-md5" ,rust-md5-0.7)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-openssl" ,rust-openssl-0.10)
                       ("rust-p256" ,rust-p256-0.13)
                       ("rust-pbkdf2" ,rust-pbkdf2-0.8)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-sha2" ,rust-sha2-0.9)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-thrussh-libsodium" ,rust-thrussh-libsodium-0.2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-stream" ,rust-tokio-stream-0.1)
                       ("rust-yasna" ,rust-yasna-0.4))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.8)
                                   ("rust-tempdir" ,rust-tempdir-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list libsodium))
    (home-page "https://pijul.org/thrussh")
    (synopsis "Deal with SSH keys from Rust")
    (description
     "This package helps deal with SSH keys: loading them, decrypting them,
calling an SSH agent.")
    (license license:asl2.0)))

(define-public rust-thrussh-keys-0.21
  (package
    (inherit rust-thrussh-keys-0.22)
    (name "rust-thrussh-keys")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh-keys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1azmv32m5jpxsflj4dq62i84mv2cavc354r8yy98vc9j54dcab57"))))
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=test::test_client_agent_ed25519"
                            "--skip=src/lib.rs - (line 13)"
                            "--skip=src/lib.rs - load_public_key (line 146)")
       #:cargo-inputs (("rust-aes" ,rust-aes-0.7)
                       ("rust-bcrypt-pbkdf" ,rust-bcrypt-pbkdf-0.6)
                       ("rust-bit-vec" ,rust-bit-vec-0.6)
                       ("rust-block-modes" ,rust-block-modes-0.8)
                       ("rust-byteorder" ,rust-byteorder-1)
                       ("rust-cryptovec" ,rust-cryptovec-0.6)
                       ("rust-data-encoding" ,rust-data-encoding-2)
                       ("rust-dirs" ,rust-dirs-3)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-hmac" ,rust-hmac-0.11)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-md5" ,rust-md5-0.7)
                       ("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-openssl" ,rust-openssl-0.10)
                       ("rust-pbkdf2" ,rust-pbkdf2-0.8)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-sha2" ,rust-sha2-0.9)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-thrussh-libsodium" ,rust-thrussh-libsodium-0.2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-stream" ,rust-tokio-stream-0.1)
                       ("rust-yasna" ,rust-yasna-0.4))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.8)
                                   ("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-thrussh-libsodium-0.3
  (package
    (name "rust-thrussh-libsodium")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh-libsodium" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18vf8zpvyhbcdkn3cl6rdc2s57676jj6j4m2ykszc3fyi2xh1vaq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libsodium-sys" ,rust-libsodium-sys-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-vcpkg" ,rust-vcpkg-0.2))))
    (native-inputs (list pkg-config))
    (inputs (list libsodium))
    (home-page "https://nest.pijul.com/pijul/thrussh")
    (synopsis "Straightforward bindings to libsodium")
    (description
     "This package provides straightforward bindings to libsodium.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-thrussh-libsodium-0.2
  (package
    (inherit rust-thrussh-libsodium-0.3)
    (name "rust-thrussh-libsodium")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "thrussh-libsodium" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07lscwsfrh02hqnjw62wyknwmydiqwq4jz1gg1g25xygnh79qksz"))))
    (arguments
     `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libsodium-sys" ,rust-libsodium-sys-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-vcpkg" ,rust-vcpkg-0.2))))))

(define-public rust-tikv-jemalloc-sys-0.6
  (package
    (name "rust-tikv-jemalloc-sys")
    (version "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tikv-jemalloc-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0baf5vjpg9ipa388md4yxim77rdblnk8r95mnp1akbqjcj860g6d"))
       (modules '((guix build utils)))
       (snippet
        '(begin (delete-file-recursively "jemalloc")))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-libc" ,rust-libc-0.2))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               ;; This flag is needed when not using the bundled jemalloc.
               ;; https://github.com/tikv/jemallocator/issues/19
               (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))
    (inputs (list jemalloc))
    (home-page "https://github.com/tikv/jemallocator")
    (synopsis "Rust FFI bindings to jemalloc")
    (description "This package provides a Rust FFI bindings to jemalloc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tikv-jemallocator-0.6
  (package
    (name "rust-tikv-jemallocator")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tikv-jemallocator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0r985npb7d9hrbs3mb0bkfbv0nvzjpgvzsbpyj21bn0qhpqmzv2c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `tikv_jemalloc_ctl`
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-tikv-jemalloc-sys" ,rust-tikv-jemalloc-sys-0.6))
       #:cargo-development-inputs (("rust-paste" ,rust-paste-1))
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'override-jemalloc
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((jemalloc (assoc-ref inputs "jemalloc")))
               ;; This flag is needed when not using the bundled jemalloc.
               ;; https://github.com/tikv/jemallocator/issues/19
               (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
               (setenv "JEMALLOC_OVERRIDE"
                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))
    (inputs (list jemalloc))
    (home-page "https://github.com/tikv/jemallocator")
    (synopsis "Rust allocator backed by jemalloc")
    (description "This package provides a Rust allocator backed by jemalloc.")
    (license (list license:expat license:asl2.0))))

(define-public rust-time-0.3
  (package
    (name "rust-time")
    (version "0.3.36")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "time" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11g8hdpahgrf1wwl2rpsg5nxq3aj7ri6xr672v4qcij6cgjqizax"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included
       #:cargo-inputs
       (("rust-deranged" ,rust-deranged-0.3)
        ("rust-itoa" ,rust-itoa-1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-conv" ,rust-num-conv-0.1)
        ("rust-num-threads" ,rust-num-threads-0.1)
        ("rust-powerfmt" ,rust-powerfmt-0.2)
        ("rust-quickcheck" ,rust-quickcheck-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-time-core" ,rust-time-core-0.1)
        ("rust-time-macros" ,rust-time-macros-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-num-conv" ,rust-num-conv-0.1)
        ("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rstest" ,rust-rstest-0.18)
        ("rust-rstest-reuse" ,rust-rstest-reuse-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-time-macros" ,rust-time-macros-0.2)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://time-rs.github.io")
    (synopsis "Date and time library")
    (description "This package provides a date and time library.  It is fully
interoperable with the standard library, and is mostly compatible with
@code{#![no_std]}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-time-0.2
  (package
    (inherit rust-time-0.3)
    (name "rust-time")
    (version "0.2.27")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "time" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hm209d078jfgxzjhi5xqim64q31rlj1h70zz57qbmpbirzsjlj7"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-const-fn" ,rust-const-fn-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-standback" ,rust-standback-0.2)
        ("rust-stdweb" ,rust-stdweb-0.4)
        ("rust-time-macros" ,rust-time-macros-0.1)
        ("rust-version-check" ,rust-version-check-0.9)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.7)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-standback" ,rust-standback-0.2))))))

(define-public rust-time-0.1
  (package
    (name "rust-time")
    (version "0.1.45")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "time" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0nl0pzv9yf56djy8y5dx25nka5pr2q1ivlandb3d24pksgx7ly8v"))
        (snippet
         #~(begin (use-modules (guix build utils))
                  (substitute* "Cargo.toml"
                    (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                     (string-append "\"^" version)))))))

    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=tests::test_asctime"
         "--skip=tests::test_at"
         "--skip=tests::test_ctime"
         "--skip=tests::test_dst"
         "--skip=tests::test_strftime")
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-wasi" ,rust-wasi-0.10)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/time-rs/time")
    (synopsis "Simple time handling in Rust")
    (description
     "This package provides utilities for working with time-related functions
in Rust.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-time-core-0.1
  (package
    (name "rust-time-core")
    (version "0.1.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "time-core" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1wx3qizcihw6z151hywfzzyd1y5dl804ydyxci6qm07vbakpr4pg"))))
    (build-system cargo-build-system)
    (arguments '(#:tests? #f))      ; use of undeclared crate or module `time`
    (home-page "https://github.com/time-rs/time")
    (synopsis "Implementation for the time crate")
    (description "This crate is an implementation detail for the time crate and
should not be relied upon directly.")
    (license (list license:expat license:asl2.0))))

(define-public rust-time-macros-0.2
  (package
    (name "rust-time-macros")
    (version "0.2.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "time-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kqwxvfh2jkpg38fy673d6danh1bhcmmbsmffww3mphgail2l99z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-conv" ,rust-num-conv-0.1)
                       ("rust-time-core" ,rust-time-core-0.1))))
    (home-page "https://github.com/time-rs/time")
    (synopsis "Procedural macros for the time crate")
    (description "This package provides procedural macros for the time
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-time-macros-0.1
  (package
    (inherit rust-time-macros-0.2)
    (name "rust-time-macros")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "time-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wg24yxpxcfmim6dgblrf8p321m7cyxpdivzvp8bcb7i4rp9qzlm"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-time-macros-impl" ,rust-time-macros-impl-0.1))))))

(define-public rust-time-macros-impl-0.1
  (package
    (name "rust-time-macros-impl")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "time-macros-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1ymqhvnvry3giiw45xvarlgagl8hnd6cz4alkz32fq5dvwgbxhz5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-standback" ,rust-standback-0.2)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/time-rs/time")
    (synopsis "Procedural macros for the time crate")
    (description "This package provides procedural macros for the time
crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-timeago-0.4
  (package
    (name "rust-timeago")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "timeago" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rnh92sh1l4jbjvz4g7xvcvmfh7nk5k7mm2w56pnm9z0kmc0wwd1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-isolang" ,rust-isolang-2))))
    (home-page "https://github.com/vi/timeago")
    (synopsis "Time formatting library in Rust")
    (description
     "This package provides a time formatting library in Rust that converts
durations into strings.  For example, \"1 hour ago\" or \"01hou\".")
    (license (list license:expat license:asl2.0))))

(define-public rust-timebomb-0.1
  (package
    (name "rust-timebomb")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "timebomb" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0fl8bxi9bf5bv44i1afii63695cx4jlki869v0kp01ipnvs8c23z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-pulse" ,rust-pulse-0.5)
        ("rust-time" ,rust-time-0.2))))
    (home-page "https://github.com/csherratt/timebomb")
    (synopsis "Timeout mechanism for unit tests")
    (description "This package provides a timeout mechanism for unit tests.")
    (license license:asl2.0)))

(define-public rust-timer-0.2
  (package
    (name "rust-timer")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "timer" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0srhqyp7fr91d1i43aqs7wc6yn1i3kdkh1pm05bicdw961v23m1i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4))))
    (home-page "https://github.com/Yoric/timer.rs")
    (synopsis "Simple timer in Rust")
    (description
     "This package provides a simple timer.  Use it to schedule execution of
closures after a delay or at a given timestamp.")
    (license license:mpl2.0)))

(define-public rust-timerfd-1
  (package
    (name "rust-timerfd")
    (version "1.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "timerfd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18jf23sh843nfvvcdg5gwmnfy099f6fhpnz8w9xmq2xdhdyx8grx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rustix" ,rust-rustix-0.37))))
    (home-page "https://github.com/main--/rust-timerfd")
    (synopsis "Rust interface to the Linux kernel's @code{timerfd} API")
    (description
     "This package provides a Rust interface to the Linux kernel's
@code{timerfd} API.")
    (license license:expat)))

(define-public rust-tint-1
  (package
    (name "rust-tint")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tint" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15k89pp3ddxczfnv2j995yvy02mfpmjrmxmv7mkp8c2acrq4bwks"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-0.2))))
    (home-page "https://github.com/savage13/tint")
    (synopsis "Color creation and manipulation")
    (description "This package provides tools for color creation and
manipulation in Rust.")
    (license license:expat)))

(define-public rust-tiny-keccak-2
  (package
    (name "rust-tiny-keccak")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tiny-keccak" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dq2x0hjffmixgyf6xv9wgsbcxkd65ld0wrfqmagji8a829kg79c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-crunchy" ,rust-crunchy-0.2))))
    (home-page "https://github.com/debris/tiny-keccak")
    (synopsis "Implementation of Keccak derived functions")
    (description
     "Tiny Keccak provides ann implementation of Keccak derived functions
specified in FIPS-202, SP800-185 and KangarooTwelve.")
    (license license:cc0)))

(define-public rust-tiny-skia-0.11
  (package
    (name "rust-tiny-skia")
    (version "0.11.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tiny-skia" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1aq9gd4qh4418g8v08qzakqqggx8hl66qcianl3k5bjdsja37lc3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayref" ,rust-arrayref-0.3)
                       ("rust-arrayvec" ,rust-arrayvec-0.7)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-png" ,rust-png-0.17)
                       ("rust-tiny-skia-path" ,rust-tiny-skia-path-0.11))))
    (home-page "https://github.com/RazrFalcon/tiny-skia")
    (synopsis "Skia subset ported to Rust")
    (description "This package provides a tiny Skia subset ported to Rust.")
    (license license:bsd-3)))

(define-public rust-tiny-skia-0.8
  (package
    (inherit rust-tiny-skia-0.11)
    (name "rust-tiny-skia")
    (version "0.8.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "tiny-skia" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0rvapxnksdjy1rnzjlvi6dqijz843y9m2dv107ln24230fi9716z"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arrayref" ,rust-arrayref-0.3)
        ("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-cfg-if" ,rust-cfg-if-1)
        ("rust-png" ,rust-png-0.17)
        ("rust-tiny-skia-path" ,rust-tiny-skia-path-0.8))))))

(define-public rust-tiny-skia-0.7
  (package
    (inherit rust-tiny-skia-0.11)
    (name "rust-tiny-skia")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tiny-skia" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10mzi6x57w6s0k812zww1kx3dl8yprh1q64x9dpb35dqkdb809k4"))))
    (arguments
     `(#:cargo-inputs (("rust-arrayref" ,rust-arrayref-0.3)
                       ("rust-arrayvec" ,rust-arrayvec-0.5)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-png" ,rust-png-0.17)
                       ("rust-safe-arch" ,rust-safe-arch-0.5)
                       ("rust-tiny-skia-path" ,rust-tiny-skia-path-0.7))))))

(define-public rust-tiny-skia-path-0.11
  (package
    (name "rust-tiny-skia-path")
    (version "0.11.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tiny-skia-path" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14ywbdfakvacl6rxxmzbnycplaxpc6i2linh2yqk0sp8qb07z7lw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayref" ,rust-arrayref-0.3)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-libm" ,rust-libm-0.2)
                       ("rust-strict-num" ,rust-strict-num-0.1))))
    (home-page "https://github.com/RazrFalcon/tiny-skia/tree/master/path")
    (synopsis "Tiny-skia Bezier path implementation")
    (description
     "This package provides a tiny-skia Bezier path implementation.")
    (license license:bsd-3)))

(define-public rust-tiny-skia-path-0.8
  (package
    (inherit rust-tiny-skia-path-0.11)
    (name "rust-tiny-skia-path")
    (version "0.8.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "tiny-skia-path" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0z37bzd222q3dlahmaxp2mf1pg5v9qyz3x0j3phs0myxyg9vbgxd"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arrayref" ,rust-arrayref-0.3)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-libm" ,rust-libm-0.2)
        ("rust-strict-num" ,rust-strict-num-0.1))))))

(define-public rust-tiny-skia-path-0.7
  (package
    (inherit rust-tiny-skia-path-0.11)
    (name "rust-tiny-skia-path")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tiny-skia-path" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v7sf1g9avk91npxk41byswpm5msz8yh3jv7adc3vr1f1hpx6561"))))
    (arguments
     `(#:cargo-inputs (("rust-arrayref" ,rust-arrayref-0.3)
                       ("rust-bytemuck" ,rust-bytemuck-1)
                       ("rust-libm" ,rust-libm-0.2))))))

(define-public rust-tinyfiledialogs-3
  (package
    (name "rust-tinyfiledialogs")
    (version "3.9.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tinyfiledialogs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s55kkzai2rn3fnvwia4lgmpp9d57zgrdb6pqqn6wmm68fya0pz2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cc" ,rust-cc-1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/jdm/tinyfiledialogs-rs")
    (synopsis "High-level Rust binding for the tinyfiledialogs C library")
    (description
     "This package provides high-level Rust binding for the tinyfiledialogs
C library.")
    (license license:zlib)))

(define-public rust-tinystr-0.7
  (package
    (name "rust-tinystr")
    (version "0.7.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tinystr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bxqaw7z8r2kzngxlzlgvld1r6jbnwyylyvyjbv1q71rvgaga5wi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `rand::rngs::SmallRng`
       #:cargo-inputs (("rust-databake" ,rust-databake-0.1)
                       ("rust-displaydoc" ,rust-displaydoc-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-zerovec" ,rust-zerovec-0.10))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-postcard" ,rust-postcard-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "ASCII-only bounded length string representation")
    (description
     "This package provides a small ASCII-only bounded length string
representation.")
    (license license:unicode)))

(define-public rust-tinytemplate-1
  (package
    (name "rust-tinytemplate")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tinytemplate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g5n77cqkdh9hy75zdb01adxn45mkh9y40wdr7l68xpz35gnnkdy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/bheisler/TinyTemplate")
    (synopsis "Simple, lightweight template engine")
    (description "Simple, lightweight template engine.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-tinyvec-1
  (package
    (name "rust-tinyvec")
    (version "1.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tinyvec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l6bl2h62a5m44jdnpn7lmj14rd44via8180i7121fvm73mmrk47"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-tinyvec-macros" ,rust-tinyvec-macros-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://crates.io/crates/tinyvec")
    (synopsis "Safe vec-like data structures")
    (description
     "@code{tinyvec} provides 100% safe vec-like data structures.")
    (license
     (list license:zlib license:asl2.0 license:expat))))

(define-public rust-tinyvec-macros-0.1
  (package
    (name "rust-tinyvec-macros")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tinyvec_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "081gag86208sc3y6sdkshgw3vysm5d34p431dzw0bshz66ncng0z"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Soveu/tinyvec_macros")
    (synopsis "Some macros for tiny containers")
    (description "This package provides a few useful macros for tiny
containers.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-titlecase-3
  (package
    (name "rust-titlecase")
    (version "3.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "titlecase" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hlixjjrz9xsjj1xlv1c2p5vn923yszgzwv8l4zr3hdy9xs0xqp0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-regex" ,rust-regex-1)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
    (home-page "https://github.com/wezm/titlecase")
    (synopsis "Tool and Rust crate for transforming text into title case")
    (description
     "This package provides a tool and library that capitalizes text according
to a style defined by John Gruber for post titles on his website ``Daring
Fireball''.")
    (license license:expat)))

(define-public rust-titlecase-2
  (package
    (inherit rust-titlecase-3)
    (name "rust-titlecase")
    (version "2.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "titlecase" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hi0hkh2x78rvq7rhdgdzsgwcnlpvvb59hgnifsgwz01vf67lf9q"))))
    (arguments
     `(#:cargo-inputs (("rust-joinery" ,rust-joinery-2)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1))))))

(define-public rust-to-method-1
  (package
    (name "rust-to-method")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "to_method" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s72l06fnb5kv6vm5ds0lilg1dyciyyis09ypi5kij0mrbpcxi67"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/whentze/to_method")
    (synopsis "utility micro-crate for using Into more ergonomically.")
    (description
     "This package provides a utility micro-crate for using Into more ergonomically.")
    (license license:cc0)))

(define-public rust-to-shmem-0.0.0
  (package
    (name "rust-to-shmem")
    (version "0.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "to_shmem" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12k69c7zknzmza1mkqpmd86cialbsvazz7zr4hscm0dnfzy2bvmi"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/servo/servo")
    (synopsis
     "Trait for cloning data into a shared memory buffer (dummy package)")
    (description
     "Trait for cloning data into a shared memory buffer (dummy package).")
    (license license:mpl2.0)))

(define-public rust-to-shmem-derive-0.0.0
  (package
    (name "rust-to-shmem-derive")
    (version "0.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "to_shmem_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z4zc81p0i5fpkil2v2jq54nmilasvr0v25q7jbv6w0nrpl5qw2b"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/servo/servo")
    (synopsis
     "Trait for cloning data into a shared memory buffer (dummy package)")
    (description
     "Trait for cloning data into a shared memory buffer (dummy package).")
    (license license:mpl2.0)))

(define-public rust-tobj-3
  (package
    (name "rust-tobj")
    (version "3.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "tobj" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1q9hxhdzbqcrpnmja98mnd5890jf3x1njg0q1lgpj8yg5j29ryc9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ;tests are incomplete
       #:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/Twinklebear/tobj")
    (synopsis "Lightweight OBJ loader in the spirit of tinyobjloader")
    (description
     "This package provides a lightweight OBJ loader in the spirit of
tinyobjloader.")
    (license license:expat)))

(define-public rust-tobj-2
  (package
    (inherit rust-tobj-3)
    (name "rust-tobj")
    (version "2.0.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "tobj" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06w8ix9nk38wli0pjfl22hiyy07byhdcz18nkwhzg775x1dzas14"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ;tests are incomplete
       #:cargo-inputs (("rust-log" ,rust-log-0.4))))))

(define-public rust-tokio-1
  (package
    (name "rust-tokio")
    (version "1.42.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lbmf21h16iibdy7m63ck66grkwa7b1x8yy9gwvp60j5n0hrpv2w"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-test-flags
           '(list "--release" "--features=full")
           ;; no method named `start_paused` found for struct `tokio::runtime::Builder`
           #:tests? #f
           #:cargo-inputs
           `(("rust-backtrace" ,rust-backtrace-0.3)
             ("rust-bytes" ,rust-bytes-1)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-mio" ,rust-mio-1)
             ("rust-parking-lot" ,rust-parking-lot-0.12)
             ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
             ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
             ("rust-socket2" ,rust-socket2-0.5)
             ("rust-tokio-macros" ,rust-tokio-macros-2)
             ("rust-tracing" ,rust-tracing-0.1)
             ("rust-windows-sys" ,rust-windows-sys-0.52))
           #:cargo-development-inputs
           `(("rust-async-stream" ,rust-async-stream-0.3)
             ("rust-futures" ,rust-futures-0.3)
             ("rust-libc" ,rust-libc-0.2)
             ("rust-loom" ,rust-loom-0.7)
             ("rust-mio-aio" ,rust-mio-aio-0.9)
             ("rust-mockall" ,rust-mockall-0.11)
             ("rust-nix" ,rust-nix-0.29)
             ("rust-proptest" ,rust-proptest-1)
             ("rust-rand" ,rust-rand-0.8)
             ("rust-socket2" ,rust-socket2-0.5)
             ("rust-tempfile" ,rust-tempfile-3)
             ("rust-tokio-stream" ,rust-tokio-stream-0.1)
             ("rust-tokio-test" ,rust-tokio-test-0.4)
             ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
             ("rust-windows-sys" ,rust-windows-sys-0.52))))
    (home-page "https://tokio.rs")
    (synopsis "Event-driven, non-blocking I/O platform")
    (description
     "This package provides an event-driven, non-blocking I/O platform for
writing asynchronous I/O backed applications.")
    (license license:expat)))

(define-public rust-tokio-0.3
  (package
    (inherit rust-tokio-1)
    (name "rust-tokio")
    (version "0.3.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z78l7kn4y2qvghsp9dyqgvr1kjvv63pjq3d8nzi31q74lfa42vj"))))
    (arguments
     `(#:tests? #f                      ;FIXME: fail due to unresolved imports
       #:cargo-inputs
       (("rust-autocfg" ,rust-autocfg-1)
        ("rust-bytes" ,rust-bytes-0.6)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-mio" ,rust-mio-0.7)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-macros" ,rust-tokio-macros-0.3)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-loom" ,rust-loom-0.3)
        ("rust-nix" ,rust-nix-0.19)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-tokio-test" ,rust-tokio-test-0.3))))))

(define-public rust-tokio-0.2
  (package
    (inherit rust-tokio-0.3)
    (name "rust-tokio")
    (version "0.2.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14l0rll6y1dyzh6qcd8rma2ch3wx0dxzxq8b54di744sjirs40v7"))))
    (arguments
     `(#:tests? #f      ; failed to resolve: could not find `test` in `tokio`
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-fnv" ,rust-fnv-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-macros" ,rust-tokio-macros-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-futures-test" ,rust-futures-test-0.3)
        ("rust-loom" ,rust-loom-0.3)
        ("rust-proptest" ,rust-proptest-0.9)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio-test" ,rust-tokio-test-0.2))))))

(define-public rust-tokio-0.1
  (package
    (inherit rust-tokio-0.2)
    (name "rust-tokio")
    (version "0.1.22")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xhaadfmm6m37f79xv5020gc3np9wqza3bq95ymp522qpfsw02as"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; rust-flate2 doesn't have a 'tokio' feature.
                 (substitute* "Cargo.toml"
                   (("features = \\[\"tokio\"\\]") ""))))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=block_on_timer"
         "--skip=nested_enter::run_in_run"
         "--skip=after_start_and_before_stop_is_called"
         "--skip=from_block_on_all::spawn"
         "--skip=runtime_tokio_run")
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
        ("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
        ("rust-tokio-fs" ,rust-tokio-fs-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
        ("rust-tokio-sync" ,rust-tokio-sync-0.1)
        ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1)
        ("rust-tokio-timer" ,rust-tokio-timer-0.2)
        ("rust-tokio-udp" ,rust-tokio-udp-0.1)
        ("rust-tokio-uds" ,rust-tokio-uds-0.2)
        ("rust-tracing-core" ,rust-tracing-core-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.5)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
        ("rust-http" ,rust-http-0.1)
        ("rust-httparse" ,rust-httparse-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-time" ,rust-time-0.1))))))

(define-public rust-tokio-buf-0.1
  (package
    (name "rust-tokio-buf")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-buf" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0inwrkh8knqy44mr9h2i305zyy4pxhfy90y0gr5rm1akdks21clg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-either" ,rust-either-1)
        ("rust-futures" ,rust-futures-0.1))
       #:cargo-development-inputs
       (("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Asynchronous stream of byte buffers")
    (description "Asynchronous stream of byte buffers")
    (license license:expat)))

;; Cyclic dependency with tokio-io
(define-public rust-tokio-codec-0.1
  (package
    (name "rust-tokio-codec")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-codec" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "17y3hi3dd0bdfkrzshx9qhwcf49xv9iynszj7iwy3w4nmz71wl2w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1))))
    (home-page "https://tokio.rs")
    (synopsis
     "Utilities for encoding and decoding frames")
    (description
     "Utilities for encoding and decoding frames.")
    (license license:expat)))

(define-public rust-tokio-core-0.1
  (package
    (name "rust-tokio-core")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1m7zij19xy13wmlb7a1bghvi4vs8s1hlyggnaajvqfj46i9kkcc7"))
       (snippet
        #~(begin (use-modules (guix build utils))
                 ;; rust-flate2 doesn't have a 'tokio' feature.
                 (substitute* "Cargo.toml"
                   (("features = \\[\"tokio\"\\]") ""))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Wants an old version of flate2
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
        ("rust-tokio-timer" ,rust-tokio-timer-0.2))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.4)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
        ("rust-http" ,rust-http-0.1)
        ("rust-httparse" ,rust-httparse-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-time" ,rust-time-0.1))))
    (home-page "https://tokio.rs")
    (synopsis
     "Core I/O and event loop primitives for asynchronous I/O in Rust")
    (description
     "Core I/O and event loop primitives for asynchronous I/O in Rust.
Foundation for the rest of the tokio crates.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-current-thread-0.1
  (package
    (name "rust-tokio-current-thread")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-current-thread" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hx4c8v88kk0ih8x5s564gsgwwf8n11kryvxm72l1f7isz51fqni"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis
     "Manage many tasks concurrently on the current thread")
    (description
     "Single threaded executor which manage many tasks concurrently on
the current thread.")
    (license license:expat)))

(define-public rust-tokio-executor-0.2
  (package
    (name "rust-tokio-executor")
    (version "0.2.0-alpha.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-executor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1j67p4g9y20bvlbphjmpfzc0yy8clhmz6wza6hw94iciyvncxscy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests don't compile
       #:cargo-inputs
       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3)
        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-sync" ,rust-tokio-sync-0.2)
        ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis "Future execution primitives")
    (description "This package provides future execution primitives.")
    (license license:expat)))

(define-public rust-tokio-executor-0.1
  (package
    (name "rust-tokio-executor")
    (version "0.1.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-executor" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0w8n78d2vixs1vghqc4wy9w0d1h6qkli51c1yzhzbns88n7inbgv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-futures" ,rust-futures-0.1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis "Future execution primitives")
    (description "Future execution primitives.")
    (license license:expat)))

(define-public rust-tokio-fs-0.1
  (package
    (name "rust-tokio-fs")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-fs" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1bxp8585pi4j5g39ci2gkk99qnyilyhhila7cs8r6scdn0idrriz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.4)
        ("rust-tempdir" ,rust-tempdir-0.3)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "File system API for Tokio")
    (description "File system API for Tokio.")
    (license license:expat)))

;; Cyclic dependencies with tokio and tokio-current-thread
(define-public rust-tokio-io-0.1
  (package
    (name "rust-tokio-io")
    (version "0.1.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-io" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0x06zyzinans1pn90g6i150lgixijdf1cg8y2gipjd09ms58dz2p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-log" ,rust-log-0.4))
       #:cargo-development-inputs
       (("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1))))
    (home-page "https://tokio.rs")
    (synopsis
     "Core I/O primitives for asynchronous I/O in Rust")
    (description
     "Core I/O primitives for asynchronous I/O in Rust.")
    (license license:expat)))

(define-public rust-tokio-io-pool-0.1
  (package
    (name "rust-tokio-io-pool")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-io-pool" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "17lrjj7lcw13wchpbvr8cynmypd29h40clf9qxabh6fxva40kwm5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
       #:cargo-development-inputs
       (("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1))))
    (home-page "https://github.com/jonhoo/tokio-io-pool")
    (synopsis "Execute short, I/O-heavy futures efficiently")
    (description
     "Alternative tokio thread pool for executing short, I/O-heavy
futures efficiently")
    (license (list license:asl2.0 license:expat))))

(define-public rust-tokio-io-timeout-1
  (package
    (name "rust-tokio-io-timeout")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-io-timeout" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s9dlkzsn0yng98zdmkddjx11jwawkxk3pbi8laxwh72dc89zi4h"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/sfackler/tokio-io-timeout")
    (synopsis "Tokio wrappers which apply timeouts to IO operations")
    (description
     "This package provides Tokio wrappers which apply timeouts to IO
operations.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-macros-2
  (package
    (name "rust-tokio-macros")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lnpg14h1v3fh2jvnc8cz7cjf0m7z1xgkwfpcyy632g829imjgb9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--lib")
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-1))))
    (home-page "https://tokio.rs")
    (synopsis "Tokio's proc macros")
    (description "This package provides Tokio's proc macros.")
    (license license:expat)))

(define-public rust-tokio-macros-1
  (package
    (inherit rust-tokio-macros-2)
    (name "rust-tokio-macros")
    (version "1.8.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y3dphh8i4971wcfqxjhd662nain1i86rsf3y79mazr8vq7w0rnj"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib")
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1))))))

(define-public rust-tokio-macros-0.3
  (package
    (inherit rust-tokio-macros-1)
    (name "rust-tokio-macros")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dvd3gji7a0i1kgck2lwgbcbklk3qb1bsqgd2v9amj63kyjzzps6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-0.3))))))

(define-public rust-tokio-macros-0.2
  (package
    (inherit rust-tokio-macros-0.3)
    (name "rust-tokio-macros")
    (version "0.2.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ni60vnrf32r3wfhlahmnds1phx5d1xfbmyq9j0mz8kkzh5s0kg4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-0.2))))))

(define-public rust-tokio-metrics-0.3
  (package
    (name "rust-tokio-metrics")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-metrics" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04p1kf7sgcrs2n62331fm5yvv8scqv2x81qixdz8pjb23lj0kkpa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `tokio_metrics::RuntimeMonitor`
       #:cargo-inputs (("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-stream" ,rust-tokio-stream-0.1))
       #:cargo-development-inputs (("rust-axum" ,rust-axum-0.6)
                                   ("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-num-cpus" ,rust-num-cpus-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://tokio.rs")
    (synopsis "Runtime and task level metrics for Tokio applications")
    (description "Runtime and task level metrics for Tokio applications.")
    (license license:expat)))

(define-public rust-tokio-mock-task-0.1
  (package
    (name "rust-tokio-mock-task")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio-mock-task" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1))))
    (home-page  "https://github.com/carllerche/tokio-mock-task")
    (synopsis "Mock a Tokio task")
    (description "Mock a Tokio task.")
    (license license:expat)))

(define-public rust-tokio-mockstream-1
  (package
    (name "rust-tokio-mockstream")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-mockstream" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mg1i39cl8x32wxwbn74hlirks8a6f3g0gfzkb0n0zwbxwvc9gs1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1))
       #:cargo-development-inputs
       (("rust-bytes" ,rust-bytes-0.4))))
    (home-page "https://github.com/aatxe/tokio-mockstream")
    (synopsis "Fake stream for testing network applications backed by
buffers")
    (description "This package provides a fake stream for testing network
applications backed by buffers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-native-tls-0.3
  (package
    (name "rust-tokio-native-tls")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-native-tls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wkfg6zn85zckmv4im7mv20ca6b1vmlib5xwz9p7g19wjfmpdbmv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; These tests need network connectivity
         "--skip=self_signed"
         "--skip=expired"
         "--skip=wrong_host"
         "--skip=untrusted_root"
         "--skip=fetch_google")
       #:cargo-inputs
       (("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-schannel" ,rust-schannel-0.1)
        ("rust-security-framework" ,rust-security-framework-0.2)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-util" ,rust-tokio-util-0.6)
        ("rust-winapi" ,rust-winapi-0.3))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://tokio.rs")
    (synopsis "TLS/SSL streams for Tokio")
    (description
     "This package provides an implementation of TLS/SSL streams for Tokio
using native-tls giving an implementation of TLS for nonblocking I/O
streams.")
    (license license:expat)))

(define-public rust-tokio-native-tls-0.1
  (package
    (inherit rust-tokio-native-tls-0.3)
    (name "rust-tokio-native-tls")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-native-tls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sd0xmj7kwizybpsg8vh7a6sixj0bs4dzihzgmdf1a0rm69qaq6d"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-tokio" ,rust-tokio-0.2))))))

(define-public rust-tokio-openssl-0.6
  (package
    (name "rust-tokio-openssl")
    (version "0.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-openssl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12l7a01sid095zmdkcmjnds9hwfcyjn9539r3c6b5w89g3xrz3y0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test::google")
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://github.com/alexcrichton/tokio-openssl")
    (synopsis "SSL streams for Tokio backed by OpenSSL")
    (description
     "This package is an implementation of SSL streams for Tokio backed by
OpenSSL.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-openssl-0.4
  (package
    (inherit rust-tokio-openssl-0.6)
    (name "rust-tokio-openssl")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-openssl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "15751d47984ncvllagz35ldl10ifr8555wixvsg6k3i0yk2hhjrw"))))
    (arguments
     `(#:tests? #f                      ;require internet access
       #:cargo-inputs
       (("rust-openssl" ,rust-openssl-0.10)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-tokio" ,rust-tokio-0.2))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))))

(define-public rust-tokio-openssl-0.3
  (package
    (inherit rust-tokio-openssl-0.4)
    (name "rust-tokio-openssl")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-openssl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19zx58jz0vkxppa3pmqnq0b90mqsycikr5nrcy6i1bkhn53647bp"))))
    (arguments
     `(#:tests? #f                      ;require internet access
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-tokio-io" ,rust-tokio-io-0.1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-0.1))))))

(define-public rust-tokio-postgres-0.7
  (package
    (name "rust-tokio-postgres")
    (version "0.7.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio-postgres" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "12rb390i3af7zb0z2idhaf6l2m6snypwdiwjw84rmyz4qy1i6ard"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;require postgresql
       #:cargo-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-phf" ,rust-phf-0.8)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-postgres-protocol" ,rust-postgres-protocol-0.6)
        ("rust-postgres-types" ,rust-postgres-types-0.2)
        ("rust-socket2" ,rust-socket2-0.4)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-util" ,rust-tokio-util-0.6))
       #:cargo-development-inputs
       (("rust-bit-vec" ,rust-bit-vec-0.6)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-criterion" ,rust-criterion-0.3)
        ("rust-env-logger" ,rust-env-logger-0.8)
        ("rust-eui48" ,rust-eui48-0.4)
        ("rust-geo-types" ,rust-geo-types-0.7)
        ("rust-geo-types" ,rust-geo-types-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-time" ,rust-time-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-uuid" ,rust-uuid-0.8))))
    (home-page "https://github.com/sfackler/rust-postgres")
    (synopsis "Native, asynchronous PostgreSQL client")
    (description
     "This package provides a native, asynchronous PostgreSQL client implemented
in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-process-0.2
  (package
    (name "rust-tokio-process")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-process" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hvygspal1v62kamkjxqygzr8cwnakccziivbnzaw7537zs90b9q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
        ("rust-tokio-signal" ,rust-tokio-signal-0.2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-failure" ,rust-failure-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis
     "Asynchronous process management backed futures")
    (description
     "An implementation of an asynchronous process management backed
futures.")
    (license license:expat)))

(define-public rust-tokio-reactor-0.1
  (package
    (name "rust-tokio-reactor")
    (version "0.1.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-reactor" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0l8klnd41q55f3ialzz0lb7s5bfwa38nh86sa9vai2xsqh75kg09"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-parking-lot" ,rust-parking-lot-0.9)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-sync" ,rust-tokio-sync-0.1))
       #:cargo-development-inputs
       (("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-io-pool" ,rust-tokio-io-pool-0.1))))
    (home-page "https://tokio.rs")
    (synopsis
     "Event loop that drives Tokio I/O resources")
    (description
     "Event loop that drives Tokio I/O resources.")
    (license license:expat)))

(define-public rust-tokio-rustls-0.26
  (package
    (name "rust-tokio-rustls")
    (version "0.26.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m00czrmk8x7pdjnz10a3da3i1d0sdf9j9vfp5dnk5ss1q6w8yqc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f          ; Issue with the certificate test dates.
       #:cargo-inputs (("rust-rustls" ,rust-rustls-0.23)
                       ("rust-rustls-pki-types" ,rust-rustls-pki-types-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-argh" ,rust-argh-0.1)
                                   ("rust-futures-util" ,rust-futures-util-0.3)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-rustls-pemfile" ,rust-rustls-pemfile-2)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-webpki-roots" ,rust-webpki-roots-0.26))))
    (home-page "https://github.com/rustls/tokio-rustls")
    (synopsis "Asynchronous TLS/SSL streams for Tokio using Rustls")
    (description
     "This package provides asynchronous TLS/SSL streams for Tokio using
Rustls.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-rustls-0.25
  (package
    (inherit rust-tokio-rustls-0.26)
    (name "rust-tokio-rustls")
    (version "0.25.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "03w6d5aqqf084rmcmrsyq5grhydl53blaiqcl0i2yfnv187hqpkp"))))
    (arguments
     `(#:tests? #f          ; Issue with the certificate test dates.
       #:cargo-inputs (("rust-rustls" ,rust-rustls-0.22)
                       ("rust-rustls-pki-types" ,rust-rustls-pki-types-1)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-argh" ,rust-argh-0.1)
                                   ("rust-futures-util" ,rust-futures-util-0.3)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-rustls-pemfile" ,rust-rustls-pemfile-2)
                                   ("rust-rustls-webpki" ,rust-rustls-webpki-0.102)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-webpki-roots" ,rust-webpki-roots-0.26))))))

(define-public rust-tokio-rustls-0.24
  (package
    (inherit rust-tokio-rustls-0.25)
    (name "rust-tokio-rustls")
    (version "0.24.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10bhibg57mqir7xjhb2xmf24xgfpx6fzpyw720a4ih8a737jg0y2"))))
    (arguments
     `(#:tests? #f          ; Issue with the certificate test dates.
       #:cargo-inputs
       (("rust-rustls" ,rust-rustls-0.21)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-argh" ,rust-argh-0.1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
        ("rust-rustls-webpki" ,rust-rustls-webpki-0.100)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-webpki-roots" ,rust-webpki-roots-0.23))))))

(define-public rust-tokio-rustls-0.23
  (package
    (inherit rust-tokio-rustls-0.24)
    (name "rust-tokio-rustls")
    (version "0.23.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nfsmmi8l1lgpbfy6079d5i13984djzcxrdr9jc06ghi0cwyhgn4"))))
    (arguments
     `(#:tests? #f          ; Issue with the certificate test dates.
       #:cargo-inputs
       (("rust-rustls" ,rust-rustls-0.20)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-webpki" ,rust-webpki-0.22))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-webpki-roots" ,rust-webpki-roots-0.22))))))

(define-public rust-tokio-rustls-0.22
  (package
    (inherit rust-tokio-rustls-0.23)
    (name "rust-tokio-rustls")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dp1s2kai081f3fn9gjq92x2lw7lm7iqpcsl02cg2zg5fbg48s5w"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rustls" ,rust-rustls-0.19)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-webpki" ,rust-webpki-0.21))))))

(define-public rust-tokio-rustls-0.14
  (package
    (inherit rust-tokio-rustls-0.22)
    (name "rust-tokio-rustls")
    (version "0.14.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "16l8kx3j7i3jxq36qs3hnmys6cd2zqcixc1n0kf3kymwanr32a71"))))
    (arguments
     `(#:tests? #f          ; Issue with the certificate test dates.
       ;; These tests require network access.
       #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern")
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-rustls" ,rust-rustls-0.18)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-webpki" ,rust-webpki-0.21))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-webpki-roots" ,rust-webpki-roots-0.20))))))

(define-public rust-tokio-rustls-0.13
  (package
    (inherit rust-tokio-rustls-0.14)
    (name "rust-tokio-rustls")
    (version "0.13.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1d2iy01v5psvm0ygcflzjna7zwgwk36w36bfr6mqf1vpsah65jqm"))))
    (arguments
     `(#:tests? #f      ; Bundled test certificates expired
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-rustls" ,rust-rustls-0.17)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-webpki" ,rust-webpki-0.21))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-webpki-roots" ,rust-webpki-roots-0.19))))
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-rustls-0.12
  (package
    (inherit rust-tokio-rustls-0.13)
    (name "rust-tokio-rustls")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-rustls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xcpzwx53lj15a0mq9cfz9iwr1v7crrnnkbjh5vb6j8ran8xhs1h"))))
    (arguments
     `(#:tests? #f      ; Bundled test certificates expired
       ;; These tests require network access.
       #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern")
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-rustls" ,rust-rustls-0.16)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-webpki" ,rust-webpki-0.21))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-webpki-roots" ,rust-webpki-roots-0.18))))
    (license (list license:expat license:asl2.0))))

(define-public rust-tokio-rustls-0.9
  (package
    (inherit rust-tokio-rustls-0.12)
    (name "rust-tokio-rustls")
    (version "0.9.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio-rustls" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1jd63sl177sxacnksaxhazzmamwds98xk3niprh2qib75a1rk8cm"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Bundled test certificates expired
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-rustls" ,rust-rustls-0.15)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-webpki" ,rust-webpki-0.19))
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-tokio" ,rust-tokio-0.1))))))

(define-public rust-tokio-signal-0.2
  (package
    (name "rust-tokio-signal")
    (version "0.2.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-signal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04pz3awjxnh73g288n2mhl5n2ymqrfkkvfhw699i044gaip4rhyh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis "Asynchronous Unix signal handling backed futures")
    (description
     "An implementation of an asynchronous Unix signal handling backed
futures.")
    (license license:expat)))

(define-public rust-tokio-socks-0.5
  (package
    (name "rust-tokio-socks")
    (version "0.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-socks" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gq40sgggz21wfpshiq8pryh062vp7m36rrz3c8c2wj60aw70iqd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         ;; This will skip the various tests dependant on network
         ;; or on missing files.
         "--skip=auth"
         "--skip=user")
       #:cargo-inputs
       (("rust-either" ,rust-either-1)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs
       (("rust-futures-executor" ,rust-futures-executor-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-smol" ,rust-smol-2)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/sticnarf/tokio-socks")
    (synopsis "Asynchronous SOCKS proxy support for Rust")
    (description
     "This package provides asynchronous SOCKS proxy support for
Rust.")
    (license license:expat)))

(define-public rust-tokio-stream-0.1
  (package
    (name "rust-tokio-stream")
    (version "0.1.17")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-stream" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ix0770hfp4x5rh5bl7vsnr3d4iz4ms43i522xw70xaap9xqv9gc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-util" ,rust-tokio-util-0.7))
       #:cargo-development-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities to work with @code{Stream} and @code{tokio}")
    (description
     "This package provides utilities to work with @code{Stream} and
@code{tokio}.")
    (license license:expat)))

(define-public rust-tokio-sync-0.2
  (package
    (name "rust-tokio-sync")
    (version "0.2.0-alpha.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-sync" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1lirf9s9pibgv8cypqzlddy8q9bxfp4z29qfx83p83slhnvaw6jg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `tokio_test`
       #:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
        ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3)
        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3))))
    (home-page "https://tokio.rs")
    (synopsis "Synchronization utilities")
    (description "This package provides synchronization utilities.")
    (license license:expat)))

(define-public rust-tokio-sync-0.1
  (package
    (inherit rust-tokio-sync-0.2)
    (name "rust-tokio-sync")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-sync" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vkxz0y7qf9sshfpxvn506pvxy4vza8piavd8p64y5n85cam1zpd"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-fnv" ,rust-fnv-1)
        ("rust-futures" ,rust-futures-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-loom" ,rust-loom-0.1)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))))

(define-public rust-tokio-tcp-0.1
  (package
    (name "rust-tokio-tcp")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tcp" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "06a15vg8bcd33ng3h9ldzlq7wl4jsw0p9qpy7v22ls5yah3b250x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "TCP bindings for tokio")
    (description "TCP bindings for tokio.")
    (license license:expat)))

(define-public rust-tokio-test-0.4
  (package
    (name "rust-tokio-test")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qv3h6y0c87i22p3q6sqvq2a1y5lzim9abbzs4q6a5jymqkl6isk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-bytes" ,rust-bytes-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-stream" ,rust-tokio-stream-0.1))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://tokio.rs")
    (synopsis "Testing utilities for Tokio- and futures-based code")
    (description
     "This package provides testing utilities for Tokio- and
futures-based code.")
    (license license:expat)))

(define-public rust-tokio-test-0.3
  (package
    (inherit rust-tokio-test-0.4)
    (name "rust-tokio-test")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06nzdkjsxr16pbr5m80zm3vcr8dhcl9amjgb9l9vj4x72cmmmp3y"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-tokio" ,rust-tokio-0.3))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-0.3))))))

(define-public rust-tokio-test-0.2
  (package
    (inherit rust-tokio-test-0.3)
    (name "rust-tokio-test")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v81p2n853b1kzyla3dbfmnazirn6s3n8p3z8k20bmdn370lj07d"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-tokio" ,rust-tokio-0.2))))))

(define-public rust-tokio-threadpool-0.1
  (package
    (name "rust-tokio-threadpool")
    (version "0.1.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-threadpool" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12azq8jm71b7hdm72pxrgqm2879bn6b0fcdl1s7i2k3qh5jhnwnz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-num-cpus" ,rust-num-cpus-1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-threadpool" ,rust-threadpool-1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis
     "Task scheduler backed by a work-stealing thread pool")
    (description
     "This package provides a task scheduler backed by a work-stealing thread
pool.")
    (license license:expat)))

(define-public rust-tokio-timer-0.2
  (package
    (name "rust-tokio-timer")
    (version "0.2.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-timer" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "15pjjj6daks3sii8p24a509b0dapl2kyk740nwfgz59w64nly14k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.7)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis "Timer facilities for Tokio")
    (description "Timer facilities for Tokio.")
    (license license:expat)))

(define-public rust-tokio-tls-0.3
  (package
    (name "rust-tokio-tls")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0hv375949532p32d0w6bm2f6d3r0d00mcdzqjjqlzcmkszyg8w4s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ;require internet access
       #:cargo-inputs
       (("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-env-logger" ,rust-env-logger-0.6)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-openssl" ,rust-openssl-0.10)
        ("rust-schannel" ,rust-schannel-0.1)
        ("rust-security-framework" ,rust-security-framework-0.2)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio-util" ,rust-tokio-util-0.3)
        ("rust-winapi" ,rust-winapi-0.3))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list openssl))
    (home-page "https://tokio.rs")
    (synopsis "TLS/SSL streams for Tokio")
    (description "An implementation of TLS/SSL streams for Tokio giving an
implementation of TLS for nonblocking I/O streams.")
    (license license:expat)))

(define-public rust-tokio-tls-0.2
  (package
    (inherit rust-tokio-tls-0.3)
    (name "rust-tokio-tls")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tls" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z0gmvv7jrpan6y42p5f5wd48rqcd96igp592w1c5cr573c8qjrm"))))
    (arguments
     `(#:tests? #f                      ;require internet access
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-tokio-io" ,rust-tokio-io-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.5)
        ("rust-security-framework" ,rust-security-framework-0.2)
        ("rust-tokio" ,rust-tokio-0.1))))))

(define-public rust-tokio-tungstenite-0.24
  (package
    (name "rust-tokio-tungstenite")
    (version "0.24.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nfw1i6yy120a14h1xagd4f31k3g1mz4rdxpvgh77jcd4i7ggigd"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs (list rust-futures-util-0.3
                                rust-log-0.4
                                rust-native-tls-0.2
                                rust-rustls-0.23
                                rust-rustls-native-certs-0.8
                                rust-rustls-pki-types-1
                                rust-tokio-1
                                rust-tokio-native-tls-0.3
                                rust-tokio-rustls-0.26
                                rust-tungstenite-0.24
                                rust-webpki-roots-0.26)
           #:cargo-development-inputs (list rust-env-logger-0.10
                                            rust-futures-channel-0.3
                                            rust-http-body-util-0.1
                                            rust-hyper-1
                                            rust-hyper-util-0.1
                                            rust-tokio-1)))
    (home-page "https://github.com/snapview/tokio-tungstenite")
    (synopsis "Tokio binding for Tungstenite")
    (description
     "This package provides Tokio binding for Tungstenite, the lightweight
stream-based @code{WebSocket} implementation.")
    (license license:expat)))

(define-public rust-tokio-tungstenite-0.23
  (package
    (inherit rust-tokio-tungstenite-0.24)
    (name "rust-tokio-tungstenite")
    (version "0.23.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1k9ijv208hsps5qhq2ii2cl8lwik7lpasssfy6m9016irr09b666"))))
    (arguments
     (list #:cargo-inputs
           (list rust-futures-util-0.3
                 rust-log-0.4
                 rust-native-tls-0.2
                 rust-rustls-0.23
                 rust-rustls-native-certs-0.7
                 rust-rustls-pki-types-1
                 rust-tokio-1
                 rust-tokio-native-tls-0.3
                 rust-tokio-rustls-0.26
                 rust-tungstenite-0.23
                 rust-webpki-roots-0.26)
           #:cargo-development-inputs
           (list rust-env-logger-0.10
                 rust-futures-channel-0.3
                 rust-http-body-util-0.1
                 rust-hyper-1
                 rust-hyper-util-0.1
                 rust-tokio-1)))))

(define-public rust-tokio-tungstenite-0.21
  (package
    (inherit rust-tokio-tungstenite-0.24)
    (name "rust-tokio-tungstenite")
    (version "0.21.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f5wj0crsx74rlll97lhw0wk6y12nhdnqvmnjx002hjn08fmcfy8"))))
    (arguments
     `(#:cargo-inputs (("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-native-tls" ,rust-native-tls-0.2)
                       ("rust-rustls" ,rust-rustls-0.22)
                       ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.7)
                       ("rust-rustls-pki-types" ,rust-rustls-pki-types-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
                       ("rust-tokio-rustls" ,rust-tokio-rustls-0.25)
                       ("rust-tungstenite" ,rust-tungstenite-0.21)
                       ("rust-webpki-roots" ,rust-webpki-roots-0.26))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-futures-channel" ,rust-futures-channel-0.3)
                                   ("rust-hyper" ,rust-hyper-0.14)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-url" ,rust-url-2))))))

(define-public rust-tokio-tungstenite-0.20
  (package
    (inherit rust-tokio-tungstenite-0.21)
    (name "rust-tokio-tungstenite")
    (version "0.20.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v1v24l27hxi5hlchs7hfd5rgzi167x0ygbw220nvq0w5b5msb91"))))
    (arguments
     `(#:cargo-inputs (("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-native-tls" ,rust-native-tls-0.2)
                       ("rust-rustls" ,rust-rustls-0.21)
                       ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
                       ("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
                       ("rust-tungstenite" ,rust-tungstenite-0.20)
                       ("rust-webpki-roots" ,rust-webpki-roots-0.25))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-futures-channel" ,rust-futures-channel-0.3)
                                   ("rust-hyper" ,rust-hyper-0.14)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-url" ,rust-url-2))))))

(define-public rust-tokio-tungstenite-0.19
  (package
    (inherit rust-tokio-tungstenite-0.20)
    (name "rust-tokio-tungstenite")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b5iqjsprll88912jqb36xbjcflmgl907w3lgi14634sdv4rll7c"))))
    (arguments
     `(#:cargo-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-rustls" ,rust-rustls-0.21)
        ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
        ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
        ("rust-tungstenite" ,rust-tungstenite-0.19)
        ("rust-webpki-roots" ,rust-webpki-roots-0.23))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.10)
        ("rust-futures-channel", rust-futures-channel-0.3)
        ("rust-hyper" ,rust-hyper-0.14)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-url" ,rust-url-2))))))

(define-public rust-tokio-tungstenite-0.16
  (package
    (inherit rust-tokio-tungstenite-0.21)
    (name "rust-tokio-tungstenite")
    (version "0.16.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wnadcv9q2yi7bjkdp6z0g4rk7kbdblsv613fpgjrhgwdbgkj2z8"))))
    (arguments
     `(#:cargo-inputs (("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-native-tls" ,rust-native-tls-0.2)
                       ("rust-rustls" ,rust-rustls-0.20)
                       ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
                       ("rust-tokio-rustls" ,rust-tokio-rustls-0.23)
                       ("rust-tungstenite" ,rust-tungstenite-0.16)
                       ("rust-webpki" ,rust-webpki-0.22)
                       ("rust-webpki-roots" ,rust-webpki-roots-0.22))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.7)
                                   ("rust-futures-channel" ,rust-futures-channel-0.3)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-url" ,rust-url-2))))))

(define-public rust-tokio-tungstenite-0.11
  (package
    (name "rust-tokio-tungstenite")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-tungstenite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "033jypbksw394h75g5vxk3wafwqr9syrrq6a9mp2iji6sj58g7kd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-pin-project" ,rust-pin-project-0.4)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.1)
        ("rust-tungstenite" ,rust-tungstenite-0.11))))
    (home-page "https://github.com/snapview/tokio-tungstenite")
    (synopsis "Tokio binding for Tungstenite")
    (description
     "This package provides Tokio binding for Tungstenite, the lightweight
stream-based WebSocket implementation.")
    (license license:expat)))

(define-public rust-tokio-udp-0.1
  (package
    (name "rust-tokio-udp")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-udp" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "14kfj35s465czcspayacnzlxrazfvxzhhggq1rqlljhgp1sqa9k6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6))))
    (home-page "https://tokio.rs")
    (synopsis "UDP bindings for tokio")
    (description "UDP bindings for tokio.")
    (license license:expat)))

(define-public rust-tokio-uds-0.2
  (package
    (name "rust-tokio-uds")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-uds" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0i94kxma6l7iy5hd5k7nvn7v9pnyw0s54bm9mjs0lap1l0xzqzq3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-iovec" ,rust-iovec-0.1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-mio" ,rust-mio-0.6)
        ("rust-mio-uds" ,rust-mio-uds-0.6)
        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
        ("rust-tokio-io" ,rust-tokio-io-0.1)
        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-0.1))))
    (home-page "https://github.com/tokio-rs/tokio")
    (synopsis "Unix Domain sockets for Tokio")
    (description "Unix Domain sockets for Tokio.")
    (license license:expat)))

(define-public rust-tokio-uring-0.5
  (package
    (name "rust-tokio-uring")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-uring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rvrs9nwm0vyi3x4zak8v6qqr3h6sn51c457ci3a711mw7iq513l"))))
    (build-system cargo-build-system)
    (arguments
     (list #:tests? #f  ; IO Safety violation: owned file descriptor already closed
           #:cargo-inputs (list rust-bytes-1
                                rust-futures-util-0.3
                                rust-io-uring-0.6
                                rust-libc-0.2
                                rust-slab-0.4
                                rust-socket2-0.4
                                rust-tokio-1)
           #:cargo-development-inputs (list rust-criterion-0.4
                                            rust-iai-0.1
                                            rust-nix-0.26
                                            rust-tempfile-3
                                            rust-tokio-1
                                            rust-tokio-test-0.4)))
    (home-page "https://tokio.rs")
    (synopsis "Tokio asynchronous runtime io-uring support")
    (description
     "This package provides io-uring support for the Tokio asynchronous runtime.")
    (license license:expat)))

(define-public rust-tokio-uring-0.4
  (package
    (inherit rust-tokio-uring-0.5)
    (name "rust-tokio-uring")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-uring" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vsmw482n01lj33dr7rnjxmdcdhq5yys6rbwahx0n0vy2fxh4phd"))))
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--" "--skip=vectored_write")
       #:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-io-uring" ,rust-io-uring-0.5)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-scoped-tls" ,rust-scoped-tls-1)
                       ("rust-slab" ,rust-slab-0.4)
                       ("rust-socket2" ,rust-socket2-0.4)
                       ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
                                   ("rust-futures" ,rust-futures-0.3)
                                   ("rust-iai" ,rust-iai-0.1)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-tokio-test" ,rust-tokio-test-0.4))))))

(define-public rust-tokio-util-0.7
  (package
    (name "rust-tokio-util")
    (version "0.7.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "058y6x4mf0fsqji9rfyb77qbfyc50y4pk2spqgj6xsyr693z66al"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `tokio_util::codec`
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-async-stream" ,rust-async-stream-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-test" ,rust-futures-test-0.3)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-stream" ,rust-tokio-stream-0.1)
        ("rust-tokio-test" ,rust-tokio-test-0.4))))
    (home-page "https://tokio.rs")
    (synopsis "Additional utilities for working with Tokio")
    (description
     "This package provides additional utilities for working with Tokio.")
    (license license:expat)))

(define-public rust-tokio-util-0.6
  (package
    (inherit rust-tokio-util-0.7)
    (name "rust-tokio-util")
    (version "0.6.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0agvfvvgh225vgb2z9w83lwqcqsy3pvkcbvnaz7m7rj6dg6facgc"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-1)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-tokio-util-0.5
  (package
    (inherit rust-tokio-util-0.6)
    (name "rust-tokio-util")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18qh9w84zfgz2r0k9wryzr9sgj92gzl25ibcd55jg5cf0wmxwdri"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.6)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio" ,rust-tokio-0.3))))))

(define-public rust-tokio-util-0.4
  (package
    (inherit rust-tokio-util-0.6)
    (name "rust-tokio-util")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m4pdg2gciagc9c5psg4lm51mcg69xwxr1yjdr0s0nv6yjckcy94"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
        ("rust-slab" ,rust-slab-0.4)
        ("rust-tokio" ,rust-tokio-0.3))))))

(define-public rust-tokio-util-0.3
  (package
    (inherit rust-tokio-util-0.6)
    (name "rust-tokio-util")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "16b48dl6sbc9x944jgjvsd65ab1w2c2qcziddbrbwv1b3y4l50my"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-io" ,rust-futures-io-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio-test" ,rust-tokio-test-0.2))))))

(define-public rust-tokio-util-0.2
  (package
    (inherit rust-tokio-util-0.3)
    (name "rust-tokio-util")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-util" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c39s4y0kvzkyarn1f9s8khqyajiqn7m4cjsa208f87ch88sa7ap"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.5)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
        ("rust-tokio" ,rust-tokio-0.2))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tokio-test" ,rust-tokio-test-0.2))))))

(define-public rust-tokio-vsock-0.4
  (package
    (name "rust-tokio-vsock")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tokio-vsock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p88jaypkjicj5rfkj7hmx1jcs2v7cbgyzil084zk4dwn4amr8aj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=test_vsock_server")
       #:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                       ("rust-futures" ,rust-futures-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tonic" ,rust-tonic-0.8)
                       ("rust-vsock" ,rust-vsock-0.3))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                   ("rust-sha2" ,rust-sha2-0.9)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-vsock/tokio-vsock")
    (synopsis "Asynchronous Virtio socket support for Rust")
    (description
     "This package provides asynchronous Virtio socket support for Rust.")
    (license license:asl2.0)))

(define-public rust-tokio-vsock-0.3
  (package
    (inherit rust-tokio-vsock-0.4)
    (name "rust-tokio-vsock")
    (version "0.3.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "tokio-vsock" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1g1fhsibfdgsqayjr9gxkd5npgxh8rj36pcb9pi1c7ci51l5acwv"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" "--skip=test_vsock_server")
       #:cargo-inputs
       (("rust-bytes" ,rust-bytes-0.4)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tonic" ,rust-tonic-0.6)
        ("rust-vsock" ,rust-vsock-0.2))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-sha2" ,rust-sha2-0.9)
        ("rust-tokio" ,rust-tokio-1))))))

(define-public rust-toml-0.8
  (package
    (name "rust-toml")
    (version "0.8.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "toml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0knjd3mkxyb87qcs2dark3qkpadidap3frqfj5nqvhpxwfc1zvd1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-spanned" ,rust-serde-spanned-0.6)
                       ("rust-toml-datetime" ,rust-toml-datetime-0.6)
                       ("rust-toml-edit" ,rust-toml-edit-0.22))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.6)
        ("rust-toml-test-data" ,rust-toml-test-data-1)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))
    (home-page "https://github.com/toml-rs/toml")
    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
    (description
     "This package provides a native Rust encoder and decoder of TOML-formatted
files and streams.  Provides implementations of the standard
Serialize/Deserialize traits for TOML data to facilitate deserializing and
serializing Rust structures.")
    (license (list license:expat license:asl2.0))))

(define-public rust-toml-0.7
  (package
    (inherit rust-toml-0.8)
    (name "rust-toml")
    (version "0.7.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "toml" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0mr2dpmzw4ndvzpnnli2dprcx61pdk62fq4mzw0b6zb27ffycyfx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-spanned" ,rust-serde-spanned-0.6)
        ("rust-toml-datetime" ,rust-toml-datetime-0.6)
        ("rust-toml-edit" ,rust-toml-edit-0.19))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-0.6
  (package
    (inherit rust-toml-0.7)
    (name "rust-toml")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "05zjz69wjymp9yrgccg5vhvxpf855rgn23vl1yvri4nwwj8difag"))))
    (arguments
     `(#:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-spanned" ,rust-serde-spanned-0.6)
        ("rust-toml-datetime" ,rust-toml-datetime-0.5)
        ("rust-toml-edit" ,rust-toml-edit-0.18))
        #:cargo-development-inputs
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1)
         ("rust-snapbox" ,rust-snapbox-0.4)
         ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-0.5
  (package
    (inherit rust-toml-0.6)
    (name "rust-toml")
    (version "0.5.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0d2266nx8b3n22c7k24x4428z6di8n83a9n466jm7a2hipfz1xzl"))))
    (arguments
     `(#:cargo-inputs
        (("rust-indexmap" ,rust-indexmap-1)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-toml-0.4
  (package
    (inherit rust-toml-0.5)
    (name "rust-toml")
    (version "0.4.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "07qilkzinn8z13vq2sss65n2lza7wrmqpvkbclw919m3f7y691km"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-toml-datetime-0.6
  (package
    (name "rust-toml-datetime")
    (version "0.6.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "toml_datetime" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0hgv7v9g35d7y9r2afic58jvlwnf73vgd1mz2k8gihlgrf73bmqd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/toml-rs/toml")
    (synopsis "TOML-compatible datetime type")
    (description
     "This package provides a TOML-compatible datetime type for Rust.")
    ;; The user can choose either license.
    (license (list license:expat license:asl2.0))))

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

(define-public rust-toml-edit-0.22
  (package
    (name "rust-toml-edit")
    (version "0.22.22")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "toml_edit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xf7sxfzmnc45f75x302qrn5aph52vc8w226v59yhrm211i8vr2a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-kstring" ,rust-kstring-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-spanned" ,rust-serde-spanned-0.6)
                       ("rust-toml-datetime" ,rust-toml-datetime-0.6)
                       ("rust-winnow" ,rust-winnow-0.6))
       #:cargo-development-inputs
       (("rust-libtest-mimic" ,rust-libtest-mimic-0.7)
        ("rust-proptest" ,rust-proptest-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.6)
        ("rust-toml-test-data" ,rust-toml-test-data-1)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))
    (home-page "https://github.com/toml-rs/toml")
    (synopsis "Yet another format-preserving TOML parser")
    (description "This package provides yet another format-preserving TOML
parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-toml-edit-0.21
  (package
    (inherit rust-toml-edit-0.22)
    (name "rust-toml-edit")
    (version "0.21.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "toml_edit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qch02syrd9c8krcimfl72gyjz11fmjssh03hrg41dbqgzyk91ba"))))
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-kstring" ,rust-kstring-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-spanned" ,rust-serde-spanned-0.6)
                       ("rust-toml-datetime" ,rust-toml-datetime-0.6)
                       ("rust-winnow" ,rust-winnow-0.5))
       #:cargo-development-inputs
       (("rust-libtest-mimic" ,rust-libtest-mimic-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-test-data" ,rust-toml-test-data-1)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-edit-0.20
  (package
    (inherit rust-toml-edit-0.21)
    (name "rust-toml-edit")
    (version "0.20.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "toml_edit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10bdyrl1yj5jxkiqfa2fyx9inlzlm7s8nf1jnysp4k6qwky2gx3h"))))
    (arguments
     `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-kstring" ,rust-kstring-2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-spanned" ,rust-serde-spanned-0.6)
                       ("rust-toml-datetime" ,rust-toml-datetime-0.6)
                       ("rust-winnow" ,rust-winnow-0.5))
       #:cargo-development-inputs
       (("rust-libtest-mimic" ,rust-libtest-mimic-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-test-data" ,rust-toml-test-data-1)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-edit-0.19
  (package
    (inherit rust-toml-edit-0.20)
    (name "rust-toml-edit")
    (version "0.19.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml_edit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "08bl7rp5g6jwmfpad9s8jpw8wjrciadpnbaswgywpr9hv9qbfnqv"))))
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-2)
        ("rust-kstring" ,rust-kstring-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-spanned" ,rust-serde-spanned-0.6)
        ("rust-toml-datetime" ,rust-toml-datetime-0.6)
        ("rust-winnow" ,rust-winnow-0.5))
       #:cargo-development-inputs
       (("rust-libtest-mimic" ,rust-libtest-mimic-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-test-data" ,rust-toml-test-data-1)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-edit-0.18
  (package
    (inherit rust-toml-edit-0.19)
    (name "rust-toml-edit")
    (version "0.18.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml_edit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0ax1bwzd4xclpids3b69nd1nxqi3x3qa4ymz51jbrp6hsy6rvian"))))
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-1)
        ("rust-kstring" ,rust-kstring-2)
        ("rust-nom8" ,rust-nom8-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-spanned" ,rust-serde-spanned-0.6)
        ("rust-toml-datetime" ,rust-toml-datetime-0.5))
       #:cargo-development-inputs
       (("rust-libtest-mimic" ,rust-libtest-mimic-0.6)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-test-data" ,rust-toml-test-data-1)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-edit-0.15
  (package
    (inherit rust-toml-edit-0.19)
    (name "rust-toml-edit")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml_edit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0iinkhiyk4xqj2anfn6dryp1lyyamsrimlv95xk7x5l512kinm5i"))))
    (arguments
     `(#:tests? #f              ; decoder_compliance tests fail
       #:cargo-inputs
       (("rust-combine" ,rust-combine-4)
        ("rust-indexmap" ,rust-indexmap-1)
        ("rust-itertools" ,rust-itertools-0.10)
        ("rust-kstring" ,rust-kstring-2)
        ("rust-serde" ,rust-serde-1)
        ("rust-toml-datetime" ,rust-toml-datetime-0.5))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-toml-test-harness" ,rust-toml-test-harness-0.4))))))

(define-public rust-toml-edit-0.14
  (package
    (inherit rust-toml-edit-0.19)
    (name "rust-toml-edit")
    (version "0.14.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "toml_edit" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "07xmklks4ldf8r9ban47zvq2s0csq43ja0dcjs43yi7j8ip2axjk"))))
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-combine" ,rust-combine-4)
         ("rust-indexmap" ,rust-indexmap-1)
         ("rust-itertools" ,rust-itertools-0.10)
         ("rust-kstring" ,rust-kstring-2)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-pretty-assertions" ,rust-pretty-assertions-1)
         ("rust-snapbox" ,rust-snapbox-0.2))))))

(define-public rust-toml-span-0.3
  (package
    (name "rust-toml-span")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "toml-span" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01n13cw88rrph0n01hab9v4wzbxplf0w0xw038yz76rvkvj1n3nf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://github.com/EmbarkStudios/toml-span")
    (synopsis "Toml parser and deserializer that preserves span information")
    (description
     "This package provides a toml parser and deserializer that preserves
span information.")
    (license (list license:expat license:asl2.0))))

(define-public rust-toml-test-1
  (package
    (name "rust-toml-test")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "toml-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1adb1yqg5nph2k9x6rz3y7zdfvjg6yxvc6a00i0gnkqmx60ndqpr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-ryu" ,rust-ryu-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1))
       #:cargo-development-inputs (("rust-toml-test-data" ,rust-toml-test-data-1))))
    (home-page "https://github.com/epage/toml-test-rs")
    (synopsis "Verify Rust TOML parsers")
    (description "This package can be used to verify Rust TOML parsers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-toml-test-data-1
  (package
    (name "rust-toml-test-data")
    (version "1.12.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "toml-test-data" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "06ps59h02w3g6z6741scv2r2jb7ryhlzga1qwynh6wqhcbwnpfqk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-include-dir" ,rust-include-dir-0.7))))
    (home-page "https://github.com/epage/toml-test-rs")
    (synopsis "TOML test cases")
    (description "This package provides TOML test cases for the toml-test crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-toml-test-harness-0.4
  (package
    (name "rust-toml-test-harness")
    (version "0.4.10")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "toml-test-harness" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1cpj0bcvddvk9vd84xkrk3lyibacxgi4dcxgn4klfp9jp5qm5mha"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ignore" ,rust-ignore-0.4)
        ("rust-libtest-mimic" ,rust-libtest-mimic-0.7)
        ("rust-toml-test" ,rust-toml-test-1)
        ("rust-toml-test-data" ,rust-toml-test-data-1))))
    (home-page "https://github.com/epage/toml-test-rs")
    (synopsis "Cargo test harness for verifying TOML parsers")
    (description "Cargo test harness for verifying TOML parsers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-topology-traits-0.1
  (package
    (name "rust-topology-traits")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "topology-traits" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cj03w5h0yp3mfrpry5llyj5clmmj8q6xz9vbl8k07jk52sdmj60"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/NicolasKlenert/topology-traits")
    (synopsis "Topological traits for generic mathematics in Rust")
    (description
     "This package provides topological traits for generic mathematics in
Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-0.1
  (package
    (name "rust-tracing")
    (version "0.1.41")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l5xrzyjfyayrwhvhldfnwdyligi1mpqm8mzbi2m1d6y6p2hlkkq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `tracing_mock`
       #:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
        ("rust-tracing-attributes" ,rust-tracing-attributes-0.1)
        ("rust-tracing-core" ,rust-tracing-core-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://tokio.rs")
    (synopsis "Application-level tracing for Rust")
    (description "@code{rust-tracing} is a framework for instrumenting Rust
programs to collect structured, event-based diagnostic information.")
    (license license:expat)))

(define-public rust-tracing-appender-0.2
  (package
    (name "rust-tracing-appender")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-appender" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kq69qyjvb4dxch5c9zgii6cqhy9nkk81z0r4pj3y2nc537fhrim"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-parking-lot" ,rust-parking-lot-0.12)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-tempfile" ,rust-tempfile-3)
                                   ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities for file appenders and making non-blocking writers")
    (description
     "This package provides utilities for file appenders and making non-blocking
writers.")
    (license license:expat)))

(define-public rust-tracing-attributes-0.1
  (package
    (name "rust-tracing-attributes")
    (version "0.1.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-attributes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0v92l9cxs42rdm4m5hsa8z7ln1xsiw1zc2iil8c6k7lzq0jf2nir"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `tracing_mock`
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-tokio-test" ,rust-tokio-test-0.4)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://tokio.rs")
    (synopsis "Automatically instrument functions")
    (description "This package provides procedural macro attributes for
automatically instrumenting functions.")
    (license license:expat)))

(define-public rust-tracing-chrome-0.7
  (package
    (name "rust-tracing-chrome")
    (version "0.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-chrome" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0977zy46gpawva2laffigxr2pph8v0xa51kfp6ghlifnsn7762mz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde-json" ,rust-serde-json-1)
                       ("rust-tracing-core" ,rust-tracing-core-0.1)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://github.com/thoren-d/tracing-chrome")
    (synopsis "Layer for tracing-subscriber that outputs Chrome-style traces")
    (description
     "This package provides a Layer for tracing-subscriber that outputs
Chrome-style traces.")
    (license license:expat)))

(define-public rust-tracing-core-0.1
  (package
    (name "rust-tracing-core")
    (version "0.1.33")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "170gc7cxyjx824r9kr17zc9gvzx89ypqfdzq259pr56gg5bwjwp6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-valuable" ,rust-valuable-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Core primitives for application-level tracing")
    (description
     "This package provides core primitives for application-level tracing.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-tracing-error-0.2
  (package
    (name "rust-tracing-error")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-error" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nzk6qcvhmxxy3lw1nj71anmfmvxlnk78l5lym1389vs1l1825cb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=backtrace::SpanTrace::capture")
       #:cargo-inputs (("rust-tracing" ,rust-tracing-0.1)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities for enriching errors with `tracing`")
    (description "This package provides utilities for enriching errors with
@code{tracing}.")
    (license license:expat)))

(define-public rust-tracing-error-0.1
  (package
    (inherit rust-tracing-error-0.2)
    (name "rust-tracing-error")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-error" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "092y3357af6058mdw7nmr7sysqdka8b4cyaqz940fl2a7nwc1mxl"))))
    (arguments
     `(#:cargo-inputs (("rust-tracing" ,rust-tracing-0.1)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2))))))

(define-public rust-tracing-forest-0.1
  (package
    (name "rust-tracing-forest")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-forest" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bsr88f4shanjr86ajrx9p8dmsfxxmr24a8llhxixpadn5fq6h7f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `uuid`
       #:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
                       ("rust-uuid" ,rust-uuid-1))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/QnnOkabayashi/tracing-forest")
    (synopsis
     "Preserving contextual coherence among trace data from concurrent tasks")
    (description
     "This package preserves contextual coherence among trace data from
concurrent tasks.")
    (license license:expat)))

(define-public rust-tracing-futures-0.2
  (package
    (name "rust-tracing-futures")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-futures" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wimg0iwa2ldq7xv98lvivvf3q9ykfminig8r1bs0ig22np9bl4p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-futures-task" ,rust-futures-task-0.3)
        ("rust-pin-project" ,rust-pin-project-1)
        ("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
        ("rust-tracing" ,rust-tracing-0.1))
       #:cargo-development-inputs
       (("rust-tokio" ,rust-tokio-0.1)
        ("rust-tokio-test" ,rust-tokio-test-0.2)
        ("rust-tracing-core" ,rust-tracing-core-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Utilities for instrumenting @code{futures} with @code{tracing}")
    (description "This package provides utilities for instrumenting
@code{futures} with @code{tracing}.")
    (license license:expat)))

(define-public rust-tracing-log-0.2
  (package
    (name "rust-tracing-log")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-log" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hs77z026k730ij1a9dhahzrl0s073gfa2hm5p0fbl0b80gmz1gf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.7)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-lru" ,rust-lru-0.7)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-tracing-core" ,rust-tracing-core-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-tracing" ,rust-tracing-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Provides compatibility between the tracing and the log crate")
    (description
     "Tracing is a framework for instrumenting Rust programs with
context-aware, structured, event-based diagnostic information.  This crate
provides compatibility layers for using tracing alongside the logging facade
provided by the log crate.

This crate provides:

@itemize
@item @code{AsTrace} and @code{AsLog} traits for converting between tracing
and log types.
@item @code{LogTracer}, a @code{log::Log} implementation that consumes
@code{log::Records} and outputs them as @code{tracing::Events}.
@item An @code{env_logger} module, with helpers for using the env_logger crate
with tracing (optional, enabled by the env-logger feature).
@end itemize")
    (license license:expat)))

(define-public rust-tracing-log-0.1
  (package
    (inherit rust-tracing-log-0.2)
    (name "rust-tracing-log")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-log" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wmxawaz94sk52i4vs2wg5d5clyks972rqskrvc93rxl14ki2lgp"))))
    (arguments
     `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.7)
                       ("rust-env-logger" ,rust-env-logger-0.8)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-lru" ,rust-lru-0.7)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-tracing-core" ,rust-tracing-core-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-tracing" ,rust-tracing-0.1))))))

(define-public rust-tracing-serde-0.2
  (package
    (name "rust-tracing-serde")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wbgzi364vzfswfkvy48a3p0z5xmv98sx342r57sil70ggmiljvh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-tracing-core" ,rust-tracing-core-0.1)
                       ("rust-valuable" ,rust-valuable-0.1)
                       ("rust-valuable-serde" ,rust-valuable-serde-0.1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://tokio.rs")
    (synopsis "Compatibility layer for serializing trace data with @code{serde}")
    (description
     "This package provides a compatibility layer for serializing trace data
with @code{serde}.")
    (license license:expat)))

(define-public rust-tracing-serde-0.1
  (package
    (inherit rust-tracing-serde-0.2)
    (name "rust-tracing-serde")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-serde" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qfr0va69djvxqvjrx4vqq7p6myy414lx4w1f6amcn0hfwqj2sxw"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-tracing-core" ,rust-tracing-core-0.1)
        ("rust-valuable" ,rust-valuable-0.1)
        ("rust-valuable-serde" ,rust-valuable-serde-0.1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-tracing-subscriber-0.3
  (package
    (name "rust-tracing-subscriber")
    (version "0.3.19")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-subscriber" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0220rignck8072i89jjsh140vmh14ydwpdwnifyaf3xcnpn9s678"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f     ; use of undeclared crate or module `tracing_mock`
       #:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-matchers" ,rust-matchers-0.1)
        ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.46)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sharded-slab" ,rust-sharded-slab-0.1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thread-local" ,rust-thread-local-1)
        ("rust-time" ,rust-time-0.3)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-core" ,rust-tracing-core-0.1)
        ("rust-tracing-log" ,rust-tracing-log-0.2)
        ("rust-tracing-serde" ,rust-tracing-serde-0.2)
        ("rust-valuable" ,rust-valuable-0.1)
        ("rust-valuable-serde" ,rust-valuable-serde-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-time" ,rust-time-0.3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-futures" ,rust-tracing-futures-0.2)
        ("rust-tracing-log" ,rust-tracing-log-0.2))))
    (home-page "https://tokio.rs")
    (synopsis "Implement and compose tracing subscribers")
    (description
     "This package provides utilities for implementing and composing tracing
subscribers.

Tracing is a framework for instrumenting Rust programs to collect scoped,
structured, and async-aware diagnostics.  The Subscriber trait represents the
functionality necessary to collect this trace data.  This crate contains tools
for composing subscribers out of smaller units of behaviour, and
batteries-included implementations of common subscriber functionality.

Tracing-subscriber is intended for use by both Subscriber authors and
application authors using tracing to instrument their applications.")
    (license license:expat)))

(define-public rust-tracing-subscriber-0.2
  (package
    (inherit rust-tracing-subscriber-0.3)
    (name "rust-tracing-subscriber")
    (version "0.2.25")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-subscriber" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wcc3sqckjsxaahd9jnc4cwa13m623lhk8fg8way9hn3k6m2w38f"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #false                  ;missing test files
       #:cargo-inputs
       (("rust-ansi-term" ,rust-ansi-term-0.12)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-matchers" ,rust-matchers-0.0.1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-regex" ,rust-regex-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-sharded-slab" ,rust-sharded-slab-0.1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thread-local" ,rust-thread-local-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-core" ,rust-tracing-core-0.1)
        ("rust-tracing-log" ,rust-tracing-log-0.1)
        ("rust-tracing-serde" ,rust-tracing-serde-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-futures" ,rust-tracing-futures-0.2)
        ("rust-tracing-log" ,rust-tracing-log-0.1))))))

(define-public rust-tracing-tracy-0.4
  (package
    (name "rust-tracing-tracy")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-tracy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02j8rrxkk9js8bvjsxlcadi30fm0vcbk7hrwjww2m119izha0s5n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-tracing-core" ,rust-tracing-core-0.1)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.2)
                       ("rust-tracy-client" ,rust-tracy-client-0.10))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-tokio" ,rust-tokio-0.2)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-tracing-attributes" ,rust-tracing-attributes-0.1)
        ("rust-tracing-futures" ,rust-tracing-futures-0.2))))
    (home-page "https://github.com/nagisa/rust_tracy_client")
    (synopsis "Inspect tracing-enabled Rust applications with Tracy")
    (description "Inspect tracing-enabled Rust applications with Tracy.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-tree-0.2
  (package
    (name "rust-tracing-tree")
    (version "0.2.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-tree" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0b8bic1gnpy65my99xkk2rfhky3r5cqcd31hiaq924qvnk5aviif"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included
       #:cargo-inputs
       (("rust-nu-ansi-term" ,rust-nu-ansi-term-0.46)
        ("rust-time" ,rust-time-0.3)
        ("rust-tracing-core" ,rust-tracing-core-0.1)
        ("rust-tracing-log" ,rust-tracing-log-0.1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
       #:cargo-development-inputs
       (("rust-futures" ,rust-futures-0.3)
        ("rust-log" ,rust-log-0.4)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-ui-test" ,rust-ui-test-0.7))))
    (home-page "https://github.com/davidbarsky/tracing-tree")
    (synopsis "Tracing Layer which prints a tree of spans and events")
    (description
     "This package provides a Tracing Layer which prints a tree of spans and
events.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracing-web-0.1
  (package
    (name "rust-tracing-web")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracing-web" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z7yvr0v38yacqhqb1hbawy25jhgymd7izgbj66izmgbzr0s3rmr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-tracing-core" ,rust-tracing-core-0.1)
                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://github.com/WorldSEnder/tracing-web")
    (synopsis "Tracing compatible subscriber layer for web platforms")
    (description
     "This package provides a tracing compatible subscriber layer for web platforms.")
    (license (list license:expat license:asl2.0))))

(define-public rust-trackable-1
  (package
    (name "rust-trackable")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trackable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1c5xqp2k9yf5is3pwc7xwf2kd3khdkan93s5072r5p99s49nxyrh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-trackable-derive" ,rust-trackable-derive-1))))
    (home-page "https://github.com/sile/trackable")
    (synopsis "Track objects manually as an alternative to backtracing")
    (description
     "This library provides a way to track objects manually as an alternative
to mechanisms like backtracing.")
    (license license:expat)))

(define-public rust-trackable-derive-1
  (package
    (name "rust-trackable-derive")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trackable_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bzqh11n1k29cghjmb4dn426hpqy3nbyn1qgzqngiqj7b1f27szb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/sile/trackable_derive")
    (synopsis "Custom derive for @code{trackable} crate")
    (description
     "This crate provides @code{TrackableError} derive macro.  It should not
be used directly.  See @code{rust-trackable} for more information.")
    (license license:expat)))

(define-public rust-tracy-client-0.16
  (package
    (name "rust-tracy-client")
    (version "0.16.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracy-client" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11r99m26nknihnagamf3fnx4jmbr8259i1yx1xjfjbqi61q6nzih"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-loom" ,rust-loom-0.7)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-tracy-client-sys" ,rust-tracy-client-sys-0.22))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/nagisa/rust_tracy_client")
    (synopsis
     "High level bindings to the client libraries for the Tracy profiler")
    (description
     "High level bindings to the client libraries for the Tracy profiler.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tracy-client-0.10
  (package
    (inherit rust-tracy-client-0.16)
    (name "rust-tracy-client")
    (version "0.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracy-client" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lx4rs19i1cm4klmpxi4cgj1alhibwcql6q1a153apm0gjrwv34y"))))
    (arguments
     `(#:cargo-inputs (("rust-tracy-client-sys" ,rust-tracy-client-sys-0.11))))))

;; TODO: Unbundle tracy-0.10
(define-public rust-tracy-client-sys-0.22
  (package
    (name "rust-tracy-client-sys")
    (version "0.22.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracy-client-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17bc4zbsvix9vim2kw1vfn6y3zzc1spzg9vijqvf9c2147bpx307"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/nagisa/rust_tracy_client")
    (synopsis
     "Low level bindings to the client libraries for the Tracy profiler")
    (description
     "Low level bindings to the client libraries for the Tracy profiler.")
    (license (list license:expat license:asl2.0 license:bsd-3))))

;; TODO: Unbundle tracy-0.7
(define-public rust-tracy-client-sys-0.11
  (package
    (inherit rust-tracy-client-sys-0.22)
    (name "rust-tracy-client-sys")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tracy-client-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18l67jx96m5bd3gq6inl59q5fhzcj9maiaxm588bcmc1hzvz1rhy"))))
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))))

(define-public rust-traitobject-0.1
  (package
    (name "rust-traitobject")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "traitobject" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/reem/rust-traitobject")
    (synopsis "Unsafe helpers for dealing with raw trait objects")
    (description "Unsafe helpers for dealing with raw trait objects.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-transpose-0.2
  (package
    (name "rust-transpose")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "transpose" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zp74v7jrjg4jr654dncdj6hqvacicsywyhc62jawgxwhvnimmhs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1)
                       ("rust-strength-reduce" ,rust-strength-reduce-0.2))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/ejmahler/transpose")
    (synopsis "Utility for transposing multi-dimensional data")
    (description
     "This package provides utilities for transposing multi-dimensional data.")
    (license (list license:expat license:asl2.0))))

(define-public rust-trash-5
  (package
    (name "rust-trash")
    (version "5.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bzxzyjywb6sdyfshr9fp3fbpjf7gfhznh9ybrlb8rh3q9icmrd8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-objc2" ,rust-objc2-0.5)
                       ("rust-objc2-foundation" ,rust-objc2-foundation-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-percent-encoding" ,rust-percent-encoding-2)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-urlencoding" ,rust-urlencoding-2)
                       ("rust-windows" ,rust-windows-0.56))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-defer" ,rust-defer-0.2)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-serial-test" ,rust-serial-test-2)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/ArturKovacs/trash")
    (synopsis "Library for moving files and folders to the recycle bin")
    (description
     "This package provides a library for moving files and folders to the
recycle bin.")
    (license license:expat)))

(define-public rust-trash-3
  (package
    (inherit rust-trash-5)
    (name "rust-trash")
    (version "3.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mssqp3qyv2jwihkkmc5zga51bbrhn6xikdmld9s3mfr8s6lan66"))))
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-objc" ,rust-objc-0.2)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-scopeguard" ,rust-scopeguard-1)
                       ("rust-url" ,rust-url-2)
                       ("rust-windows" ,rust-windows-0.44))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-serial-test" ,rust-serial-test-2)
                                   ("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-trash-2
  (package
    (inherit rust-trash-3)
    (name "rust-trash")
    (version "2.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0djjjvvpxhx4li3y0jp1q48xabvazzif8g7z6110rm4chikh62gy"))
       (patches (search-patches "rust-trash-2-update-windows.patch"))))
    (arguments
     `(#:cargo-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-objc" ,rust-objc-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-scopeguard" ,rust-scopeguard-1)
        ("rust-url" ,rust-url-2)
        ("rust-windows" ,rust-windows-0.44))
       #:cargo-development-inputs
       (("rust-chrono" ,rust-chrono-0.4)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serial-test" ,rust-serial-test-0.6))))))

(define-public rust-tree-magic-0.2
  (package
    (name "rust-tree-magic")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tree_magic" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0adndj775gjcvkf7yxdfj3pl39fcdiibswwgff23lm9yrrkr7ndi"))))
    (build-system cargo-build-system)
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-clap" ,rust-clap-2)
         ("rust-fnv" ,rust-fnv-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-nom" ,rust-nom-3)
         ("rust-num-cpus" ,rust-num-cpus-1)
         ("rust-parking-lot" ,rust-parking-lot-0.10)
         ("rust-petgraph" ,rust-petgraph-0.5)
         ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
         ("rust-tabwriter" ,rust-tabwriter-1)
         ("rust-walkdir" ,rust-walkdir-2))))
    (home-page "https://github.com/aahancoc/tree_magic/")
    (synopsis "Determines the MIME type")
    (description "This package determines the MIME type of a file by
traversing a filetype tree.")
    (license license:expat)))

(define-public rust-tree-magic-db-3
  (package
    (name "rust-tree-magic-db")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tree_magic_db" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "00kzsn98cv0r7yzwi2dcm0fzpbxmc7pxijhb5dgb3cr7ai5c4gz7"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/tree_magic_db")
    (synopsis "Packages the FreeDesktop.org shared MIME database")
    (description
     "Packages the @code{FreeDesktop.org} shared MIME database for optional use with
tree_magic_mini.")
    (license license:gpl2+)))

(define-public rust-tree-magic-mini-3
  (package
    (name "rust-tree-magic-mini")
    (version "3.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tree_magic_mini" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vdazv3y1iggriwx5ksin72c2ds0xjdhx1yvmd5nxkya0w3gvbci"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Not all files included
       #:cargo-inputs (("rust-bytecount" ,rust-bytecount-0.6)
                       ("rust-fnv" ,rust-fnv-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-petgraph" ,rust-petgraph-0.6)
                       ("rust-tree-magic-db" ,rust-tree-magic-db-3))
       #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://github.com/mbrubeck/tree_magic/")
    (synopsis
     "Determines the MIME type of a file by traversing a filetype tree")
    (description
     "Determines the MIME type of a file by traversing a filetype tree.")
    (license license:expat)))

;; The rust-tree-sitter packages are rust dependencies and are separate
;; from the tree-sitter and tree-sitter-cli package.
(define-public rust-tree-sitter-0.20
  (package
    (name "rust-tree-sitter")
    (version "0.20.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tree-sitter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0g9xd1nadhb2ikhxkj0z7kg9f50h97hzmha8llwyscdrnzwv2iz7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1))))
    (home-page "https://tree-sitter.github.io/tree-sitter")
    (synopsis "Rust bindings to the Tree-sitter parsing library")
    (description
     "This package provides Rust bindings to the Tree-sitter parsing library.")
    (license license:expat)))

(define-public rust-treeline-0.1
  (package
    (name "rust-treeline")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "treeline" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0hcdgyk5xzcx2ylm0fr9czzs9cjznm7l9q5qz51qi97i82r43xx7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/softprops/treeline")
    (synopsis "Library for visualizing tree structured data")
    (description
     "This package provides a library for visualizing tree structured data.")
    (license license:expat)))

(define-public rust-trim-in-place-0.1
  (package
    (name "rust-trim-in-place")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trim-in-place" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1z04g79xkrpf3h4g3cc8wax72dn6h6v9l4m39zg8rg39qrpr4gil"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://magiclen.org/trim-in-place")
    (synopsis "In-place trimming strings")
    (description "This package provides In-place trimming strings.")
    (license license:expat)))

(define-public rust-triomphe-0.1
  (package
    (name "rust-triomphe")
    (version "0.1.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "triomphe" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "11fciha522hrz6pkafy3xlq20w405w9dqvy9ln7ba1s8v8k7g3zg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-unsize" ,rust-unsize-1))))
    (home-page "https://github.com/Manishearth/triomphe")
    (synopsis
     "Fork of std::sync::Arc with some extra functionality")
    (description
     "This package provides a fork of @code{std::sync::Arc} with some extra
functionality and without weak references (originally servo_arc).")
    (license (list license:expat license:asl2.0))))

(define-public rust-triple-accel-0.4
  (package
    (name "rust-triple-accel")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "triple_accel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qqyhl1pdvmfbx9fgw5jc15j42d0j1i7b6pzn42zsbzvbp4qn112"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/Daniel-Liu-c0deb0t/triple_accel")
    (synopsis "Edit distance routines accelerated using SIMD")
    (description
     "This package provides Rust edit distance routines accelerated using
SIMD.  It supports fast Hamming, Levenshtein, restricted Damerau-Levenshtein,
etc. distance calculations and string search.")
    (license license:expat)))

(define-public rust-triple-accel-0.3
  (package
    (inherit rust-triple-accel-0.4)
    (name "rust-triple-accel")
    (version "0.3.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "triple_accel" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v795l496crk3h6yff9zh1cjyrh5s9v23fbgccc4dpz25z70jav2"))))))

(define-public rust-try-lock-0.2
  (package
    (name "rust-try-lock")
    (version "0.2.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "try-lock" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jqijrrvm1pyq34zn1jmy2vihd4jcrjlvsh4alkjahhssjnsn8g4"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/seanmonstar/try-lock")
    (synopsis "Lightweight atomic lock")
    (description
     "This package provides a lightweight atomic lock.")
    (license license:expat)))

(define-public rust-trybuild-1
  (package
    (name "rust-trybuild")
    (version "1.0.101")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trybuild" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1m6yv898m8qbig2kjhn0c2b513nrgcmkszsbw7qjdh4nahm37kcd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-dissimilar" ,rust-dissimilar-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-derive" ,rust-serde-derive-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-target-triple" ,rust-target-triple-0.1)
                       ("rust-termcolor" ,rust-termcolor-1)
                       ("rust-toml" ,rust-toml-0.8))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1))))
    (home-page "https://github.com/dtolnay/trybuild")
    (synopsis "Test harness for ui tests of compiler diagnostics")
    (description "Test harness for ui tests of compiler diagnostics.")
    (license (list license:expat license:asl2.0))))

(define-public rust-trybuild2-1
  (package
    (name "rust-trybuild2")
    (version "1.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "trybuild2" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1hnvvi9f2l2x7xi92ca3mw58hm58qsk8ak9znrb2xsfr3k1v2yly"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-basic-toml" ,rust-basic-toml-0.1)
        ("rust-dissimilar" ,rust-dissimilar-1)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-termcolor" ,rust-termcolor-1))
       #:cargo-development-inputs (("rust-automod" ,rust-automod-1)
                                   ("rust-rustversion" ,rust-rustversion-1))))
    (home-page "https://github.com/GuillaumeGomez/trybuild2")
    (synopsis "Test harness for ui tests of compiler diagnostics")
    (description
     "This package provides a test harness for ui tests of compiler diagnostics
(with support for inline tests).")
    (license (list license:expat license:asl2.0))))

(define-public rust-trycmd-0.15
  (package
    (name "rust-trycmd")
    (version "0.15.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "trycmd" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0p26ya9vrwc8063lxhsfafb308lc4hh7gzxkld9arx80pvcjb318"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.6)
                       ("rust-automod" ,rust-automod-1)
                       ("rust-escargot" ,rust-escargot-0.5)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-humantime" ,rust-humantime-2)
                       ("rust-humantime-serde" ,rust-humantime-serde-1)
                       ("rust-rayon" ,rust-rayon-1)
                       ("rust-schemars" ,rust-schemars-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-shlex" ,rust-shlex-1)
                       ("rust-snapbox" ,rust-snapbox-0.6)
                       ("rust-toml-edit" ,rust-toml-edit-0.22))))
    (home-page "https://github.com/assert-rs/trycmd")
    (synopsis "Snapshot testing for a herd of CLI tests")
    (description "trycmd is a test harness that will enumerate test case files
and run them to verify the results, taking inspiration from @code{trybuild} and
@code{cram}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-trycmd-0.14
  (package
    (inherit rust-trycmd-0.15)
    (name "rust-trycmd")
    (version "0.14.21")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "trycmd" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "1mb8x5xi79gjbrahw6l3i9llxcgcn070wy1vrmkzybwk2kv1846l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.6)
        ("rust-escargot" ,rust-escargot-0.5)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-humantime-serde" ,rust-humantime-serde-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-schemars" ,rust-schemars-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-shlex" ,rust-shlex-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-edit" ,rust-toml-edit-0.22))))))

(define-public rust-trycmd-0.13
  (package
    (inherit rust-trycmd-0.14)
    (name "rust-trycmd")
    (version "0.13.7")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "trycmd" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1slz0b87k0n2hgbv76yc8wm68nh6cqi2lgm6gpcnkfz8rcrpndx5"))))
    (arguments
     `(#:cargo-inputs
       (("rust-escargot" ,rust-escargot-0.5)
        ("rust-glob" ,rust-glob-0.3)
        ("rust-humantime" ,rust-humantime-2)
        ("rust-humantime-serde" ,rust-humantime-serde-1)
        ("rust-rayon" ,rust-rayon-1)
        ("rust-schemars" ,rust-schemars-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-shlex" ,rust-shlex-1)
        ("rust-snapbox" ,rust-snapbox-0.4)
        ("rust-toml-edit" ,rust-toml-edit-0.14))))))

(define-public rust-tryfn-0.2
  (package
    (name "rust-tryfn")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tryfn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15n34ga7a1qyhfz45kph0yqx2gjlx10cb9bkmg4wwsk4kvp45qjz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ignore" ,rust-ignore-0.4)
                       ("rust-libtest-mimic" ,rust-libtest-mimic-0.7)
                       ("rust-snapbox" ,rust-snapbox-0.6))))
    (home-page "https://github.com/assert-rs/trycmd")
    (synopsis "File-driven snapshot testing for a function")
    (description
     "This package provides file-driven snapshot testing for a function.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tss-esapi-7
  (package
    (name "rust-tss-esapi")
    (version "7.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tss-esapi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pxfa790qp71dny4nca7bi9d88bc7xqx7z4gkx9wnffpvsa6bfm9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Unclear how to run the tests inside the build container.
       #:cargo-inputs (("rust-bitfield" ,rust-bitfield-0.14)
                       ("rust-enumflags2" ,rust-enumflags2-0.7)
                       ("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-hostname-validator" ,rust-hostname-validator-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-mbox" ,rust-mbox-0.7)
                       ("rust-num-derive" ,rust-num-derive-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-oid" ,rust-oid-0.2)
                       ("rust-picky-asn1" ,rust-picky-asn1-0.8)
                       ("rust-picky-asn1-x509" ,rust-picky-asn1-x509-0.12)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-tss-esapi-sys" ,rust-tss-esapi-sys-0.5)
                       ("rust-zeroize" ,rust-zeroize-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10)
                                   ("rust-sha2" ,rust-sha2-0.10))))
    (native-inputs (list pkg-config))
    (inputs (list tpm2-tss))
    (home-page "https://github.com/parallaxsecond/rust-tss-esapi")
    (synopsis "Rust-native wrapper around TSS 2.0 Enhanced System API")
    (description
     "This package provides Rust-native wrapper around TSS 2.0 Enhanced System API.")
    (license license:asl2.0)))

(define-public rust-tss-esapi-sys-0.5
  (package
    (name "rust-tss-esapi-sys")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tss-esapi-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dfmrbbm2834hzimvj78rhya59mv7wfhnrrfz3aw8bhwb29d2p2k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.66)
                       ("rust-pkg-config" ,rust-pkg-config-0.3)
                       ("rust-target-lexicon" ,rust-target-lexicon-0.12))))
    (native-inputs (list pkg-config))
    (inputs (list tpm2-tss))
    (home-page "https://github.com/parallaxsecond/rust-tss-esapi")
    (synopsis "FFI wrapper around TSS 2.0 Enhanced System API")
    (description
     "This package provides FFI wrapper around TSS 2.0 Enhanced System API.")
    (license license:asl2.0)))

(define-public rust-tstr-0.2
  (package
    (name "rust-tstr")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tstr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zidpsrn9b4i55cz832myxi2gw3qq6imbd7kxq7yq389f54jd8yc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       (list "--release" "--"
             "--skip=macros::ts"
             "--skip=macros::alias")
       #:cargo-inputs
       (("rust-tstr-proc-macros" ,rust-tstr-proc-macros-0.2))))
    (home-page "https://github.com/rodrimati1992/tstr_crates/")
    (synopsis "Type-level strings")
    (description "Type-level strings")
    (license license:zlib)))

(define-public rust-tstr-proc-macros-0.2
  (package
    (name "rust-tstr-proc-macros")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tstr_proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yklq0k0s3c4y0k5f0qm13lw7nvz5z97x3yhmyw1if0cdc3250g7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/rodrimati1992/tstr_crates/")
    (synopsis "Implementation detail of tstr")
    (description "Implementation detail of tstr.")
    (license license:zlib)))

(define-public rust-ttf-parser-0.25
  (package
    (name "rust-ttf-parser")
    (version "0.25.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ttf-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cbgqglcwwjg3hirwq6xlza54w04mb5x02kf7zx4hrw50xmr1pyj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=font_collection_num_fonts_overflow_2")
       #:cargo-inputs (("rust-core-maths" ,rust-core-maths-0.1))
       #:cargo-development-inputs (("rust-base64" ,rust-base64-0.22)
                                   ("rust-pico-args" ,rust-pico-args-0.5)
                                   ("rust-tiny-skia-path" ,rust-tiny-skia-path-0.11)
                                   ("rust-xmlwriter" ,rust-xmlwriter-0.1))))
    (home-page "https://github.com/harfbuzz/ttf-parser")
    (synopsis "High-level, safe, zero-allocation TrueType font parser")
    (description
     "This package provides a high-level, safe, zero-allocation font parser for
@code{TrueType}, @code{OpenType}, and AAT.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ttf-parser-0.19
  (package
    (inherit rust-ttf-parser-0.25)
    (name "rust-ttf-parser")
    (version "0.19.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ttf-parser" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0iipdkmj1zyg2gl7rsyigj9c7gmsqllg2v8d80jwscivmq1g1p24"))))
    (arguments
     `(#:skip-build? #t)))) ; Cut the dependency graph.

(define-public rust-ttf-parser-0.17
  (package
    (inherit rust-ttf-parser-0.19)
    (name "rust-ttf-parser")
    (version "0.17.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ttf-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zrbcjmyz3280wlbdbxskz0gd25lxizjzkcmq50xzdns8kx14n1p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t)))) ; Cut the dependency graph.

(define-public rust-ttf-parser-0.12
  (package
    (inherit rust-ttf-parser-0.19)
    (name "rust-ttf-parser")
    (version "0.12.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ttf-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rkj90w4k21y88i69rlwb8pyfvv5lnb7x2b8yvdan21gha5gbqks"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-ttf-parser-0.6
  (package
    (inherit rust-ttf-parser-0.12)
    (name "rust-ttf-parser")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ttf-parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p4z969pwd5adayy3ijq94iiak42yfxz8hk5wnkdsirymgbpqp9y"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-tui-0.19
  (package
    (name "rust-tui")
    (version "0.19.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tui" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ldswnqgmdkd2fkislyh1amd6rmnbx3s8b97k9j7w03lsv5jdpfc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags `("--"
                            "--skip=buffer::tests::index_of_panics_on_out_of_bounds"
                            "--skip=buffer::tests::pos_of_panics_on_out_of_bounds")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-cassowary" ,rust-cassowary-0.3)
                       ("rust-crossterm" ,rust-crossterm-0.25)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-termion" ,rust-termion-1)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-argh" ,rust-argh-0.1)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/fdehau/tui-rs")
    (synopsis "Library to build rich terminal user interfaces or dashboards")
    (description
     "This package provides a library to build rich terminal user interfaces
or dashboards.")
    (license license:expat)))

(define-public rust-tui-react-0.23
  (package
    (name "rust-tui-react")
    (version "0.23.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tui-react" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1inc78yngwkambrpcs1alallndysnzdq6p8pd7c12cqgw00sf519"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-ratatui" ,rust-ratatui-0.26)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/Byron/tui-crates")
    (synopsis "TUI widgets using a React-like paradigm")
    (description
     "This package provides TUI widgets using a React-like paradigm, that allows
mutable component state and render properties.")
    (license license:expat)))

(define-public rust-tui-react-0.22
  (package
    (inherit rust-tui-react-0.23)
    (name "rust-tui-react")
    (version "0.22.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tui-react" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04b5av7fpg46bz3zbgqxdwkrx42lcfcap1afxhd6qrnlw9rwvyig"))))
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-ratatui" ,rust-ratatui-0.25)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-tui-react-0.20
  (package
    (inherit rust-tui-react-0.22)
    (name "rust-tui-react")
    (version "0.20.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tui-react" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19zr81rz3i7ckp0f0jmz7r8iv5jcj0a1g71zpkr2n46svxz3mw8i"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-ratatui" ,rust-ratatui-0.20)
        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
        ("rust-unicode-width" ,rust-unicode-width-0.1))))))

(define-public rust-tui-textarea-0.4
  (package
    (name "rust-tui-textarea")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tui-textarea" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13mxwxqq6r6kplszs2r2qlnc8hw4hpk2zgrzjby9q6ll3znqrqx3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                       ("rust-crossterm" ,rust-crossterm-0.25)
                       ("rust-crossterm" ,rust-crossterm-0.27)
                       ("rust-ratatui" ,rust-ratatui-0.24)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-termion" ,rust-termion-2)
                       ("rust-termwiz" ,rust-termwiz-0.20)
                       ("rust-tui" ,rust-tui-0.19)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/rhysd/tui-textarea")
    (synopsis "Text editor widget for ratatui and tui-rs")
    (description
     "Tui-textarea is a text editor widget for ratatui and tui-rs.  This
multi-line text editor can be easily put as part of your TUI application.")
    (license license:expat)))

(define-public rust-tuikit-0.5
  (package
    (name "rust-tuikit")
    (version "0.5.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tuikit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n2kiq6kjl1g89v8f9v2dwcv5g8hp7w2zhf8a0yyxawb0fmwc6ay"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.24)
                       ("rust-term" ,rust-term-0.7)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.6))
       #:phases
       (modify-phases %standard-phases
         (add-before 'check 'pre-check
           (lambda _
             (setenv "TERM" "xterm"))))))
    (home-page "https://github.com/lotabout/tuikit")
    (synopsis "Toolkit for writing TUI applications")
    (description
     "This package provides a toolkit for writing TUI applications in Rust.")
    (license license:expat)))

(define-public rust-tuikit-0.4
  (package
    (inherit rust-tuikit-0.5)
    (name "rust-tuikit")
    (version "0.4.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tuikit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02dx38hisji8a3bznl1siv97594k2w16k24d6nc6vrvm4q08wz36"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.24)
        ("rust-term" ,rust-term-0.7)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6))
       #:phases
       (modify-phases %standard-phases
         (add-before 'check 'pre-check
           (lambda _
             (setenv "TERM" "xterm"))))))))

(define-public rust-tuikit-0.2
  (package
    (inherit rust-tuikit-0.4)
    (name "rust-tuikit")
    (version "0.2.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tuikit" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19f3jp12kqcx7aaykxbaj1j17zahd4drv049agpxaminr63w2sw4"))))
    (arguments
     `(#:tests? #f  ; tests fail in the build environment.
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-nix" ,rust-nix-0.14)
        ("rust-term" ,rust-term-0.5)
        ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.6))))))

(define-public rust-tun-tap-0.1
  (package
    (name "rust-tun-tap")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tun-tap" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0l5yp9xs5kyhzrkqfhnqjwj97ylzr5xd0g6jfp42miv7jd77liws"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=it_receives_packets"
                            "--skip=it_sents_packets")
       #:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-futures" ,rust-futures-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-mio" ,rust-mio-0.6)
                       ("rust-tokio-core" ,rust-tokio-core-0.1))
       #:cargo-development-inputs (("rust-etherparse" ,rust-etherparse-0.9)
                                   ("rust-serial-test" ,rust-serial-test-0.4)
                                   ("rust-version-sync" ,rust-version-sync-0.9))))
    (home-page "https://github.com/vorner/tuntap")
    (synopsis "TUN/TAP interface wrapper")
    (description "This package provides a TUN/TAP interface wrapper.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-two-face-0.4
  (package
    (name "rust-two-face")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "two-face" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0s225f05v590wk13qnkkky5asyv5x40awv61x6gn0703x91lik8c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-syntect" ,rust-syntect-5))
       #:cargo-development-inputs (("rust-insta" ,rust-insta-1)
                                   ("rust-strum" ,rust-strum-0.25)
                                   ("rust-syntect" ,rust-syntect-5))))
    (home-page "https://github.com/CosmicHorrorDev/two-face")
    (synopsis "Extra syntax and theme definitions for syntect")
    (description
     "This package provides extra syntax and theme definitions for syntect.")
    (license (list license:expat license:asl2.0))))

(define-public rust-twoway-0.2
  (package
    (name "rust-twoway")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "twoway" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0iqb54firzb8jinl2674vz8s6c4h30842sa3v9pcs93w1m3gnzy5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-galil-seiferas" ,rust-galil-seiferas-0.1)
        ("rust-jetscii" ,rust-jetscii-0.3)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-unchecked-index" ,rust-unchecked-index-0.2))))
    (home-page "https://github.com/bluss/twoway")
    (synopsis "Fast substring search for strings and byte strings")
    (description
     "This package provides a fast substring search for strings and byte
strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-twoway-0.1
  (package
    (inherit rust-twoway-0.2)
    (name "rust-twoway")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "twoway" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lbf64snscr3vz71jbl6i2c8zr2ndsiqbk6316z39fj1a8mipcar"))))))

(define-public rust-twox-hash-1
  (package
    (name "rust-twox-hash")
    (version "1.6.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "twox-hash" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xgn72j36a270l5ls1jk88n7bmq2dhlfkbhdh5554hbagjsydzlp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-digest" ,rust-digest-0.8)
        ("rust-digest" ,rust-digest-0.9)
        ("rust-digest" ,rust-digest-0.10)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-static-assertions" ,rust-static-assertions-1))
       #:cargo-development-inputs
       (("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/shepmaster/twox-hash")
    (synopsis "Rust implementation of the XXHash and XXH3 algorithms")
    (description "This package provides a Rust implementation of the XXHash
and XXH3 algorithms.")
    (license license:expat)))

(define-public rust-typeable-0.1
  (package
    (name "rust-typeable")
    (version "0.1.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "typeable" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/reem/rust-typeable")
    (synopsis "Exposes Typeable, for getting TypeIds at runtime")
    (description "Exposes Typeable, for getting TypeIds at runtime.")
    (license license:expat)))

(define-public rust-typed-arena-2
  (package
    (name "rust-typed-arena")
    (version "2.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-arena" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0shj0jpmglhgw2f1i4b33ycdzwd1z205pbs1rd5wx7ks2qhaxxka"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/SimonSapin/rust-typed-arena")
    (synopsis "The arena allocator")
    (description
     "The arena, a fast but limited type of allocator.")
    (license license:expat)))

(define-public rust-typed-arena-1
  (package
    (inherit rust-typed-arena-2)
    (name "rust-typed-arena")
    (version "1.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-arena" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1i8yczhwcy0nnrxqck1lql3i7hvg95l0vw0dbgfb92zkms96mh66"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))))

(define-public rust-typed-builder-0.18
  (package
    (name "rust-typed-builder")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12pkf3h3hahfqm8g6k3kl2qicl346szqq24qa74vfqcq2jb08z74"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-typed-builder-macro" ,rust-typed-builder-macro-0.18))))
    (home-page "https://github.com/idanarye/rust-typed-builder")
    (synopsis "Compile-time type-checked builder derive")
    (description
     "This package provides compile-time type-checked builder derive.")
    (license (list license:expat license:asl2.0))))

(define-public rust-typed-builder-0.16
  (package
    (inherit rust-typed-builder-0.18)
    (name "rust-typed-builder")
    (version "0.16.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05ny1brm9ff3hxrps3n328w28myk4lz0h24jhxx64dhyjhbmq21l"))))
    (arguments
     `(#:cargo-inputs
       (("rust-typed-builder-macro" ,rust-typed-builder-macro-0.16))))))

(define-public rust-typed-builder-0.5
  (package
    (inherit rust-typed-builder-0.18)
    (name "rust-typed-builder")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-builder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zi9mmkz2vwg5cn8x9738vli42h21jyspvfi83y2sa6lvlja5kkq"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-typed-builder-macro-0.18
  (package
    (name "rust-typed-builder-macro")
    (version "0.18.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-builder-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14mlf9733bmdf6bqzmhrzc1hbxfazp0mxvs751wckdaifccy8blq"))))
    (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/idanarye/rust-typed-builder")
    (synopsis "Compile-time type-checked builder derive")
    (description "Compile-time type-checked builder derive.")
    (license (list license:expat license:asl2.0))))

(define-public rust-typed-builder-macro-0.16
  (package
    (inherit rust-typed-builder-macro-0.18)
    (name "rust-typed-builder-macro")
    (version "0.16.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-builder-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vp94vzcnrqlz93swkai13w9dmklpdh2c2800zpjnvi0735s8g7h"))))
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))))

(define-public rust-typed-json-0.1
  (package
    (name "rust-typed-json")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typed-json" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vcyqhji9mldhhh2dkg19yfcy4i0m6d6wdl9n7vb602l0b8ah930"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs (list rust-serde-1
                                rust-serde-json-1)
           #:cargo-development-inputs (list rust-divan-0.1
                                            rust-serde-1
                                            rust-serde-json-core-0.5
                                            rust-serde-json-1
                                            rust-serde-test-1)))
    (home-page "https://github.com/conradludgate/typed-json")
    (synopsis "JSON serialization file format")
    (description "This package provides a JSON serialization file format.")
    (license (list license:expat license:asl2.0))))

(define-public rust-typeid-1
  (package
    (name "rust-typeid")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typeid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vi32jv3s3nbybbl4r317wi2bk8j4fx4d8p88jji8pnd1hpdn4qf"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/typeid")
    (synopsis "Const TypeId and non-'static TypeId")
    (description
     "This package provides @code{TypeId} and non-'static @code{TypeId}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-typemap-0.3
  (package
    (name "rust-typemap")
    (version "0.3.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "typemap" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-unsafe-any" ,rust-unsafe-any-0.4))))
    (home-page "https://github.com/reem/rust-typemap")
    (synopsis "Typesafe store for many value types")
    (description
     "A typesafe store for many value types.")
    (license license:expat)))

(define-public rust-typenum-1
  (package
    (name "rust-typenum")
    (version "1.16.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typenum" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1fhb9iaqyjn4dzn2vl86kxjhp4xpw5gynczlnqzf4x6rjgpn2ya9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-scale-info" ,rust-scale-info-1))))
    (home-page "https://github.com/paholg/typenum")
    (synopsis "Rust library for type-level numbers evaluated at compile time")
    (description "Typenum is a Rust library for type-level numbers evaluated at
compile time.  It currently supports bits, unsigned integers, and signed
integers.  It also provides a type-level array of type-level numbers, but its
implementation is incomplete.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-typesize-0.1
  (package
    (name "rust-typesize")
    (version "0.1.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typesize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nv4p49nyrrxf5zkbyzbzy2442jn3rh8h5slyjgnmbv8cb0fbv2x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-dashmap" ,rust-dashmap-5)
        ("rust-extract-map" ,rust-extract-map-0.1)
        ("rust-halfbrown" ,rust-halfbrown-0.2)
        ("rust-hashbrown" ,rust-hashbrown-0.14)
        ("rust-mini-moka" ,rust-mini-moka-0.10)
        ("rust-nonmax" ,rust-nonmax-0.5)
        ("rust-parking-lot" ,rust-parking-lot-0.12)
        ("rust-secrecy" ,rust-secrecy-0.8)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-simd-json" ,rust-simd-json-0.13)
        ("rust-time" ,rust-time-0.3)
        ("rust-typesize-derive" ,rust-typesize-derive-0.1)
        ("rust-url" ,rust-url-2))))
    (home-page "https://github.com/GnomedDev/typesize")
    (synopsis
     "Library to fetch an accurate estimate of the total memory usage of a value")
    (description
     "This package provides a library to fetch an accurate estimate of the total
memory usage of a value.")
    (license license:expat)))

(define-public rust-typesize-derive-0.1
  (package
    (name "rust-typesize-derive")
    (version "0.1.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typesize-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1a0ypva9lwmyfgvng2iq87j2gw2ishhm2jbysmmnh9yclk18hplh"))))
    (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/GnomedDev/typesize")
    (synopsis "Internal proc-macro crate for typesize")
    (description
     "This package provides internal proc-macro Crate for the Typesize crate.")
    (license license:expat)))

(define-public rust-typetag-0.2
  (package
    (name "rust-typetag")
    (version "0.2.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typetag" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bwswa9ah2sc6fmlfw2pim73rr1n6vhfwmidrsga8cn09r0ih7b6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-erased-serde" ,rust-erased-serde-0.4)
                       ("rust-inventory" ,rust-inventory-0.3)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-typetag-impl" ,rust-typetag-impl-0.2))
       #:cargo-development-inputs (("rust-postcard" ,rust-postcard-1)
                                   ("rust-rustversion" ,rust-rustversion-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dtolnay/typetag")
    (synopsis "Serde serializable and deserializable trait objects")
    (description
     "This package provides serde serializable and deserializable trait objects.")
    (license (list license:expat license:asl2.0))))

(define-public rust-typetag-impl-0.2
  (package
    (name "rust-typetag-impl")
    (version "0.2.16")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typetag-impl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cabnvm526bcgh1sh34js5ils0gz4xwlgvwhm992acdr8xzqhwxc"))))
    (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/typetag")
    (synopsis "Implementation detail of the typetag crate")
    (description
     "This package provides the implementation detail of the typetag crate.")
    (license (list license:expat license:asl2.0))))

(define-public rust-typewit-1
  (package
    (name "rust-typewit")
    (version "1.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typewit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "093fgb1q5n48vr4nj3hggbhfi6jzab5048scs6jz1ynalgk9myy6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-typewit-proc-macros" ,rust-typewit-proc-macros-1))
       #:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                                   ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/rodrimati1992/typewit/")
    (synopsis "Type-witness-based abstractions")
    (description "This package provides type-witness-based abstractions, mostly
for emulating polymorphism in const fns.")
    (license license:zlib)))

(define-public rust-typewit-proc-macros-1
  (package
    (name "rust-typewit-proc-macros")
    (version "1.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "typewit_proc_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mlkh4mhbn4b7xg9640blk74bm5ddaa44ihvl0sljw1w5gm86sp3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/rodrimati1992/typewit/")
    (synopsis "Implementation detail of typewit")
    (description "Implementation detail of typewit.")
    (license license:zlib)))

(define-public rust-tz-rs-0.6
  (package
    (name "rust-tz-rs")
    (version "0.6.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tz-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d720z3p6g65awzv3924dipjnldrdsv6np0h9g7x5yj8r0aip19k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=timezone::test::test_time_zone_from_posix_tz"
                            "--skip=src/lib.rs - (line 21)"
                            "--skip=src/lib.rs - (line 60)")
       #:cargo-inputs (("rust-const-fn" ,rust-const-fn-0.4))))
    (home-page "https://github.com/x-hgg-x/tz-rs")
    (synopsis
     "Rust reimplementation of libc functions localtime, gmtime and mktime")
    (description
     "This package provides a pure Rust reimplementation of libc functions
localtime, gmtime and mktime.")
    (license (list license:expat license:asl2.0))))

(define-public rust-tzdb-0.6
  (package
    (name "rust-tzdb")
    (version "0.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tzdb" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cbzd2c4bs9ik9dpwbacw6j08kakbnjikdndcxbrza2z6rmhyn0v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Doc tests segfault.
       #:cargo-inputs (("rust-iana-time-zone" ,rust-iana-time-zone-0.1)
                       ("rust-tz-rs" ,rust-tz-rs-0.6)
                       ("rust-tzdb-data" ,rust-tzdb-data-0.1))))
    (home-page "https://github.com/Kijewski/tzdb")
    (synopsis "Static time zone information for tz-rs")
    (description "This package provides static time zone information for tz-rs.")
    (license license:asl2.0)))

(define-public rust-tzdb-data-0.1
  (package
    (name "rust-tzdb-data")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tzdb_data" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mlqm5z8324hw2gnwhlgfn6as8cv5qhdahjwv70nb7f0zbgrz26i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-tz-rs" ,rust-tz-rs-0.6))))
    (home-page "https://github.com/Kijewski/tzdb")
    (synopsis "Static, #![no_std] time zone information for tz-rs")
    (description
     "This package provides static, #![no_std] time zone information for tz-rs.")
    (license license:expat-0)))

(define-public rust-tzfile-0.1
  (package
    (name "rust-tzfile")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "tzfile" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bjrlhi0wy5560vwjszksyzbxidvfdr01911mp3y8dr55b22577m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ; 31 online tests fail
       #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-chrono" ,rust-chrono-0.4))
       #:cargo-development-inputs (("rust-chrono" ,rust-chrono-0.4)
                                   ("rust-chrono-tz" ,rust-chrono-tz-0.5)
                                   ("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-lazy-static" ,rust-lazy-static-1))))
    (home-page "https://github.com/kennytm/tzfile")
    (synopsis "chrono::TimeZone implementation using system time-zone database")
    (description
     "This package provides a chrono::@code{TimeZone} implementation using
system tz database.")
    (license license:expat)))

(define-public rust-ubyte-0.10
  (package
    (name "rust-ubyte")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ubyte" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1spj3k9sx6xvfn7am9vm1b463hsr79nyvj8asi2grqhyrvvdw87p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/SergioBenitez/ubyte")
    (synopsis "Byte units no_std library")
    (description
     "This package provides a simple, complete, const-everything, saturating,
human-friendly, no_std library for byte units.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ucd-parse-0.1
  (package
    (name "rust-ucd-parse")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ucd-parse" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "13mq6c85r6ak10gjlq74mzdhsi0g0vps2y73by420513gfnipm97"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-regex" ,rust-regex-1))))
    (home-page "https://github.com/BurntSushi/ucd-generate")
    (synopsis "Parse data files in the Unicode character database")
    (description
     "This package provides a library for parsing data files in the
Unicode character database.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ucd-trie-0.1
  (package
    (name "rust-ucd-trie")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ucd-trie" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "10ggllapxq99cxxy179wbklmabj5fikm02233v4idf7djvcw8ycy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-once-cell" ,rust-once-cell-1))))
    (home-page "https://github.com/BurntSushi/ucd-generate")
    (synopsis "Trie for storing Unicode codepoint sets and maps")
    (description
     "This package provides a trie for storing Unicode codepoint sets and maps.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-ucd-util-0.1
  (package
    (name "rust-ucd-util")
    (version "0.1.7")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ucd-util" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "13ng291mkc9b132jjf4laj76f5nqm5qd2447rm8bry3wxbdc5kaw"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/BurntSushi/ucd-generate")
    (synopsis "Library for working with the Unicode character database")
    (description "This package provides a small utility library for working
with the Unicode character database.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-udev-0.8
  (package
    (name "rust-udev")
    (version "0.8.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "udev" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18f5vkhjcljw1p5gfvy61p1837n27d7h2l3x45pywa5y49p1q1ah"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            ;; Not all files included.
                            "--skip=device::Device::from_devnum")
       #:cargo-inputs (("rust-io-lifetimes" ,rust-io-lifetimes-1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libudev-sys" ,rust-libudev-sys-0.1)
                       ("rust-mio" ,rust-mio-0.6)
                       ("rust-mio" ,rust-mio-0.7)
                       ("rust-mio" ,rust-mio-0.8)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (inputs (list eudev))
    (native-inputs (list pkg-config))
    (home-page "https://github.com/Smithay/udev-rs")
    (synopsis "libudev bindings for Rust")
    (description "This package provides libudev bindings for Rust.")
    (license license:expat)))

(define-public rust-udev-0.7
  (package
    (inherit rust-udev-0.8)
    (name "rust-udev")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "udev" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06hr927z0fdn7ay0p817b9x19i5fagmpmvz95yhl4d1pf3bbpgaf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-libudev-sys" ,rust-libudev-sys-0.1)
                       ("rust-mio" ,rust-mio-0.6)
                       ("rust-mio" ,rust-mio-0.7)
                       ("rust-mio" ,rust-mio-0.8)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (home-page "https://github.com/Smithay/udev-rs")
    (synopsis "Rust libudev bindings")
    (description "This package provides libudev bindings for Rust.")
    (license license:expat)))

(define-public rust-udevrs-0.3
  (package
    (name "rust-udevrs")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "udevrs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "028s1sk1ym919z0w6p8mnvgh9d35c9zzrlaxlmvfrppi6fx5kjdx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Error: UdevHwdb("unable to find hwdb.bin database file")
         "--skip=parse_hwdb")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-heapless" ,rust-heapless-0.7)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.27))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10))))
    (home-page "https://github.com/cr8t/udev")
    (synopsis "Pure Rust implementation of the user-land udev library")
    (description
     "This package provides Pure Rust implementation of the user-land udev library.")
    (license license:lgpl2.0+)))

(define-public rust-ufmt-0.2
  (package
    (name "rust-ufmt")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ufmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17dbpq5r09mcpalra2hmpgb2ly282s6xjsb4il8fjmrbq1p88r0s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; method cannot be called on `String` due to unsatisfied trait bounds
       #:cargo-inputs (("rust-ufmt-macros" ,rust-ufmt-macros-0.3)
                       ("rust-ufmt-write" ,rust-ufmt-write-0.1))))
    (home-page "https://github.com/japaric/ufmt")
    (synopsis "Faster and panic-free alternative to @code{core::fmt}")
    (description "This package provides a (6-40x) smaller, (2-9x) faster and
panic-free alternative to @code{core::fmt}.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ufmt-0.1
  (package
    (inherit rust-ufmt-0.2)
    (name "rust-ufmt")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ufmt" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1pbc0gcfi7m21ly00x460pv1k2h12zb184f7wpcckpqj6g3c1lri"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-ufmt-macros" ,rust-ufmt-macros-0.2)
        ("rust-ufmt-write" ,rust-ufmt-write-0.1))))))

(define-public rust-ufmt-macros-0.3
  (package
    (name "rust-ufmt-macros")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ufmt-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05ipcslk5bcpkw3j8405hhzxibr9wkn8sg33nif1cjblc6zd6dyk"))))
    (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/japaric/ufmt")
    (synopsis "Rust μfmt macros")
    (description "This package provides μfmt macros.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ufmt-macros-0.2
  (package
    (inherit rust-ufmt-macros-0.3)
    (name "rust-ufmt-macros")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ufmt-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1nfpgpimg04n08cxi0mcsz803kh3kzpmllmxm2a6768cyf96raz4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

(define-public rust-ufmt-write-0.1
  (package
    (name "rust-ufmt-write")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ufmt-write" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0sdx0r6ah9xr3nydrqxj01v25sb956c0jk5rqf6f5i9fnkb2wyp8"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/japaric/ufmt")
    (synopsis "Rust μfmt's uWrite trait")
    (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
    (license (list license:expat license:asl2.0))))

(define-public rust-ui-test-0.7
  (package
    (name "rust-ui-test")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ui_test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jzlccdw15psgjx4albqnrznl9ypgvfwcjr2x99lvdxrqsm4nnrb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Not all files included
       #:cargo-inputs (("rust-bstr" ,rust-bstr-1)
                       ("rust-cargo-platform" ,rust-cargo-platform-0.1)
                       ("rust-cargo-metadata" ,rust-cargo-metadata-0.15)
                       ("rust-color-eyre" ,rust-color-eyre-0.6)
                       ("rust-colored" ,rust-colored-2)
                       ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
                       ("rust-diff" ,rust-diff-0.1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-rustfix" ,rust-rustfix-0.6)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-json" ,rust-serde-json-1)
                       ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/oli-obk/ui_test")
    (synopsis "Test framework for testing rustc diagnostics output")
    (description
     "This package provides a test framework for testing rustc diagnostics output.")
    (license (list license:expat license:asl2.0))))

(define-public rust-uint-0.9
  (package
    (name "rust-uint")
    (version "0.9.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "uint" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
          (base32 "0ljb2q0waadsr56w6j5wwchwibby8bbsf09wnv54zc2k5jx4pxkn"))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-arbitrary" ,rust-arbitrary-1)
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-crunchy" ,rust-crunchy-0.2)
         ("rust-hex" ,rust-hex-0.4)
         ("rust-quickcheck" ,rust-quickcheck-1)
         ("rust-static-assertions" ,rust-static-assertions-1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.4)
         ("rust-num-bigint" ,rust-num-bigint-0.4)
         ("rust-rug" ,rust-rug-1))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'adjust-cargo-toml
            (lambda _
              (substitute* "Cargo.toml"
                (("integer") "default")))))))
    (inputs
     (list gmp mpc mpfr))
    (home-page "https://parity.io")
    (synopsis "Large, fixed-size integer arithmetic in Rust")
    (description "This package is a Rust library for large, fixed-size integer
arithmetic.")
    (license (list license:expat license:asl2.0))))

(define-public rust-uluru-3
  (package
    (name "rust-uluru")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uluru" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nr6s90iqy7wr0ddv9zfbmyw5dc7xjfbb09c8sjbcphz38k34jkr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7))))
    (home-page "https://github.com/servo/uluru")
    (synopsis "LRU cache implementation")
    (description
     "This package provides a simple, fast, LRU cache implementation.")
    (license license:mpl2.0)))

(define-public rust-umask-2
  (package
    (name "rust-umask")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "umask" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "071xszsd6znk0ik11pxl7mwhf07clsiq3qpzw1ac0dcyak14d6pc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/Canop/umask")
    (synopsis "Utility to deal with unix access mode")
    (description
     "This package provides an utility to deal with Unix access mode.")
    (license license:expat)))

(define-public rust-umask-1
  (package
    (inherit rust-umask-2)
    (name "rust-umask")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "umask" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ipyyv82lpy5xpqzmq3ra0d61vsd3bfh6b06c9w8zln41vvznblq"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-uname-0.1
  (package
    (name "rust-uname")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uname" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1j1xd1rryml4j1hf07kahva9d5ym8m9jz9z20hfdpr1jrbq8jbxp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/icorderi/rust-uname")
    (synopsis "Name and information about current kernel")
    (description
     "This package provides name and information about current kernel.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unarray-0.1
  (package
    (name "rust-unarray")
    (version "0.1.4")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "unarray" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "154smf048k84prsdgh09nkm2n0w0336v84jd4zikyn6v6jrqbspa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `proptest`
       #:cargo-development-inputs
       (("rust-test-strategy" ,rust-test-strategy-0.2))))
    (home-page "https://github.com/cameron1024/unarray")
    (synopsis "Utilities for working with uninitialized arrays")
    (description "Utilities for working with uninitialized arrays.")
    (license (list license:expat license:asl2.0))))

(define-public rust-uncased-0.9
  (package
    (name "rust-uncased")
    (version "0.9.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uncased" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15q6r6g4fszr8c2lzg9z9k9g52h8g29h24awda3d72cyw37qzf71"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-version-check" ,rust-version-check-0.9))))
    (home-page "https://github.com/SergioBenitez/uncased")
    (synopsis "Case-preserving, ASCII case-insensitive, string types in Rust")
    (description
     "This package provides case-preserving, ASCII case-insensitive,
@code{no_std} string types in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unchecked-index-0.2
  (package
    (name "rust-unchecked-index")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unchecked-index" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0p6qcai1mjayx59cpgk27d0zgw9hz9r1ira5jiqil66f4ba8dfpf"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/bluss/unchecked-index")
    (synopsis "Unchecked indexing wrapper using regular index syntax")
    (description
     "Unchecked indexing wrapper using regular index syntax.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-ungrammar-1
  (package
    (name "rust-ungrammar")
    (version "1.16.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ungrammar" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13ynrv658ikr4lqi3lk1xbcrr1d1qsjnrb8acwfyrwqbgwsdzrd3"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/matklad/ungrammar")
    (synopsis "DSL for describing concrete syntax trees")
    (description
     "This package provides a DSL for describing concrete syntax trees.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-char-property-0.9
  (package
    (name "rust-unic-char-property")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-char-property" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08g21dn3wwix3ycfl0vrbahn0835nv2q3swm8wms0vwvgm07mid8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unic-char-range" ,rust-unic-char-range-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "Character property taxonomy, contracts and macros for UNIC")
    (description
     "This package provides character property taxonomy, contracts and
build macros for the Unicode and Internationalization Crates (UNIC)
project.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-char-range-0.9
  (package
    (name "rust-unic-char-range")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-char-range" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g0z7iwvjhqspi6194zsff8vy6i3921hpqcrp3v1813hbwnh5603"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-rayon" ,rust-rayon-1))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "Character range and iteration for UNIC")
    (description
     "This package provides Unicode character range and iteration for
the Unicode and Internationalization Crates (UNIC) project.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-common-0.9
  (package
    (name "rust-unic-common")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-common" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g1mm954m0zr497dl4kx3vr09yaly290zs33bbl4wrbaba1gzmw0"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "Common utilities for UNIC")
    (description
     "This package provides common utilities for the Unicode and
Internationalization Crates (UNIC) project.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-emoji-char-0.9
  (package
    (name "rust-unic-emoji-char")
    (version "0.9.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "unic-emoji-char" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0ka9fr7s6lv0z43r9xphg9injn35pfxf9g9q18ki0wl9d0g241qb"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-inputs
           `(("rust-unic-char-property" ,rust-unic-char-property-0.9)
             ("rust-unic-char-range" ,rust-unic-char-range-0.9)
             ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "UNIC emoji character properties for Rust")
    (description
     "This package provides UNIC properties for emoji characters
in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-normal-0.9
  (package
    (name "rust-unic-normal")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-normal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qmsdf7b902mmaslhwww0hzmzqn26mzh7sraphl4dac96p9n97gh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unic-ucd-normal" ,rust-unic-ucd-normal-0.9))
       #:cargo-development-inputs
       (("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "UNIC Unicode Normalization Forms")
    (description "UNIC Unicode Normalization Forms.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-segment-0.9
  (package
    (name "rust-unic-segment")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-segment" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08wgz2q6vrdvmbd23kf9pbg8cyzm5q8hq9spc4blzy2ppqk5vvg4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unic-ucd-segment" ,rust-unic-ucd-segment-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "Text segmentation algorithms for UNIC")
    (description
     "This UNIC component implements algorithms from Unicode Standard
Annex #29 - Unicode Text Segmentation, used for detecting boundaries
of text element boundaries, such as user-perceived characters (a.k.a.
grapheme clusters), words, and sentences.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-category-0.9
  (package
    (name "rust-unic-ucd-category")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-ucd-category" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h4ixzplc2s441vc8mc4zxliw6qfqh1ziaiv8pa1pzpwyn8lb38v"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-matches" ,rust-matches-0.1)
                       ("rust-unic-char-property" ,rust-unic-char-property-0.9)
                       ("rust-unic-char-range" ,rust-unic-char-range-0.9)
                       ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "UNIC Unicode Character Database General Category")
    (description "UNIC Unicode Character Database General Category.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-common-0.9
  (package
    (name "rust-unic-ucd-common")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-ucd-common" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bglvzn6rs01v0d29898vg2y3v3cgj3h1gsrbjp1mypa1f8qpdz9"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unic-char-property" ,rust-unic-char-property-0.9)
                       ("rust-unic-char-range" ,rust-unic-char-range-0.9)
                       ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))
       #:cargo-development-inputs
       ;; This was dropped by the importer for some reason.
       (("rust-unic-ucd-category" ,rust-unic-ucd-category-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "UNIC Unicode Character Database Common Properties")
    (description
     "This package provides UNIC Unicode Character Database Common Properties.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-hangul-0.9
  (package
    (name "rust-unic-ucd-hangul")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-ucd-hangul" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m001jjck7j34hsf6kw9aidzapms9hi175yv7r9f244hw68cc7gb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis
     "UNIC Unicode Character Database Hangul Syllable Composition & Decomposition")
    (description
     "UNIC Unicode Character Database Hangul Syllable Composition & Decomposition.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-normal-0.9
  (package
    (name "rust-unic-ucd-normal")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-ucd-normal" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "044laqqf09xqv4gl27f328a2f780gkzabpar72qj4b90p1rxibl6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unic-char-property" ,rust-unic-char-property-0.9)
                       ("rust-unic-char-range" ,rust-unic-char-range-0.9)
                       ("rust-unic-ucd-category" ,rust-unic-ucd-category-0.9)
                       ("rust-unic-ucd-hangul" ,rust-unic-ucd-hangul-0.9)
                       ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))
       #:cargo-development-inputs
       (("rust-unic-ucd-category" ,rust-unic-ucd-category-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis
     "UNIC Unicode Character Database Normalization Properties")
    (description
     "UNIC Unicode Character Database Normalization Properties.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-segment-0.9
  (package
    (name "rust-unic-ucd-segment")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-ucd-segment" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0027lczcg0r401g6fnzm2bq9fxhgxvri1nlryhhv8192lqic2y90"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unic-char-property" ,rust-unic-char-property-0.9)
        ("rust-unic-char-range" ,rust-unic-char-range-0.9)
        ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "Segmentation properties for the UNIC Unicode character database")
    (description
     "This package provides segmentation properties in the Unicode
character database for the Unicode and Internationalization
Crates (UNIC) project.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unic-ucd-version-0.9
  (package
    (name "rust-unic-ucd-version")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unic-ucd-version" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1i5hnzpfnxkp4ijfk8kvhpvj84bij575ybqx1b6hyigy6wi2zgcn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-unic-common" ,rust-unic-common-0.9))))
    (home-page "https://github.com/open-i18n/rust-unic/")
    (synopsis "Unicode character database for UNIC")
    (description
     "This package provides a Unicode character database for the
Unicode and Internationalization Crates (UNIC) project.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicase-2
  (package
    (name "rust-unicase")
    (version "2.8.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicase" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0fd5ddbhpva7wrln2iah054ar2pc1drqjcll0f493vj3fv8l9f3m"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/seanmonstar/unicase")
    (synopsis "Case-insensitive wrapper around strings")
    (description
     "This package provides a case-insensitive wrapper around strings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicase-1
  (package
    (inherit rust-unicase-2)
    (name "rust-unicase")
    (version "1.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicase" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0cwazh4qsmm9msckjk86zc1z35xg7hjxjykrgjalzdv367w6aivz"))))
    (arguments
     `(#:cargo-inputs
       (("rust-heapsize" ,rust-heapsize-0.3)
        ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1)
        ("rust-version-check" ,rust-version-check-0.1))))))

(define-public rust-unicode-bidi-0.3
  (package
    (name "rust-unicode-bidi")
    (version "0.3.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-bidi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xcxwbsqa24b8vfchhzyyzgj0l6bn51ib5v8j6krha0m77dva72w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-flame" ,rust-flame-0.2)
        ("rust-flamer" ,rust-flamer-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs
       (("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/servo/unicode-bidi")
    (synopsis "Implementation of the Unicode Bidirectional Algorithm")
    (description
     "Implementation of the Unicode Bidirectional Algorithm.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-unicode-bom-2
  (package
    (name "rust-unicode-bom")
    (version "2.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-bom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05s2sqyjanqrbds3fxam35f92npp5ci2wz9zg7v690r0448mvv3y"))))
    (build-system cargo-build-system)
    (home-page "https://gitlab.com/philbooth/unicode-bom")
    (synopsis "Unicode byte-order mark detection for files and byte arrays")
    (description
     "Unicode byte-order mark detection for files and byte arrays.")
    (license license:asl2.0)))

(define-public rust-unicode-categories-0.1
  (package
    (name "rust-unicode-categories")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "unicode_categories" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0kp1d7fryxxm7hqywbk88yb9d1avsam9sg76xh36k5qx2arj9v1r"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/swgillespie/unicode-categories")
    (synopsis "Query Unicode category membership")
    (description
     "This package provides a package for querying Unicode category
membership for characters in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-ellipsis-0.2
  (package
    (name "rust-unicode-ellipsis")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-ellipsis" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zsdzmy6x1p8s35rgfmc7nx1qcs6j4bcfbfyiimrdngyqfwbajlj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--"
         "--skip=tests::test_truncate_hindi"
         "--skip=tests::test_truncate_hindi_leading")
       #:cargo-inputs (("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))))
    (home-page "https://github.com/ClementTsang/unicode-ellipsis")
    (synopsis
     "Truncate Unicode strings to a certain width, adding an ellipsis if too long")
    (description
     "This package provides a crate to truncate Unicode strings to a certain width,
automatically adding an ellipsis if the string is too long.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-general-category-0.6
  (package
    (name "rust-unicode-general-category")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-general-category" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rv9715c94gfl0hzy4f2a9lw7i499756bq2968vqwhr1sb0wi092"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/yeslogic/unicode-general-category")
    (synopsis "Fast lookup of the Unicode General Category property for char")
    (description "This package provides Fast lookup of the Unicode General
Category property for char.")
    (license license:asl2.0)))

(define-public rust-unicode-id-0.3
  (package
    (name "rust-unicode-id")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-id" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qdmwsyi72c17v64h1is28f0gc2d3bvhjz264i998c270ibkq40h"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/Boshen/unicode-id")
    (synopsis
     "Determine whether characters have the ID_Start or ID_Continue properties")
    (description
     "Determine whether characters have the ID_Start or ID_Continue properties
according to Unicode Standard Annex #31.")
    (license (list license:expat license:asl2.0))))

;; WARNING: This package is a dependency of mesa.
(define-public rust-unicode-ident-1
  (package
    (name "rust-unicode-ident")
    (version "1.0.14")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "unicode-ident" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "10ywa1pg0glgkr4l3dppjxizr9r2b7im0ycbfa0137l69z5fdfdd"))))
    (build-system cargo-build-system)
    ;; Most development inputs are competing implementations
    ;; for benchmarks.
    (arguments
     `(#:skip-build? #t))
    (home-page "https://github.com/dtolnay/unicode-ident")
    (synopsis "Implementation of Unicode Standard Annex #31")
    (description
     "This package lets you determine whether characters have the
@code{XID_Start} or @code{XID_Continue} properties according to Unicode
Standard Annex #31.")
    ;; For data derived from Unicode Character Database the unicode license
    ;; applies; for everything else the user may choose between Expat and
    ;; ASL2.0.
    (license (list license:expat license:asl2.0
                   license:unicode))))

(define-public rust-unicode-linebreak-0.1
  (package
    (name "rust-unicode-linebreak")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-linebreak" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "07spj2hh3daajg335m4wdav6nfkl0f6c0q72lc37blr97hych29v"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/axelf4/unicode-linebreak")
    (synopsis "Implementation of the Unicode line breaking algorithm")
    (description
     "This package provides an implementation of the Unicode line
breaking algorithm in Rust.")
    (license license:asl2.0)))

(define-public rust-unicode-normalization-0.1
  (package
    (name "rust-unicode-normalization")
    (version "0.1.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-normalization" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mnrk809z3ix1wspcqy97ld5wxdb31f3xz6nsvg5qcv289ycjcsh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-tinyvec" ,rust-tinyvec-1))))
    (home-page "https://github.com/unicode-rs/unicode-normalization")
    (synopsis "Functions for normalization of Unicode strings")
    (description
     "This crate provides functions for normalization of Unicode strings,
including Canonical and Compatible Decomposition and Recomposition, as
described in Unicode Standard Annex #15.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-reverse-1
  (package
    (name "rust-unicode-reverse")
    (version "1.0.9")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-reverse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xhcybbgy0l8s8n7sfd6hxi854f8znlxqkspzfnr8c62xf44hvsb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
       #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.4))))
    (home-page "https://github.com/mbrubeck/unicode-reverse")
    (synopsis "Unicode-aware in-place string reversal")
    (description "Unicode-aware in-place string reversal.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-segmentation-1
  (package
    (name "rust-unicode-segmentation")
    (version "1.12.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-segmentation" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14qla2jfx74yyb9ds3d2mpwpa4l4lzb9z57c6d2ba511458z5k7n"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-quickcheck" ,rust-quickcheck-0.7))))
    (home-page "https://github.com/unicode-rs/unicode-segmentation")
    (synopsis "Grapheme Cluster, Word and Sentence boundaries")
    (description "This crate provides Grapheme Cluster, Word and Sentence
boundaries according to Unicode Standard Annex #29 rules.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-truncate-1
  (package
    (name "rust-unicode-truncate")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-truncate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gr7arjjhrhy8dww7hj8qqlws97xf9d276svr4hs6pxgllklcr5k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=tests::truncate_centered::family_stays_together"
         "--skip=tests::truncate_end::family_stays_together"
         "--skip=tests::truncate_start::family_stays_together")
       #:cargo-inputs (("rust-itertools" ,rust-itertools-0.13)
                       ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
                       ("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page "https://github.com/Aetf/unicode-truncate")
    (synopsis "Unicode-aware `str` truncate")
    (description
     "This package provides a unicode-aware algorithm to pad or truncate `str`
in terms of displayed width.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-truncate-0.2
  (package
    (inherit rust-unicode-truncate-1)
    (name "rust-unicode-truncate")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-truncate" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0hlf6k1d7s1qqdvhxwh4xl8wd1wvqm0vr0pazxq74jksbz5fajx0"))))
    (arguments
     `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))))

(define-public rust-unicode-width-0.2
  (package
    (name "rust-unicode-width")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-width" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zd0r5vs52ifxn25rs06gxrgz8cmh4xpra922k0xlmrchib1kj0z"))))
    (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)
                       ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1))))
    (home-page "https://github.com/unicode-rs/unicode-width")
    (synopsis "Determine displayed width according to Unicode rules")
    (description
     "This crate allows you to determine displayed width of
@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unicode-width-0.1
  (package
    (inherit rust-unicode-width-0.2)
    (name "rust-unicode-width")
    (version "0.1.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-width" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bzn2zv0gp8xxbxbhifw778a7fc93pa6a1kj24jgg9msj07f7mkx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
        ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1))))))

(define-public rust-unicode-xid-0.2
  (package
    (name "rust-unicode-xid")
    (version "0.2.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-xid" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0lzqaky89fq0bcrh6jj6bhlz37scfd8c7dsj5dq7y32if56c1hgb"))))
    (build-system cargo-build-system)
    (arguments
     (list #:cargo-development-inputs
           `(("rust-criterion" ,rust-criterion-0.3))))
    (home-page "https://github.com/unicode-rs/unicode-xid")
    (synopsis "Determine Unicode XID related properties")
    (description
     "This package provides a Rust library to determine whether
characters have the XID_Start or XID_Continue properties according
to Unicode Standard Annex #31.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-unicode-xid-0.1
  (package
    (inherit rust-unicode-xid-0.2)
    (name "rust-unicode-xid")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unicode-xid" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))

(define-public rust-unicode-xid-0.0.4
  (package
    (inherit rust-unicode-xid-0.2)
    (name "rust-unicode-xid")
    (version "0.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unicode-xid" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1p5l9h3n3i53cp95fb65p8q3vbwib79ryd9z5z5h5kr9gl6qc7wc"))))))

(define-public rust-unidecode-0.3
  (package
    (name "rust-unidecode")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "unidecode" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1p0sm8j9223kw3iincv60s746s88k09xcaqf8nkx3w83isfv2as0"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/chowdhurya/rust-unidecode/")
    (synopsis "Provides pure ASCII transliterations of Unicode strings")
    (description
     "This package provides pure ASCII transliterations of Unicode strings.")
    (license license:bsd-3)))

(define-public rust-unindent-0.2
  (package
    (name "rust-unindent")
    (version "0.2.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unindent" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1km2iy6fr6gsh2wvr1mxz86pm4wrlh3fjkinb35qfi3mw5rpvpn7"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dtolnay/indoc")
    (synopsis "Remove a column of leading whitespace from a string")
    (description "This crate allows you to remove a column of leading
whitespace from a string.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-unindent-0.1
  (package
    (inherit rust-unindent-0.2)
    (name "rust-unindent")
    (version "0.1.11")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unindent" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "171may3v15wzc10z64i8sahdz49d031v7424mjsifa205ml6sxp1"))))))

(define-public rust-uniquote-3
  (package
    (name "rust-uniquote")
    (version "3.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "uniquote" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "037xznqcdvc3riy9498cfrzzdhj2591cz0dpiy0h9wxfnbp01aal"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/dylni/uniquote")
    (synopsis "Quote strings for clear display in output")
    (description "This package provides a Rust library to quote strings for
clear display in the output.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unix-socket-0.5
  (package
    (name "rust-unix-socket")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unix_socket" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0r0mxf3mmqvimnx4mpks1f6c4haj6jcxc0k9bs7w61f42w2718ka"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/rust-lang-nursery/unix-socket")
    (synopsis "Unix domain socket bindings")
    (description "This package provides unix domain socket bindings.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unreachable-1
  (package
    (name "rust-unreachable")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unreachable" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-void" ,rust-void-1))))
    (home-page "https://github.com/reem/rust-unreachable")
    (synopsis "Unreachable code optimization hint in rust")
    (description
     "This package provides an unreachable code optimization hint in rust.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-unreachable-0.1
  (package
    (inherit rust-unreachable-1)
    (name "rust-unreachable")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unreachable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14gzpm329nrfgjvxf6zh77sp7plxakcnsq8p8xk9474fn7fyaahz"))))
    (arguments
     `(#:cargo-inputs (("rust-void" ,rust-void-1))))))

(define-public rust-unsafe-any-0.4
  (package
    (name "rust-unsafe-any")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "unsafe-any" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-traitobject" ,rust-traitobject-0.1))))
    (home-page "https://tokio.rs")
    (synopsis "Traits and implementations for unchecked downcasting")
    (description
     "Traits and implementations for unchecked downcasting.")
    (license license:expat)))

;; This package was originally transpiled from libyaml, but has seen development
;; since then, showing that it is in its editable form.
(define-public rust-unsafe-libyaml-0.2
  (package
    (name "rust-unsafe-libyaml")
    (version "0.2.11")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "unsafe-libyaml" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0qdq69ffl3v5pzx9kzxbghzn0fzn266i1xn70y88maybz9csqfk7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `unsafe_libyaml_test_suite`
       #:cargo-development-inputs
       (("rust-pretty-assertions" ,rust-pretty-assertions-1))))
    (home-page "https://github.com/dtolnay/unsafe-libyaml")
    (synopsis "Libyaml in rust")
    (description "This package provides libyaml transpiled to rust by c2rust,
with changes and updated applied to it.")
    (license license:expat)))

(define-public rust-unsafe-unwrap-0.1
  (package
    (name "rust-unsafe-unwrap")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unsafe_unwrap" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "106swla8nyzn9qgjrb4xxa9ihl8rsk921nl9swl9n3ryy5jyqc0j"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/nvzqz/unsafe-unwrap-rs")
    (synopsis "Unsafely unwrap Result and Option types without checking")
    (description
     "This crate enables unchecked unwrapping on Option and Result types.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unscanny-0.1
  (package
    (name "rust-unscanny")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unscanny" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ivbipc1rnq15fhzgna41p1h01ncq4shycii72f3x5d7czq2mpz9"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/typst/unscanny")
    (synopsis "Painless string scanning")
    (description "This package provides painless string scanning.")
    (license (list license:expat license:asl2.0))))

(define-public rust-unsize-1
  (package
    (name "rust-unsize")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "unsize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fd9lzdhkahygxy9b348m0fs4wlldh5ymp1dcr56d9f16jksg9sg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))
    (home-page "https://github.com/HeroicKatora/static-alloc")
    (synopsis "Stable alternative to CoerceUnsize")
    (description
     "This package provides a stable alternative to @code{CoerceUnsize}.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-untrusted-0.9
  (package
    (name "rust-untrusted")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "untrusted" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ha7ib98vkc538x0z60gfn0fc5whqdd85mb87dvisdcaifi6vjwf"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/briansmith/untrusted")
    (synopsis "Zero-allocation parsing of untrusted inputs in Rust")
    (description
     "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
untrusted inputs in Rust.")
    (license license:isc)))

(define-public rust-untrusted-0.7
  (package
    (inherit rust-untrusted-0.9)
    (name "rust-untrusted")
    (version "0.7.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "untrusted" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0jkbqaj9d3v5a91pp3wp9mffvng1nhycx6sh4qkdd9qyr62ccmm1"))))))

(define-public rust-untrusted-0.6
  (package
    (inherit rust-untrusted-0.7)
    (name "rust-untrusted")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "untrusted" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0byf88b7ca1kb5aap8f6npp6xncvg95dnma8ipmnmd4n9r5izkam"))))))

(define-public rust-uom-0.36
  (package
    (name "rust-uom")
    (version "0.36.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "176dszv02ki1a49hvv2nkszjcn4m8ccfjgh5hhji2pd6a19nxlzz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-num-bigint" ,rust-num-bigint-0.4)
                       ("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-rational" ,rust-num-rational-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5)
                                   ("rust-quickcheck" ,rust-quickcheck-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-static-assertions" ,rust-static-assertions-1))))
    (home-page "https://github.com/iliekturtles/uom")
    (synopsis "Units of measurement")
    (description
     "@code{uom} (Units of measurement) is a crate that does automatic type-safe
zero-cost dimensional analysis.  You can create your own systems or use the pre-built
International System of Units (SI) which is based on the International System of
Quantities (ISQ) and includes numerous quantities (length, mass, time, ...) with
conversion factors for even more numerous measurement units (meter, kilometer, foot,
mile, ...).")
    (license (list license:asl2.0 license:expat))))

(define-public rust-uom-0.34
  (package
    (inherit rust-uom-0.36)
    (name "rust-uom")
    (version "0.34.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "uom" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "190n79b5ywa9w0j13ld0q6dphz7vzsjkwrpp8pjnwrczsvfhxxg8"))))
    (arguments
     `(#:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4)
                       ("rust-num-rational" ,rust-num-rational-0.4)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-typenum" ,rust-typenum-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-num-bigint" ,rust-num-bigint-0.4))
       #:cargo-development-inputs (("rust-approx" ,rust-approx-0.5)
                                   ("rust-quickcheck" ,rust-quickcheck-0.8)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-uom-0.30
  (package
    (inherit rust-uom-0.34)
    (name "rust-uom")
    (version "0.30.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1vg59hnb7hh0p8kjjhgmrsnn3597722lkfdkp481wksq6vk06rg7"))))
    (arguments
     `(#:cargo-inputs (("rust-num-bigint" ,rust-num-bigint-0.3)
                       ("rust-num-rational" ,rust-num-rational-0.3)
                       ("rust-num-traits" ,rust-num-traits-0.2)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-typenum" ,rust-typenum-1))
       #:cargo-development-inputs
       (("rust-approx" ,rust-approx-0.3)
        ("rust-quickcheck" ,rust-quickcheck-0.9)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-static-assertions" ,rust-static-assertions-1))))))

(define-public rust-ureq-2
  (package
    (name "rust-ureq")
    (version "2.12.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "ureq" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "07f0qdn6459k4rmdnkivkz0y7j28vxh5c8q8sr0gcxgdfxiadl82"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Many network test failures.
       #:cargo-inputs
       (("rust-base64" ,rust-base64-0.22)
        ("rust-brotli-decompressor" ,rust-brotli-decompressor-4)
        ("rust-cookie" ,rust-cookie-0.18)
        ("rust-cookie-store" ,rust-cookie-store-0.21)
        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
        ("rust-flate2" ,rust-flate2-1)
        ("rust-hootbin" ,rust-hootbin-0.1)
        ("rust-http" ,rust-http-1)
        ("rust-http" ,rust-http-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-native-tls" ,rust-native-tls-0.2)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-rustls" ,rust-rustls-0.23)
        ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.7)
        ("rust-rustls-pki-types" ,rust-rustls-pki-types-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-socks" ,rust-socks-0.3)
        ("rust-url" ,rust-url-2)
        ("rust-webpki-roots" ,rust-webpki-roots-0.26))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.10)
        ("rust-rustls" ,rust-rustls-0.23)
        ("rust-rustls-pemfile" ,rust-rustls-pemfile-2)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/algesten/ureq")
    (synopsis "Simple, safe HTTP client")
    (description "This package provides minimal request library in Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-url-2
  (package
    (name "rust-url")
    (version "2.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "url" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0q6sgznyy2n4l5lm16zahkisvc9nip9aa5q1pps7656xra3bdy1j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-form-urlencoded" ,rust-form-urlencoded-1)
        ("rust-idna" ,rust-idna-1)
        ("rust-percent-encoding" ,rust-percent-encoding-2)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/servo/rust-url")
    (synopsis "URL library for Rust, based on the WHATWG URL Standard")
    (description
     "URL library for Rust, based on the WHATWG URL Standard.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-url-1
  (package
    (inherit rust-url-2)
    (name "rust-url")
    (version "1.7.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "url" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0nim1c90mxpi9wgdw2xh8dqd72vlklwlzam436akcrhjac6pqknx"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-encoding" ,rust-encoding-0.2)
        ("rust-heapsize" ,rust-heapsize-0.4)
        ("rust-idna" ,rust-idna-0.1)
        ("rust-matches" ,rust-matches-0.1)
        ("rust-percent-encoding" ,rust-percent-encoding-1)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs
       (("rust-bencher" ,rust-bencher-0.1)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-rustc-test" ,rust-rustc-test-0.3)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-urlencoding-2
  (package
    (name "rust-urlencoding")
    (version "2.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "urlencoding" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nj99jp37k47n0hvaz5fvz7z6jd0sb4ppvfy3nphr1zbnyixpy6s"))))
    (build-system cargo-build-system)
    (home-page "https://lib.rs/urlencoding")
    (synopsis "Rust library for doing URL percentage encoding")
    (description
     "This package provides a Rust library for doing URL percentage encoding.")
    (license license:expat)))

(define-public rust-urlencoding-1
  (package
    (inherit rust-urlencoding-2)
    (name "rust-urlencoding")
    (version "1.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "urlencoding" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14sm5c8idb5jzib8dwf85p5yhd65vxjh946p80p49d2j6fsjw8y9"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-usb-ids-1
  (package
    (name "rust-usb-ids")
    (version "1.2024.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "usb-ids" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qsgk1i2h5ngpbf17rx9m9c9pdfwli6psz8b4vxvcr1rhy0zmflg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-nom" ,rust-nom-7)
                       ("rust-phf" ,rust-phf-0.11)
                       ("rust-phf-codegen" ,rust-phf-codegen-0.11)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/woodruffw/usb-ids.rs")
    (synopsis "Rust wrappers for the USB ID Repository")
    (description
     "This package provides Rust wrappers for the USB ID Repository.")
    (license license:expat)))

(define-public rust-users-0.11
  (package
    (name "rust-users")
    (version "0.11.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "users" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cmhafhhka2yya66yrprlv33kg7rm1xh1pyalbjp6yr6dxnhzk14"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-log" ,rust-log-0.4))))
    (home-page "https://github.com/ogham/rust-users")
    (synopsis "Library for getting information on Unix users and groups")
    (description "This package provides a library for getting information on
Unix users and groups.")
    (license license:expat)))

(define-public rust-ustr-0.9
  (package
    (name "rust-ustr")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "ustr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "177sfj2gcxcxbyw756k4r7dbpsnkjrb62nrqvibdx019kw4kc51p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-ahash" ,rust-ahash-0.7)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-fasthash" ,rust-fasthash-0.4)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-parking-lot" ,rust-parking-lot-0.11)
        ("rust-serde" ,rust-serde-1)
        ("rust-spin" ,rust-spin-0.7))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-string-interner" ,rust-string-interner-0.12)
        ("rust-string-cache" ,rust-string-cache-0.8))))
    (home-page "https://github.com/anderslanglands/ustr")
    (synopsis "Fast, FFI-friendly string interning")
    (description
     "This package provides a fast and FFI-friendly string interning.")
    (license (license:non-copyleft
              "https://spdx.org/licenses/BSD-2-Clause-Patent.html"))))

(define-public rust-utf-8-0.7
  (package
    (name "rust-utf-8")
    (version "0.7.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf-8" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1a9ns3fvgird0snjkd3wbdhwd3zdpc2h5gpyybrfr6ra5pkqxk09"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/SimonSapin/rust-utf8")
    (synopsis
     "Incremental, zero-copy UTF-8 decoding with error handling")
    (description
     "Incremental, zero-copy UTF-8 decoding with error handling.")
    (license (list license:expat license:asl2.0))))

(define-public rust-utf16-iter-1
  (package
    (name "rust-utf16-iter")
    (version "1.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf16_iter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ik2krdr73hfgsdzw0218fn35fa09dg2hvbi1xp3bmdfrp9js8y8"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/utf16_iter/")
    (synopsis "Iterator by char over potentially-invalid UTF-16 in &[u16]")
    (description
     "This package provides an iterator by char over potentially-invalid
UTF-16 in &[u16].")
    (license (list license:asl2.0 license:expat))))

(define-public rust-utf8-iter-1
  (package
    (name "rust-utf8-iter")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf8_iter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1gmna9flnj8dbyd8ba17zigrp9c4c3zclngf5lnb5yvz1ri41hdn"))))
    (build-system cargo-build-system)
    (home-page "https://docs.rs/utf8_iter/")
    (synopsis "Iterator by char over potentially-invalid UTF-8 in &[u8]")
    (description
     "This package provides an iterator by char over potentially-invalid
UTF-8 in &[u8].")
    (license (list license:asl2.0 license:expat))))

(define-public rust-utf8-ranges-1
  (package
    (name "rust-utf8-ranges")
    (version "1.0.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf8-ranges" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1fpc32znar5v02nwsw7icl41jzzzzhy0si6ngqjylzrbxxpi3bml"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-quickcheck" ,rust-quickcheck-0.8))))
    (home-page "https://github.com/BurntSushi/utf8-ranges")
    (synopsis
     "Convert ranges of Unicode codepoints to UTF-8 byte ranges")
    (description
     "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
    (license (list license:expat license:unlicense))))

(define-public rust-utf8-ranges-0.1
  (package
    (inherit rust-utf8-ranges-1)
    (name "rust-utf8-ranges")
    (version "0.1.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf8-ranges" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.2))))))

(define-public rust-utf8-width-0.1
  (package
    (name "rust-utf8-width")
    (version "0.1.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf8-width" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18fbr6bbkfprs0hb2pdz3ckfb6i1gm0j0x7ka3fhvbyd5m2ck42i"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))
    (home-page "https://magiclen.org/utf8-width")
    (synopsis "Determine the width of a UTF-8 character")
    (description
     "This package determines the width of a UTF-8 character by providing its
first byte.")
    (license license:expat)))

(define-public rust-utf8parse-0.2
  (package
    (name "rust-utf8parse")
    (version "0.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf8parse" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "02ip1a0az0qmc2786vxk2nqwsgcwf17d3a38fkf0q7hrmwh9c6vi"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/alacritty/vte")
    (synopsis "Table-driven UTF-8 parser")
    (description "This package provides a table-driven UTF-8 parser.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-utf8parse-0.1
  (package
    (inherit rust-utf8parse-0.2)
    (name "rust-utf8parse")
    (version "0.1.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "utf8parse" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0zamsj2986shm4x9zncjf2m5qy9scaw7qnxw4f89b2afpg6a8wl7"))))))

(define-public rust-uu-cp-0.0.28
  (package
    (name "rust-uu-cp")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_cp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "047485nv8n0621li7ghp2g9lmc9axhy9zhdgr64bpxmcbsgzgvz0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-exacl" ,rust-exacl-0.12)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-indicatif" ,rust-indicatif-0.17)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-quick-error" ,rust-quick-error-2)
                       ("rust-selinux" ,rust-selinux-0.4)
                       ("rust-uucore" ,rust-uucore-0.0.28)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-xattr" ,rust-xattr-1))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "cp ~ (uutils) copy SOURCE to DESTINATION")
    (description "This package provides the @code{cp} command from uutils.")
    (license license:expat)))

(define-public rust-uu-mkdir-0.0.28
  (package
    (name "rust-uu-mkdir")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_mkdir" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fhdg1vqbdq679j42m2gykjh0fmb66hai9f5n53bgjzffpw7rfpy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-uucore" ,rust-uucore-0.0.28))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "mkdir ~ (uutils) create DIRECTORY")
    (description "This package provides the @code{mkdir} command from uutils.")
    (license license:expat)))

(define-public rust-uu-mktemp-0.0.28
  (package
    (name "rust-uu-mktemp")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_mktemp" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13vw6021xfbssz3q4q6p23ksgb8bsnmbwnb6xv2ngrk0kwwgv70s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-uucore" ,rust-uucore-0.0.28))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "mktemp ~ (uutils) create and display a temporary file or directory")
    (description "This package provides the @code{mktemp} command from uutils.")
    (license license:expat)))

(define-public rust-uu-mv-0.0.28
  (package
    (name "rust-uu-mv")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_mv" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "086swwxq6lc26n51nwsxhaslkzmc2z7b1fj3akvhiwfdzhqj54xz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-fs-extra" ,rust-fs-extra-1)
                       ("rust-indicatif" ,rust-indicatif-0.17)
                       ("rust-uucore" ,rust-uucore-0.0.28))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "mv ~ (uutils) move (rename) SOURCE to DESTINATION")
    (description "This package provides the @code{mv} command from uutils.")
    (license license:expat)))

(define-public rust-uu-touch-0.0.28
  (package
    (name "rust-uu-touch")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_touch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0z2c28apr1v5siz6rmn5bzbf0n2hd17yk8ikh9bhrdym27n6nism"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-filetime" ,rust-filetime-0.2)
                       ("rust-parse-datetime" ,rust-parse-datetime-0.6)
                       ("rust-uucore" ,rust-uucore-0.0.28)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "touch ~ (uutils) change FILE timestamps")
    (description
     "This package provides touch ~ (uutils) change FILE timestamps.")
    (license license:expat)))

(define-public rust-uu-uname-0.0.28
  (package
    (name "rust-uu-uname")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_uname" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0439n012in9wkqymhda7gd9cg7afqw2zzcf1pf62ixz6l9ql0aqq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-platform-info" ,rust-platform-info-2)
                       ("rust-uucore" ,rust-uucore-0.0.28))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "uname ~ (uutils) display system information")
    (description
     "This package provides uname ~ (uutils) display system information.")
    (license license:expat)))

(define-public rust-uu-whoami-0.0.28
  (package
    (name "rust-uu-whoami")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uu_whoami" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xa4z5bxygfrb6cybgvn0gl4mxw4zhk1478bbpwnb3222h2205ax"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-uucore" ,rust-uucore-0.0.28)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis
     "whoami ~ (uutils) display user name of current effective user ID")
    (description "This package provides the @code{whoami} command from uutils.")
    (license license:expat)))

(define-public rust-uucore-0.0.28
  (package
    (name "rust-uucore")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uucore" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "04k4rbrxw37i7a081jiz03afhaam2gs82laccmsjb4a61h2l7sh4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-blake2b-simd" ,rust-blake2b-simd-1)
                       ("rust-blake3" ,rust-blake3-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-data-encoding" ,rust-data-encoding-2)
                       ("rust-data-encoding-macro" ,rust-data-encoding-macro-0.1)
                       ("rust-digest" ,rust-digest-0.10)
                       ("rust-dns-lookup" ,rust-dns-lookup-2)
                       ("rust-dunce" ,rust-dunce-1)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-itertools" ,rust-itertools-0.13)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-md-5" ,rust-md-5-0.10)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-nix" ,rust-nix-0.29)
                       ("rust-number-prefix" ,rust-number-prefix-0.4)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-os-display" ,rust-os-display-0.1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-sha1" ,rust-sha1-0.10)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-sha3" ,rust-sha3-0.10)
                       ("rust-sm3" ,rust-sm3-0.4)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-uucore-procs" ,rust-uucore-procs-0.0.28)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-wild" ,rust-wild-2)
                       ("rust-winapi-util" ,rust-winapi-util-0.1)
                       ("rust-windows-sys" ,rust-windows-sys-0.59)
                       ("rust-xattr" ,rust-xattr-1)
                       ("rust-z85" ,rust-z85-3))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "uutils ~ 'core' uutils code library")
    (description "This package provides the core uutils code library.")
    (license license:expat)))

(define-public rust-uucore-procs-0.0.28
  (package
    (name "rust-uucore-procs")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uucore_procs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0485141khwfy7gdxfvhq93g0nwsvz3fbkc0y7qvxjx92z665j7fr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-uuhelp-parser" ,rust-uuhelp-parser-0.0.28))))
    (home-page "https://github.com/uutils/coreutils")
    (synopsis "uutils ~ 'uucore' proc-macros")
    (description "This package provides the uucore proc-macros.")
    (license license:expat)))

(define-public rust-uuhelp-parser-0.0.28
  (package
    (name "rust-uuhelp-parser")
    (version "0.0.28")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uuhelp_parser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "173fzyid13yfzp2gvwd73h6sydifhh6qv5d29r5js9fcj74xid46"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/uutils/coreutils")
    (synopsis
     "Collection of functions to parse the markdown code of help files")
    (description
     "This package provides a collection of functions to parse the markdown code
of help files.")
    (license license:expat)))

(define-public rust-uuid-1
  (package
    (name "rust-uuid")
    (version "1.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "uuid" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0sj4l28lif2wm4xrafdfgqjywjzv43wzp8nii9a4i539myhg1igq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arbitrary" ,rust-arbitrary-1)
        ("rust-atomic" ,rust-atomic-0.6)
        ("rust-borsh" ,rust-borsh-1)
        ("rust-borsh-derive" ,rust-borsh-derive-1)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-md-5" ,rust-md-5-0.10)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-sha1-smol" ,rust-sha1-smol-1)
        ("rust-slog" ,rust-slog-2)
        ("rust-uuid-macro-internal" ,rust-uuid-macro-internal-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-zerocopy" ,rust-zerocopy-0.8))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/uuid-rs/uuid")
    (synopsis "Library to generate and parse UUIDs")
    (description
     "This package provides a library to generate and parse UUIDs.")
    ;; The user can choose either license.
    (license (list license:asl2.0 license:expat))))

(define-public rust-uuid-0.8
  (package
    (inherit rust-uuid-1)
    (name "rust-uuid")
    (version "0.8.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "uuid" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1dy4ldcp7rnzjy56dxh7d2sgrcvn4q77y0a8r0a48946h66zjp5w"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-md5" ,rust-md5-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-sha1" ,rust-sha1-0.6)
        ("rust-slog" ,rust-slog-2)
        ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-uuid-0.7
  (package
    (name "rust-uuid")
    (version "0.7.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uuid" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0ank4xk20x3nrz926w8j9mz53bi3v8bykxmhlq2pffa8xc8wdnwh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-md5" ,rust-md5-0.6)
        ("rust-rand" ,rust-rand-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-sha1" ,rust-sha1-0.6)
        ("rust-slog" ,rust-slog-2)
        ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs
       (("rust-bincode" ,rust-bincode-1)
        ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/uuid-rs/uuid")
    (synopsis "Generate and parse UUIDs")
    (description
     "This package provides a library to generate and parse UUIDs.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-uuid-0.5
  (package
    (inherit rust-uuid-0.7)
    (name "rust-uuid")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uuid" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "08nw3famk1w1zf9ck32pmklk24wd4n4nqnr9wl46qvxak2wf7ixw"))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--lib")
       #:cargo-inputs
       (("rust-md5" ,rust-md5-0.3)
        ("rust-rand" ,rust-rand-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
        ("rust-serde" ,rust-serde-1)
        ("rust-sha1" ,rust-sha1-0.2))))))

(define-public rust-uuid-macro-internal-1
  (package
    (name "rust-uuid-macro-internal")
    (version "1.11.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "uuid-macro-internal" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "024s8hxxjwgc218kfx9xs274dhnkv1ik9818kv7d0f1sw5zzb4bb"))))
    (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/uuid-rs/uuid")
    (synopsis "@code{uuid!} macro implementation details")
    (description
     "This package contains private implementation details of the
@code{uuid!} macro.  It is not intended for direct usage.")
    ;; The user can choose either license.
    (license (list license:asl2.0 license:expat))))

(define-public rust-uutils-term-grid-0.6
  (package
    (name "rust-uutils-term-grid")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uutils_term_grid" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ys1y4bjdgwhvd3c9b2c8hx2dmnxjsgqgg3sll1mgfmlmnsfz7gq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-ansi-width" ,rust-ansi-width-0.1))))
    (home-page "https://github.com/uutils/uutils-term-grid")
    (synopsis
     "Fork of the @code{term_grid} for formatting strings into a grid layout")
    (description "A fork of @code{term_grid}, this package provides a library
for formatting strings into a grid layout.")
    (license license:expat)))

(define-public rust-uzers-0.12
  (package
    (name "rust-uzers")
    (version "0.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uzers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pcpi9v90nr3q2y3i4pkac9c20r1nzaimvcm7vajmn770ksizy2d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-serial-test" ,rust-serial-test-3))))
    (home-page "https://github.com/rustadopt/uzers-rs")
    (synopsis "Library for getting information on Unix users and groups")
    (description
     "This package provides a library for getting information on Unix users
and groups.  A more maintained fork of the @code{rust-users} crate.")
    (license license:expat)))

(define-public rust-uzers-0.11
  (package
    (inherit rust-uzers-0.12)
    (name "rust-uzers")
    (version "0.11.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "uzers" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qrzbhncbv4s52lgyzs2pxn1b6gmx9k7h1rdwdwix44cgvf87lkn"))))
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.7))))))

(define-public rust-v-frame-0.3
  (package
    (name "rust-v-frame")
    (version "0.3.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "v_frame" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0az9nd6qi1gyikh9yb3lhm453kf7d5isd6xai3j13kds4jm2mwyn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-aligned-vec" ,rust-aligned-vec-0.5)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-profiling" ,rust-profiling-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/xiph/rav1e")
    (synopsis "Video Frame data structures, part of rav1e")
    (description "This package provides @code{Video Frame} data structures, as
a part of rav1e.")
    (license license:bsd-2)))

(define-public rust-v-htmlescape-0.15
  (package
    (name "rust-v-htmlescape")
    (version "0.15.8")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "v_htmlescape" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "135inp4x7cc32k0hzrymlz1baf0rj0ah5h82nrpa9w0hqpxmg0jf"))))
    (build-system cargo-build-system)
    (arguments
     ;; The tests assume x86_64 or i686 architecture.
     ;; https://github.com/zzau13/v_escape/issues/55
     ;; https://github.com/zzau13/v_escape/pull/123
     `(#:tests? ,(and (not (%current-target-system))
                      (target-x86?))
       #:cargo-inputs (("rust-buf-min" ,rust-buf-min-0.7))))
    (home-page "https://github.com/botika/v_escape")
    (synopsis "Simd optimized HTML escaping code")
    (description "This package provides simd optimized HTML escaping code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-validator-0.15
  (package
    (name "rust-validator")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "validator" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mgfpwry40fcsfabx7vziy0a7j9kxn6b49mvbv1hy770j09hlyzh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-card-validate" ,rust-card-validate-2)
                       ("rust-idna" ,rust-idna-0.2)
                       ("rust-indexmap" ,rust-indexmap-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-phonenumber" ,rust-phonenumber-0.3)
                       ("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-unic-ucd-common" ,rust-unic-ucd-common-0.9)
                       ("rust-url" ,rust-url-2)
                       ("rust-validator-derive" ,rust-validator-derive-0.15))))
    (home-page "https://github.com/Keats/validator")
    (synopsis "Common validation functions and trait")
    (description
     "This package provides common validation functions (email, url, length,
...) and trait.")
    (license license:expat)))

(define-public rust-validator-derive-0.15
  (package
    (name "rust-validator-derive")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "validator_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08vr07anpvgc9i18hyxi4y9si22kl8fqbkn4lrjdssrbrzldazpa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-if-chain" ,rust-if-chain-1)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-proc-macro-error" ,rust-proc-macro-error-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-1)
                       ("rust-validator-types" ,rust-validator-types-0.15))))
    (home-page "https://github.com/Keats/validator")
    (synopsis "Macros 1.1 implementation of #[derive(Validate)]")
    (description
     "This package provides a macros 1.1 implementation of #[derive(Validate)].")
    (license license:expat)))

(define-public rust-validator-types-0.15
  (package
    (name "rust-validator-types")
    (version "0.15.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "validator_types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ad3ilkwdx1vcwi7vbapkz8kqp9gdrfb34qlzjmlfs19jd1g7pfj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/Keats/validator")
    (synopsis "Basic type for validator and validator_derive")
    (description
     "This package provides a basic type for validator and validator_derive.")
    (license license:expat)))

(define-public rust-valuable-0.1
  (package
    (name "rust-valuable")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "valuable" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0v9gp3nkjbl30z0fd56d8mx7w1csk86wwjhfjhr400wh9mfpw2w3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-valuable-derive" ,rust-valuable-derive-0.1))))
    (home-page "https://github.com/tokio-rs/valuable")
    (synopsis "Object-safe value inspection")
    (description
     "This package implements object-safe value inspection, used to pass
un-typed structured data across trait-object boundaries.")
    (license license:expat)))

(define-public rust-valuable-derive-0.1
  (package
    (name "rust-valuable-derive")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "valuable-derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cjvqljzsj891cjzlwv0ihrv4m0n5211a6pr6b7cz42ich66ji4x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))
    (home-page "https://github.com/tokio-rs/valuable")
    (synopsis "Macros for the valuable crate")
    (description "This package provides macros for the @code{valuable}
crate.")
    (license license:expat)))

(define-public rust-valuable-serde-0.1
  (package
    (name "rust-valuable-serde")
    (version "0.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "valuable-serde" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "01q9ifpd1mk1ic2g8lagp35djzb8i7cm8skk4rkf5ayd63zwz1aj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-valuable" ,rust-valuable-0.1))
       #:cargo-development-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1)
        ("rust-valuable" ,rust-valuable-0.1))))
    (home-page "https://github.com/tokio-rs/valuable")
    (synopsis "`serde::Serialize` implementation for `Valuable` types")
    (description "This package provides a @code{serde::Serialize} implementation
for @code{Valuable} types.")
    (license license:expat)))

(define-public rust-value-bag-1
  (package
    (name "rust-value-bag")
    (version "1.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "value-bag" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lnsixdpi1ldms1adxyafyx7lyrqxhhskgwrjckmml6majmc9x1y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-value-bag-serde1" ,rust-value-bag-serde1-1)
        ("rust-value-bag-sval2" ,rust-value-bag-sval2-1))
       #:cargo-development-inputs
       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
    (home-page "https://github.com/sval-rs/value-bag")
    (synopsis "Anonymous structured values")
    (description "This package provides anonymous structured values.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-value-bag-serde1-1
  (package
    (name "rust-value-bag-serde1")
    (version "1.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "value-bag-serde1" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02sv7k5q2gf9ga91fj3k2rj3hrlw9m2r8v1kdv5cfngx6syp7dsb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-erased-serde" ,rust-erased-serde-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-buf" ,rust-serde-buf-0.1)
        ("rust-serde-fmt" ,rust-serde-fmt-1)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-test" ,rust-serde-test-1))))
    (home-page "https://github.com/sval-rs/value-bag")
    (synopsis "Implementation detail for value-bag")
    (description "Implementation detail for value-bag.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-value-bag-sval2-1
  (package
    (name "rust-value-bag-sval2")
    (version "1.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "value-bag-sval2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fm8lkzbf18x8hch9dqlrmxncxcp8iynb5scd643mi6a0akidaak"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-sval" ,rust-sval-2)
        ("rust-sval-buffer" ,rust-sval-buffer-2)
        ("rust-sval-dynamic" ,rust-sval-dynamic-2)
        ("rust-sval-fmt" ,rust-sval-fmt-2)
        ("rust-sval-json" ,rust-sval-json-2)
        ("rust-sval-ref" ,rust-sval-ref-2)
        ("rust-sval-serde" ,rust-sval-serde-2)
        ("rust-sval-test" ,rust-sval-test-2))))
    (home-page "https://github.com/sval-rs/value-bag")
    (synopsis "Implementation detail for value-bag")
    (description "Implementation detail for value-bag.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-value-trait-0.8
  (package
    (name "rust-value-trait")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "value-trait" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1d3yl8g6xzp4ah4r7nrqrb1vxy9vgp53z80vy9ypjxz6q6cdpn6s"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-abi-stable" ,rust-abi-stable-0.11)
                       ("rust-float-cmp" ,rust-float-cmp-0.9)
                       ("rust-halfbrown" ,rust-halfbrown-0.2)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-itoa" ,rust-itoa-1)
                       ("rust-ryu" ,rust-ryu-1))))
    (home-page "https://github.com/simd-lite/value-trait")
    (synopsis "Traits to deal with JSONesque values")
    (description "This package provides traits to deal with JSONesque values.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-varbincode-0.1
  (package
    (name "rust-varbincode")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varbincode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "17vgwalm7a1lryjj565p4rnx5h3hr8vwm5504r92s7j41f8gl4mp"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-leb128" ,rust-leb128-0.2)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://github.com/wez/varbincode")
    (synopsis "Binary encoder and decoder with variable length integer")
    (description
     "This package provides a binary encoder / decoder with variable length
integer encoding implementation in Rust.")
    (license license:expat)))

(define-public rust-varisat-0.2
  (package
    (name "rust-varisat")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varisat" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1bvwh2bk80a5nci3sd3p205200c6pmbgd5f299krd48y3n2hkrpb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-anyhow" ,rust-anyhow-1)
        ("rust-itoa" ,rust-itoa-0.4)
        ("rust-leb128" ,rust-leb128-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-ordered-float" ,rust-ordered-float-2)
        ("rust-partial-ref" ,rust-partial-ref-0.3)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-varisat-checker" ,rust-varisat-checker-0.2)
        ("rust-varisat-dimacs" ,rust-varisat-dimacs-0.2)
        ("rust-varisat-formula" ,rust-varisat-formula-0.2)
        ("rust-varisat-internal-macros" ,rust-varisat-internal-macros-0.2)
        ("rust-varisat-internal-proof" ,rust-varisat-internal-proof-0.2)
        ("rust-vec-mut-scan" ,rust-vec-mut-scan-0.3))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-varisat-formula" ,rust-varisat-formula-0.2))))
    (home-page "https://jix.one/project/varisat/")
    (synopsis "CDCL based SAT solver (library)")
    (description "This package provides a CDCL based SAT solver (library).")
    (license (list license:expat license:asl2.0))))

(define-public rust-varisat-checker-0.2
  (package
    (name "rust-varisat-checker")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varisat-checker" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fvndkgd2ypgr9rygnj0glxk0492696qw6xqysc6xv8kb5y9fp0k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-partial-ref" ,rust-partial-ref-0.3)
        ("rust-rustc-hash" ,rust-rustc-hash-1)
        ("rust-smallvec" ,rust-smallvec-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-varisat-dimacs" ,rust-varisat-dimacs-0.2)
        ("rust-varisat-formula" ,rust-varisat-formula-0.2)
        ("rust-varisat-internal-proof" ,rust-varisat-internal-proof-0.2))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-0.10)
        ("rust-varisat-formula" ,rust-varisat-formula-0.2))))
    (home-page "https://jix.one/project/varisat/")
    (synopsis "Proof checker for proofs generate by the Varisat SAT solver")
    (description
     "This package provides a proof checker for proofs generate by the
Varisat SAT solver.")
    (license (list license:expat license:asl2.0))))

(define-public rust-varisat-dimacs-0.2
  (package
    (name "rust-varisat-dimacs")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varisat-dimacs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0di68140imf7nfhhipkqllrp5m6f1iqsxxrrm70087xy457fw79x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-itoa" ,rust-itoa-0.4)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-varisat-formula" ,rust-varisat-formula-0.2))
       #:cargo-development-inputs
       (("rust-env-logger" ,rust-env-logger-0.7)
        ("rust-proptest" ,rust-proptest-0.10)
        ("rust-rand" ,rust-rand-0.7)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-varisat-formula" ,rust-varisat-formula-0.2))))
    (home-page "https://jix.one/project/varisat/")
    (synopsis "DIMCAS CNF parser and writer for the Varisat SAT solver")
    (description
     "This package provides DIMCAS CNF parser and writer for the Varisat SAT solver.")
    (license (list license:expat license:asl2.0))))

(define-public rust-varisat-formula-0.2
  (package
    (name "rust-varisat-formula")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varisat-formula" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08256rfjdmvfxjjw162r6l5ipfd46in9vx1sdmnhgndzp51map1r"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proptest" ,rust-proptest-0.10)
                       ("rust-rand" ,rust-rand-0.7))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-0.10)
                                   ("rust-rand" ,rust-rand-0.7))))
    (home-page "https://jix.one/project/varisat/")
    (synopsis "Basic formula data types used by the Varisat SAT solver")
    (description
     "This package provides Basic formula data types used by the Varisat SAT solver.")
    (license (list license:expat license:asl2.0))))

(define-public rust-varisat-internal-macros-0.2
  (package
    (name "rust-varisat-internal-macros")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varisat-internal-macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13a0297kq3qhk6wa59sd44zjlhn0qs358ia8g2m6dl236mvwwbk0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-1)
                       ("rust-synstructure" ,rust-synstructure-0.12))))
    (home-page "https://jix.one/project/varisat/")
    (synopsis "Internal macros for the Varisat SAT solver")
    (description
     "This package provides Internal macros for the Varisat SAT solver.")
    (license (list license:expat license:asl2.0))))

(define-public rust-varisat-internal-proof-0.2
  (package
    (name "rust-varisat-internal-proof")
    (version "0.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "varisat-internal-proof" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "01yj4zalzp6x6wa0yr3xl8v1q51xh1vgjr3dnxvz12h1r5xvnqv1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-varisat-formula" ,rust-varisat-formula-0.2))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-0.10))))
    (home-page "https://jix.one/project/varisat/")
    (synopsis "Internal proof format for the Varisat SAT solver")
    (description
     "This package provides Internal proof format for the Varisat SAT solver.")
    (license (list license:expat license:asl2.0))))

(define-public rust-vcpkg-0.2
  (package
    (name "rust-vcpkg")
    (version "0.2.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "vcpkg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc"))
        (snippet
         #~(begin (use-modules (guix build utils))
                  (for-each delete-file-recursively
                            '("test-data/normalized/installed/arm64-ios"
                              "test-data/normalized/installed/x64-osx"
                              "test-data/normalized/installed/x64-windows"
                              "test-data/normalized/installed/x64-windows-static"
                              "test-data/normalized/installed/x86-windows"
                              "test-data/no-status/installed/x64-windows"))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests want mysql, harfbuzz, graphite2.
       #:cargo-development-inputs
       (("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-tempdir" ,rust-tempdir-0.3))))
    (home-page "https://github.com/mcgoo/vcpkg-rs")
    (synopsis "Find native dependencies in a vcpkg tree at build time")
    (description
     "This package provides a library to find native dependencies in a
@code{vcpkg} tree at build time in order to be used in Cargo build scripts.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-vec-map-0.8
  (package
    (name "rust-vec-map")
    (version "0.8.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "vec_map" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1481w9g1dw9rxp3l6snkdqihzyrd2f8vispzqmwjwsdyhw8xzggi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/contain-rs/vec-map")
    (synopsis "Simple map based on a vector for small integer keys")
    (description
     "This package provides a simple map based on a vector for small integer keys.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-vec-mut-scan-0.3
  (package
    (name "rust-vec-mut-scan")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vec_mut_scan" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1lkz66l8z13lvjll69s23vrca12inpyyh00kwg0djqsyil563vb8"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/jix/vec_mut_scan")
    (synopsis "Forward scan over a vector with mutation and item removal")
    (description
     "This package provides forward scan over a vector with mutation and
item removal.")
    (license license:bsd-0)))

(define-public rust-vec1-1
  (package
    (name "rust-vec1")
    (version "1.12.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vec1" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08k370srixpnqgvyxqjqvkzig4j9c5kapqzvzsqfys8ghib8pdpa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-smallvec" ,rust-smallvec-1))
       #:cargo-development-inputs (("rust-proptest" ,rust-proptest-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/rustonaut/vec1/")
    (synopsis "Vec wrapper assuring that it has at least 1 element")
    (description "This package provides a std Vec wrapper assuring that it has
at least 1 element.")
    (license (list license:expat license:asl2.0))))

(define-public rust-vek-0.15
  (package
    (name "rust-vek")
    (version "0.15.10")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vek" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "05xxxv4mmm587l4bj0hcclpmk3yz35ggmnhcigy4gg7rc8k8i1c0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-approx" ,rust-approx-0.5)
        ("rust-az" ,rust-az-1)
        ("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-image" ,rust-image-0.23)
        ("rust-mint" ,rust-mint-0.5)
        ("rust-num-integer" ,rust-num-integer-0.1)
        ("rust-num-traits" ,rust-num-traits-0.2)
        ("rust-rustc-version" ,rust-rustc-version-0.4)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/yoanlcq/vek")
    (synopsis "Generic 2D-3D math swiss army knife for game engines")
    (description
     "This package provides a generic 2D-3D math swiss army knife for game
engines, with SIMD support and focus on convenience.")
    (license (list license:expat license:asl2.0))))

(define-public rust-vergen-9
  (package
    (name "rust-vergen")
    (version "9.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vergen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0f86dz7mm0blfw17lggkkwm548mdjgq8f7llqxaz8pghz345zwii"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `test_util`
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cargo-metadata" ,rust-cargo-metadata-0.19)
                       ("rust-derive-builder" ,rust-derive-builder-0.20)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-sysinfo" ,rust-sysinfo-0.32)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-vergen-lib" ,rust-vergen-lib-0.1))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-serial-test" ,rust-serial-test-3)
                                   ("rust-temp-env" ,rust-temp-env-0.3))))
    (home-page "https://github.com/rustyhorde/vergen")
    (synopsis
     "Generate @code{cargo:rustc-env} instructions via @code{build.rs}")
    (description
     "This package provides version generation for use in your Rust code.")
    (license (list license:expat license:asl2.0))))

(define-public rust-vergen-8
  (package
    (inherit rust-vergen-9)
    (name "rust-vergen")
    (version "8.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vergen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ri5n4k1g4z6gnllkjx9zny3vaa2bjma84zlrjh6w9k7b7mdk419"))))
    (arguments
     `(#:tests? #f
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
                       ("rust-cfg-if" ,rust-cfg-if-1)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-gix" ,rust-gix-0.63)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustc-version" ,rust-rustc-version-0.4)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-sysinfo" ,rust-sysinfo-0.30)
                       ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs (("rust-gix" ,rust-gix-0.63)
                                   ("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-serial-test" ,rust-serial-test-3)
                                   ("rust-temp-env" ,rust-temp-env-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list libgit2-1.8 zlib))))

(define-public rust-vergen-3
  (package
    (inherit rust-vergen-8)
    (name "rust-vergen")
    (version "3.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vergen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0npi6z9daviwhbay1pj5gasw680bmq6s5y6my4cqk77hb921w577"))))
    (arguments
     `(#:cargo-test-flags `("--release"
                            ;; Not the doc tests.
                            "--lib" "--bins" "--tests")
       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-rustc-version" ,rust-rustc-version-0.4))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1))))))

(define-public rust-vergen-git2-1
  (package
    (name "rust-vergen-git2")
    (version "1.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vergen-git2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1mri3bffr6578cigqrpcn8b0bfcgkvbskdxswg8ym7vlv1ly0qsy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `test_util`
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-derive-builder" ,rust-derive-builder-0.20)
                       ("rust-git2" ,rust-git2-0.19)
                       ("rust-rustversion" ,rust-rustversion-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-vergen" ,rust-vergen-9)
                       ("rust-vergen-lib" ,rust-vergen-lib-0.1))
       #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-serial-test" ,rust-serial-test-3)
                                   ("rust-temp-env" ,rust-temp-env-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list libgit2-1.8))
    (home-page "https://github.com/rustyhorde/vergen")
    (synopsis "Generate @code{cargo:rustc-env} instructions via @code{build.rs}")
    (description
     "This package provides @code{cargo:rustc-env} instructions via
@code{build.rs} for use in your code via the @code{env!} macro.")
    (license (list license:expat license:asl2.0))))

(define-public rust-vergen-lib-0.1
  (package
    (name "rust-vergen-lib")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vergen-lib" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ix19k2kvn4hzhhl6nld9h7fh1qh5z7j51z5rn2zq28wfpk6giy0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `test_util`
       #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-derive-builder" ,rust-derive-builder-0.20)
                       ("rust-rustversion" ,rust-rustversion-1))
       #:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-3)
                                   ("rust-temp-env" ,rust-temp-env-0.3))))
    (home-page "https://github.com/rustyhorde/vergen")
    (synopsis "Common code used to support the vergen libraries")
    (description
     "This package provides common code used to support the vergen libraries.")
    (license (list license:expat license:asl2.0))))

(define-public rust-version-check-0.9
  (package
    (name "rust-version-check")
    (version "0.9.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "version_check" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0nhhi4i5x89gm911azqbn7avs9mdacw2i3vcz3cnmz3mv4rqz4hb"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/SergioBenitez/version_check")
    (synopsis "Check that the installed rustc meets some version requirements")
    (description
     "This tiny crate checks that the running or installed rustc meets some
version requirements.  The version is queried by calling the Rust compiler with
@code{--version}.  The path to the compiler is determined first via the
@code{RUSTC} environment variable.  If it is not set, then @code{rustc} is used.
If that fails, no determination is made, and calls return None.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-version-check-0.1
  (package
    (inherit rust-version-check-0.9)
    (name "rust-version-check")
    (version "0.1.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "version_check" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))

(define-public rust-version-compare-0.2
  (package
    (name "rust-version-compare")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "version-compare" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12y9262fhjm1wp0aj3mwhads7kv0jz8h168nn5fb8b43nwf9abl5"))))
    (build-system cargo-build-system)
    (home-page "https://timvisee.com/projects/version-compare/")
    (synopsis "Rust library to easily compare version numbers")
    (description
     "This package provides a Rust library to easily compare version numbers,
and test them against various comparison operators.")
    (license license:expat)))

(define-public rust-version-compare-0.1
  (package
    (inherit rust-version-compare-0.2)
    (name "rust-version-compare")
    (version "0.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "version-compare" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0acg4pmjdbmclg0m7yhijn979mdy66z3k8qrcnvn634f1gy456jp"))))))

(define-public rust-version-compare-0.0.11
  (package
    (inherit rust-version-compare-0.1)
    (name "rust-version-compare")
    (version "0.0.11")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "version-compare" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "06v688jg6gd00zvm3cp7qh2h3mz8cs2ngr09bnwxhyddxrcwh60w"))))))

(define-public rust-version-sync-0.9
  (package
    (name "rust-version-sync")
    (version "0.9.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "version-sync" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "12b0z8p2hhj361g1jn5yzdkqk48zmhm671srvwykgskk07d6jlc3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9)
        ("rust-regex" ,rust-regex-1)
        ("rust-semver" ,rust-semver-1)
        ("rust-syn" ,rust-syn-2)
        ("rust-toml" ,rust-toml-0.7)
        ("rust-url" ,rust-url-2))
       #:cargo-development-inputs
       (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/mgeisler/version-sync")
    (synopsis
     "Ensure that version numbers are updated when the crate version changes")
    (description
     "Simple crate for ensuring that version numbers in README files are
updated when the crate version changes.")
    (license license:expat)))

(define-public rust-version-sync-0.8
  (package
    (inherit rust-version-sync-0.9)
    (name "rust-version-sync")
    (version "0.8.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "version-sync" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "01pq0ia7ak7d69c3chjgdmaaq271yrspgbzmk6wmrwb74hx3skw4"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-itertools" ,rust-itertools-0.8)
        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-semver-parser" ,rust-semver-parser-0.9)
        ("rust-syn" ,rust-syn-0.15)
        ("rust-toml" ,rust-toml-0.5)
        ("rust-url" ,rust-url-1))))))

(define-public rust-version-sync-0.6
  (package
    (inherit rust-version-sync-0.8)
    (name "rust-version-sync")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "version-sync" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0n33s4s4k9sy7rhlrf9lwwyqkjrgwnpfjsz0xzhfh3d3w33jaiq8"))
        (modules '((guix build utils)))
        (snippet
         '(begin (substitute* "Cargo.toml"
                   (("~1.1") "1.1"))
                 #t))))
    (arguments
     `(#:cargo-inputs
       (("rust-itertools" ,rust-itertools-0.7)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.1)
        ("rust-regex" ,rust-regex-1)
        ("rust-semver-parser" ,rust-semver-parser-0.9)
        ("rust-syn" ,rust-syn-0.15)
        ("rust-toml" ,rust-toml-0.4)
        ("rust-url" ,rust-url-1))))))

(define-public rust-version-track-0.1
  (package
    (name "rust-version-track")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "version-track" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bz1b96iqh4z4r90xc0ya5gmywps072g5w6q1vrv2qsfdgnzz6kd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; `pointer_structural_match` converted into hard error
       #:cargo-inputs (("rust-uuid" ,rust-uuid-1))))
    (home-page "https://github.com/MitMaro/version-track")
    (synopsis "Library used to track changes to complex data")
    (description
     "This package provides a library used to track changes to complex data,
when direct comparison or hashing is too expensive.")
    (license license:isc)))

(define-public rust-versions-6
  (package
    (name "rust-versions")
    (version "6.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "versions" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ff12avdiqhiv6nanikkjl1x3s2y7amkj3r5nivb7zficf5ljpgj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-itertools" ,rust-itertools-0.13)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-semver" ,rust-semver-1)
                                   ("rust-semver-parser" ,rust-semver-parser-0.10)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/fosskers/rs-versions")
    (synopsis "Library for parsing and comparing software version numbers")
    (description
     "This package provides a library for parsing and comparing software version
numbers.")
    (license license:expat)))

(define-public rust-vlq-0.5
  (package
    (name "rust-vlq")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vlq" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zygijgl47gasi0zx34ak1jq2n4qmk0cx2zpn13shba157npxpb5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.5))))
    (home-page "https://github.com/tromey/vlq")
    (synopsis "Sourcemap-style VLQ encoder and decoder")
    (description "Sourcemap-style VLQ encoder and decoder.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-void-1
  (package
    (name "rust-void")
    (version "1.0.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "void" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/reem/rust-void")
    (synopsis "Void type for use in statically impossible cases")
    (description
     "The uninhabited void type for use in statically impossible cases.")
    (license license:expat)))

(define-public rust-vsock-0.5
  (package
    (name "rust-vsock")
    (version "0.5.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vsock" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1276xvg0jadqvxw26m2018fbsi8lvgx3i5x0hvy4gwbjwq04v2sf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests not runnable from the build environment.
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-nix" ,rust-nix-0.29))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-sha2" ,rust-sha2-0.10))))
    (home-page "https://github.com/rust-vsock/vsock-rs")
    (synopsis "Virtio socket support for Rust")
    (description "This package provides virtio socket support for Rust.")
    (license license:asl2.0)))

(define-public rust-vsock-0.3
  (package
    (inherit rust-vsock-0.5)
    (name "rust-vsock")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "vsock" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0mwwcjk2yd3fi5ryv5xhd7569bmcj0dlsmi4bh4jh6qypzq1v3jc"))))
    (arguments
     `(#:tests? #f      ; Tests not runnable from the build environment.
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-nix" ,rust-nix-0.24))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-sha2" ,rust-sha2-0.10))))))

(define-public rust-vsock-0.2
  (package
    (inherit rust-vsock-0.3)
    (name "rust-vsock")
    (version "0.2.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "vsock" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0cy1gpiahygfzxms4z170qj672c7n8cjvd8a9hkxzr9w5gp7a9p3"))))
    (arguments
     `(#:tests? #f      ; Tests not runnable from the build environment.
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-nix" ,rust-nix-0.23))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.8)
        ("rust-sha2" ,rust-sha2-0.10))))))

(define-public rust-vsort-0.2
  (package
    (name "rust-vsort")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vsort" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1y7b0x18a2mpn7hk3qfybl2ksy08klwl3bps4yxsd7pr90dilcqi"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/juansc/vsort/")
    (synopsis "GNU Version Sort Rust implementation")
    (description "This package provides GNU Version Sort Rust implementation.")
    (license license:expat)))

(define-public rust-vswhom-0.1
  (package
    (name "rust-vswhom")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vswhom" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "12v0fjjzxdc3y5c0lcwycfhphz7zf2s06hl5krwhawah0xzrp5xy"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-vswhom-sys" ,rust-vswhom-sys-0.1))))
    (home-page "https://github.com/nabijaczleweli/vswhom.rs")
    (synopsis "FFI to Jon Blow's VS discovery script")
    (description
     "This package provides a pure FFI to Jon Blow's VS discovery script.")
    (license license:expat)))

(define-public rust-vswhom-sys-0.1
  (package
    (name "rust-vswhom-sys")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vswhom-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "065s8kx9sbrgjpmzxgiczyhb90xzxq9d95nd0s2v58n8yvhpmcfk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/nabijaczleweli/vswhom-sys.rs")
    (synopsis "Pure FFI to Jon Blow's VS discovery script")
    (description
     "This package provides a pure FFI to Jon Blow's VS discovery script.")
    (license license:expat)))

(define-public rust-vt100-0.15
  (package
    (name "rust-vt100")
    (version "0.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vt100" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1pklc8y984axmxr0cd363srr2d27wd5rj15xlcmkjznvy0xqdkc4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-itoa" ,rust-itoa-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-unicode-width" ,rust-unicode-width-0.1)
                       ("rust-vte" ,rust-vte-0.11))
       #:cargo-development-inputs (("rust-nix" ,rust-nix-0.26)
                                   ("rust-quickcheck" ,rust-quickcheck-0.9)
                                   ("rust-rand" ,rust-rand-0.7)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-terminal-size" ,rust-terminal-size-0.2)
                                   ("rust-vte" ,rust-vte-0.11))))
    (home-page "https://github.com/doy/vt100-rust")
    (synopsis "Library for parsing terminal data")
    (description "Library for parsing terminal data.")
    (license license:expat)))

(define-public rust-vte-0.13
  (package
    (name "rust-vte")
    (version "0.13.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vte" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12qqlvx7qlw1r8l6k9fyqj7k8v72xbz47kppsv0f0l7hjsp25ss0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-bitflags" ,rust-bitflags-2)
        ("rust-cursor-icon" ,rust-cursor-icon-1)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-utf8parse" ,rust-utf8parse-0.2)
        ("rust-vte-generate-state-changes" ,rust-vte-generate-state-changes-0.1))))
    (home-page "https://github.com/alacritty/vte")
    (synopsis "Parser for implementing terminal emulators")
    (description
     "This package provides a parser for implementing terminal emulators.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-vte-0.11
  (package
    (inherit rust-vte-0.13)
    (name "rust-vte")
    (version "0.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vte" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15r1ff4j8ndqj9vsyil3wqwxhhl7jsz5g58f31n0h1wlpxgjn0pm"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-log" ,rust-log-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-utf8parse" ,rust-utf8parse-0.2)
        ("rust-vte-generate-state-changes" ,rust-vte-generate-state-changes-0.1))))))

(define-public rust-vte-0.10
  (package
    (inherit rust-vte-0.11)
    (name "rust-vte")
    (version "0.10.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vte" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10srmy9ssircrwsb5lpx3fbhx71460j77kvz0krz38jcmf9fdg3c"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-utf8parse" ,rust-utf8parse-0.2)
        ("rust-vte-generate-state-changes"
         ,rust-vte-generate-state-changes-0.1))))))

(define-public rust-vte-0.9
  (package
    (inherit rust-vte-0.10)
    (name "rust-vte")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vte" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yjl1jzlrk617kwk445mg9zmc71nxvwghhgsxfqhmm9401hlaxvf"))))))

(define-public rust-vte-0.3
  (package
    (inherit rust-vte-0.10)
    (name "rust-vte")
    (version "0.3.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vte" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg"))
       (snippet
        '(begin
           (delete-file "vim10m_match")
           (delete-file "vim10m_table")))))
    (arguments
     `(#:tests? #f      ; tests not included in release
       #:cargo-inputs
       (("rust-utf8parse" ,rust-utf8parse-0.1))))))

(define-public rust-vte-generate-state-changes-0.1
  (package
    (name "rust-vte-generate-state-changes")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vte_generate_state_changes" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0biwgpcji3w4llz7h4bi8c2rwqchm9gmyr7dnjki1m853gp9ndif"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1))))
    (home-page "https://github.com/jwilm/vte")
    (synopsis "Proc macro for generating VTE state changes")
    (description
     "This package provides a proc macro for generating VTE state changes.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-vtparse-0.6
  (package
    (name "rust-vtparse")
    (version "0.6.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "vtparse" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1l5yz9650zhkaffxn28cvfys7plcw2wd6drajyf41pshn37jm6vd"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-utf8parse" ,rust-utf8parse-0.2))
       #:cargo-development-inputs (("rust-k9" ,rust-k9-0.11))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Low level escape sequence parser")
    (description "Low level escape sequence parser.")
    (license license:expat)))

(define-public rust-wait-timeout-0.2
  (package
    (name "rust-wait-timeout")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wait-timeout" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1xpkk0j5l9pfmjfh1pi0i89invlavfrd9av5xp0zhxgb29dhy84z"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/alexcrichton/wait-timeout")
    (synopsis "Wait on a child process with a timeout")
    (description
     "This package provides a crate to wait on a child process with a timeout
specified across Unix and Windows platforms.")
    (license (list license:expat license:asl2.0))))

(define-public rust-waker-fn-1
  (package
    (name "rust-waker-fn")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "waker-fn" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dvk0qsv88kiq22x8w0qz0k9nyrxxm5a9a9czdwdvvhcvjh12wii"))))
    (build-system cargo-build-system)
     (arguments
      (list #:cargo-inputs (list rust-portable-atomic-util-0.2)))
    (home-page "https://github.com/smol-rs/waker-fn")
    (synopsis "Convert closures into wakers")
    (description
     "This package converts closures into wakers.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-walkdir-2
  (package
    (name "rust-walkdir")
    (version "2.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "walkdir" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0jsy7a710qv8gld5957ybrnc07gavppp963gs32xk4ag8130jy99"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-same-file" ,rust-same-file-1)
        ("rust-winapi-util" ,rust-winapi-util-0.1))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/BurntSushi/walkdir")
    (synopsis "Recursively walk a directory")
    (description "Recursively walk a directory.")
    (license (list license:unlicense license:expat))))

(define-public rust-walkdir-1
  (package
    (inherit rust-walkdir-2)
    (name "rust-walkdir")
    (version "1.0.7")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "walkdir" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1zw8safzqpsrvfn0256cngq2fr9d4lmwv5qb8ycn1f7sf3kgj25v"))))
    (arguments
     `(#:cargo-inputs
       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
        ("rust-same-file" ,rust-same-file-0.1)
        ("rust-winapi" ,rust-winapi-0.2))
       #:cargo-development-inputs
       (("rust-docopt" ,rust-docopt-0.7)
        ("rust-quickcheck" ,rust-quickcheck-0.4)
        ("rust-rand" ,rust-rand-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))

(define-public rust-want-0.3
  (package
    (name "rust-want")
    (version "0.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "want" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "03hbfrnvqqdchb5kgxyavb9jabwza0dmh2vw5kg0dq8rxl57d9xz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-try-lock" ,rust-try-lock-0.2))
       #:cargo-development-inputs
       (("rust-tokio-executor" ,rust-tokio-executor-0.2)
        ("rust-tokio-sync" ,rust-tokio-sync-0.2))))
    (home-page "https://github.com/seanmonstar/want")
    (synopsis "Detect when another future wants a result")
    (description "This package lets you detect when another future wants a
result.")
    (license license:expat)))

(define-public rust-want-0.2
  (package
    (name "rust-want")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "want" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0c52g7b4hhj033jc56sx9z3krivyciz0hlblixq2gc448zx5wfdn"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f ;; 2/5 tests fail
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.1)
        ("rust-log" ,rust-log-0.4)
        ("rust-try-lock" ,rust-try-lock-0.2))))
    (home-page "https://github.com/seanmonstar/want")
    (synopsis "Detect when another Future wants a result")
    (description "Detect when another Future wants a result.")
    (license license:expat)))

(define-public rust-wasi-0.11
  (package
    (name "rust-wasi")
    (version "0.11.0+wasi-snapshot-preview1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw"))))
    (build-system cargo-build-system)
    (arguments
     (list #:skip-build? #t
           #:cargo-inputs
           `(("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
             ("rust-rustc-std-workspace-alloc"
              ,rust-rustc-std-workspace-alloc-1)
             ("rust-rustc-std-workspace-core"
              ,rust-rustc-std-workspace-core-1))))
    (home-page "https://github.com/bytecodealliance/wasi")
    (synopsis "Experimental WASI API bindings for Rust")
    (description
     "This package provides experimental WASI API bindings for Rust.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-wasi-0.10
  (package
    (inherit rust-wasi-0.11)
    (name "rust-wasi")
    (version "0.10.2+wasi-snapshot-preview1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ii7nff4y1mpcrxzzvbpgxm7a1nn3szjf1n21jnx37c2g6dbsvzx"))))
    (arguments
     `(#:cargo-inputs
       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))

(define-public rust-wasi-0.9
  (package
    (inherit rust-wasi-0.11)
    (name "rust-wasi")
    (version "0.9.0+wasi-snapshot-preview1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wasi" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc"))))))

(define-public rust-wasite-0.1
  (package
    (name "rust-wasite")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasite" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0nw5h9nmcl4fyf4j5d4mfdjfgvwi1cakpi349wc4zrr59wxxinmq"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/ardaku/wasite/blob/stable/CHANGELOG.md")
    (synopsis "WASI Terminal Environment API")
    (description "This package provides WASI Terminal Environment API.")
    (license (list license:asl2.0 license:boost1.0 license:expat))))

(define-public rust-wasm-bindgen-0.2
  (package
    (name "rust-wasm-bindgen")
    (version "0.2.99")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15k3rzb3kjrxyqnh0916gq99mrpwhwy62smawxxc2w0x3llgcx54"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
      (("rust-cfg-if" ,rust-cfg-if-1)
       ("rust-once-cell" ,rust-once-cell-1)
       ("rust-serde" ,rust-serde-1)
       ("rust-serde-json" ,rust-serde-json-1)
       ("rust-wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2))
      #:cargo-development-inputs
      (("rust-paste" ,rust-paste-1)
       ("rust-serde-derive" ,rust-serde-derive-1))))
    (home-page "https://rustwasm.github.io/")
    (synopsis "Easy support for interacting between JS and Rust")
    (description
     "Easy support for interacting between JS and Rust.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-wasm-bindgen-backend-0.2
  (package
    (name "rust-wasm-bindgen-backend")
    (version "0.2.99")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-backend" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ycwa4c68j34687k513djgyy2asn3fw3yp4g9rkq2kvbchwbp2az"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bumpalo" ,rust-bumpalo-3)
        ("rust-log" ,rust-log-0.4)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-2)
        ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
    (home-page "https://rustwasm.github.io/wasm-bindgen/")
    (synopsis "Backend code generation of the wasm-bindgen tool")
    (description
     "Backend code generation of the wasm-bindgen tool.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasm-bindgen-futures-0.4
  (package
    (name "rust-wasm-bindgen-futures")
    (version "0.4.49")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-futures" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18pc937q8kg549czxk3ah57h9vb7q56c62zz9qcfk17a8jdns5rq"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3))
        #:cargo-development-inputs
        (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
         ("rust-futures-lite" ,rust-futures-lite-1))))
    (home-page "https://rustwasm.github.io/wasm-bindgen/")
    (synopsis
     "Bridging the gap between Rust Futures and JavaScript Promises")
    (description
     "Bridging the gap between Rust Futures and JavaScript Promises.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasm-bindgen-futures-0.3
  (package
    (inherit rust-wasm-bindgen-futures-0.4)
    (name "rust-wasm-bindgen-futures")
    (version "0.3.27")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-futures" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "073p71skp91d9v2wczl6k7z9p0w25vn43br2v2g1ncbc6hvhnhl3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-lazy-static" ,rust-lazy-static-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))))

(define-public rust-wasm-bindgen-macro-0.2
  (package
    (name "rust-wasm-bindgen-macro")
    (version "0.2.99")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1znlcrk5bvisr3vscwlqkdby959n3sb367zgdzpjwjd7v4giiiic"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `web_sys`
       #:cargo-inputs
       (("rust-quote" ,rust-quote-1)
        ("rust-wasm-bindgen-macro-support" ,rust-wasm-bindgen-macro-support-0.2))
       #:cargo-development-inputs
       (("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://rustwasm.github.io/wasm-bindgen/")
    (synopsis "Definition of the @code{#[wasm_bindgen]} attribute")
    (description
     "Definition of the @code{#[wasm_bindgen]} attribute, an internal
dependency.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasm-bindgen-macro-support-0.2
  (package
    (name "rust-wasm-bindgen-macro-support")
    (version "0.2.99")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-macro-support" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1hihsgyg0kf46kjhgfv8x5g9x0q1d0aizj6n7s84ag1xfrdskmrh"))))
    (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)
        ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
        ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
    (home-page "https://rustwasm.github.io/wasm-bindgen/")
    (synopsis "The @code{#[wasm_bindgen]} macro")
    (description
     "The part of the implementation of the @code{#[wasm_bindgen]}
attribute that is not in the shared backend crate.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-wasm-bindgen-shared-0.2
  (package
    (name "rust-wasm-bindgen-shared")
    (version "0.2.99")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wasm-bindgen-shared" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "19h61snrhh1qhb5gz6zyb89l7fbj1fhmxcvi09p9l0mav8zsnfll"))))
    (build-system cargo-build-system)
    (home-page "https://rustwasm.github.io/wasm-bindgen/")
    (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
    (description "This package provides shared support between
@code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-wasm-bindgen-test-0.3
  (package
    (name "rust-wasm-bindgen-test")
    (version "0.3.49")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-test" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pb24jpwsvvp7l0si2n7za89qpmdqxb2cxzjfx2r7ss66rb487f6"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-gg-alloc" ,rust-gg-alloc-1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-minicov" ,rust-minicov-0.3)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.3))))
    (home-page "https://github.com/rustwasm/wasm-bindgen")
    (synopsis
     "Internal testing crate for wasm-bindgen")
    (description
     "Internal testing crate for wasm-bindgen.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasm-bindgen-test-0.2
  (package
    (inherit rust-wasm-bindgen-test-0.3)
    (name "rust-wasm-bindgen-test")
    (version "0.2.50")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-test" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1h96phc1dmwwqn46k05j2y1mc3ljazh8f1gqqy0x8hm7ccxnknd2"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
        ("rust-futures" ,rust-futures-0.1)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2))))))

(define-public rust-wasm-bindgen-test-macro-0.3
  (package
    (name "rust-wasm-bindgen-test-macro")
    (version "0.3.49")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-bindgen-test-macro" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cd0wjqfb4l35s0h90k7rphwxgj2nlycqlbv6yf0pakkrqb185sl"))))
    (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-tokio" ,rust-tokio-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/rustwasm/wasm-bindgen")
    (synopsis "Internal testing macro for wasm-bindgen")
    (description
     "This library contains the internal testing macro for wasm-bindgen.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasm-bindgen-test-macro-0.2
  (package
    (inherit rust-wasm-bindgen-test-macro-0.3)
    (name "rust-wasm-bindgen-test-macro")
    (version "0.2.50")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wasm-bindgen-test-macro" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "19bvmw8mqlwh6wkbzgs3cnlkywrv8q2kkqggz6y0p158930xm287"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
        ("rust-quote" ,rust-quote-0.6))))))

(define-public rust-wasm-encoder-0.38
  (package
    (name "rust-wasm-encoder")
    (version "0.38.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-encoder" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gwzfwals53swmp18n4mwaqx9jldrgy4647xw97pz76yhhcbblha"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `wasmparser`
       #:cargo-inputs (("rust-leb128" ,rust-leb128-0.2)
                       ("rust-wasmparser" ,rust-wasmparser-0.118))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page
     "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasm-encoder")
    (synopsis "Low-level WebAssembly encoder")
    (description
     "This package provides a low-level @code{WebAssembly} encoder.")
    (license license:asl2.0)))

(define-public rust-wasm-streams-0.4
  (package
    (name "rust-wasm-streams")
    (version "0.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-streams" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0rddn007hp6k2cm91mm9y33n79b0jxv0c3znzszcvv67hn6ks18m"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
        ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-gloo-timers" ,rust-gloo-timers-0.3)
        ("rust-pin-project" ,rust-pin-project-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/MattiasBuelens/wasm-streams/")
    (synopsis "Bridge between web streams and Rust streams using WebAssembly")
    (description
     "Bridging between web streams and Rust streams using WebAssembly.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasm-streams-0.3
  (package
    (inherit rust-wasm-streams-0.4)
    (name "rust-wasm-streams")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm-streams" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1iqa4kmhbsjj8k4q15i1x0x4p3xda0dhbg7zw51mydr4g129sq5l"))))
    (arguments
     `(#:cargo-inputs (("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
                       ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs (("rust-pin-project" ,rust-pin-project-1)
                                   ("rust-tokio" ,rust-tokio-1)
                                   ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
                                   ("rust-web-sys" ,rust-web-sys-0.3))))))

(define-public rust-wasm-sync-0.1
  (package
    (name "rust-wasm-sync")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasm_sync" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1smhpgk5jiir089y5w6y2rgqq9aqzrbxlb4x1vzl3v3zvv561wyg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
                       ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/DouglasDwyer/wasm_sync")
    (synopsis "Synchronization primitives for both web and native")
    (description "This package provides synchronization primitives for both web
and native running processes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wasmparser-0.218
  (package
    (name "rust-wasmparser")
    (version "0.218.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasmparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1p65jvj1i6bh180hd656z8yzkn3zx8vs3a6i5lmsgspczk3ld7mh"))))
    (build-system cargo-build-system)
    (arguments
     ;; The test suite fails with error "failed to resolve: use of undeclared
     ;; crate or module `wat`" (see:
     ;; https://github.com/bytecodealliance/wasm-tools/issues/1947).
     `(#:tests? #f
       #:cargo-inputs (("rust-ahash" ,rust-ahash-0.8)
                       ("rust-bitflags" ,rust-bitflags-2)
                       ("rust-hashbrown" ,rust-hashbrown-0.14)
                       ("rust-indexmap" ,rust-indexmap-2)
                       ("rust-semver" ,rust-semver-1)
                       ("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-log" ,rust-log-0.4)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-rayon" ,rust-rayon-1))))
    (home-page
     "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser")
    (synopsis "Simple event-driven library for parsing WebAssembly binary files")
    (description
     "This package provides a simple event-driven library for parsing
@code{WebAssembly} binary files.")
    (license license:asl2.0)))

(define-public rust-wasmparser-0.118
  (package
    (inherit rust-wasmparser-0.218)
    (name "rust-wasmparser")
    (version "0.118.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasmparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0365n7dd01fh2jklq6q41nszhyyaz82shd4q3nhf4s5q397ibwbp"))))
    (arguments
     `(#:tests? #f  ; failed to resolve: use of undeclared crate or module `wat`
       #:cargo-inputs (("rust-indexmap" ,rust-indexmap-2)
                       ("rust-semver" ,rust-semver-1))
       #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1)
                                   ("rust-criterion" ,rust-criterion-0.3)
                                   ("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-log" ,rust-log-0.4)
                                   ("rust-once-cell" ,rust-once-cell-1)
                                   ("rust-rayon" ,rust-rayon-1)
                                   ("rust-wasm-encoder" ,rust-wasm-encoder-0.38))))))

(define-public rust-wasmparser-0.57
  (package
    (inherit rust-wasmparser-0.118)
    (name "rust-wasmparser")
    (version "0.57.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wasmparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19kslk9pv1bcyp85w63dn1adbp13kz7kjha80abnwz27bmbxvz9j"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-watchexec-2
  (package
    (name "rust-watchexec")
    (version "2.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "watchexec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "120g73qpywbrzlcma9nhgaymm44aw2516xwl0fima8yy2ig22car"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= *([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-async-priority-channel" ,rust-async-priority-channel-0.1)
        ("rust-async-recursion" ,rust-async-recursion-1)
        ("rust-atomic-take" ,rust-atomic-take-1)
        ("rust-clearscreen" ,rust-clearscreen-2)
        ("rust-command-group" ,rust-command-group-2)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-ignore-files" ,rust-ignore-files-1)
        ("rust-miette" ,rust-miette-5)
        ("rust-nix" ,rust-nix-0.26)
        ("rust-normalize-path" ,rust-normalize-path-0.2)
        ("rust-notify" ,rust-notify-5)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-project-origins" ,rust-project-origins-1)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-watchexec-events" ,rust-watchexec-events-1)
        ("rust-watchexec-signals" ,rust-watchexec-signals-1))
       #:cargo-development-inputs
       (("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://watchexec.github.io")
    (synopsis "Library to execute commands in response to file modifications")
    (description
     "This crate is a library to execute commands in response to file
modifications.")
    (license license:asl2.0)))

(define-public rust-watchexec-1
  (package
    (inherit rust-watchexec-2)
    (name "rust-watchexec")
    (version "1.17.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "watchexec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0r8j6qvkbr5k5ipyzw0v1lsglhf7l99n9m529mck2ki7ymzqv4iq"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= *([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=gitignore::tests::handles_negative_patterns"
         "--skip=gitignore::tests::leading_double_wildcard"
         "--skip=gitignore::tests::leading_slash"
         "--skip=gitignore::tests::matches_exact"
         "--skip=gitignore::tests::matches_simple_wildcard"
         "--skip=gitignore::tests::matches_subdir_exact"
         "--skip=gitignore::tests::sandwiched_double_wildcard"
         "--skip=gitignore::tests::wildcard_with_dir"
         "--skip=ignore::tests::handles_whitelisting"
         "--skip=ignore::tests::leading_double_wildcard"
         "--skip=ignore::tests::leading_slash"
         "--skip=ignore::tests::matches_exact"
         "--skip=ignore::tests::matches_simple_wildcard"
         "--skip=ignore::tests::matches_subdir_exact"
         "--skip=ignore::tests::sandwiched_double_wildcard"
         "--skip=ignore::tests::wildcard_with_dir"
         "--skip=notification_filter::tests::test_filename"
         "--skip=notification_filter::tests::test_ignores_take_precedence"
         "--skip=notification_filter::tests::test_multiple_ignores"
         "--skip=notification_filter::tests::test_recursive_directory_ignore")
       #:cargo-inputs (("rust-clearscreen" ,rust-clearscreen-1)
                       ("rust-command-group" ,rust-command-group-1)
                       ("rust-derive-builder" ,rust-derive-builder-0.10)
                       ("rust-glob" ,rust-glob-0.3)
                       ("rust-globset" ,rust-globset-0.4)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.22)
                       ("rust-notify" ,rust-notify-4)
                       ("rust-walkdir" ,rust-walkdir-2)
                       ("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-watchexec-events-1
  (package
    (name "rust-watchexec-events")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "watchexec-events" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1qra2hpkdf5ln1vb5jpxp17s3va7dm2svb8d067r2xgx0az3nq01"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; `Event: serde::de::Deserialize<'_>` is not satisfied
       #:cargo-inputs (("rust-nix" ,rust-nix-0.26)
                       ("rust-notify" ,rust-notify-5)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-watchexec-signals" ,rust-watchexec-signals-1))
       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)
                                   ("rust-snapbox" ,rust-snapbox-0.4))))
    (home-page "https://github.com/watchexec/watchexec")
    (synopsis "Watchexec's event types")
    (description "This package provides watchexec's event types.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-watchexec-filterer-globset-1
  (package
    (name "rust-watchexec-filterer-globset")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "watchexec-filterer-globset" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "045j0cp83yl6csn04qi19d5jfgfzylgcnvgziksqjcdgrv6b1c54"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `tracing_subscriber::EnvFilter`
       #:cargo-inputs
       (("rust-ignore" ,rust-ignore-0.4)
        ("rust-ignore-files" ,rust-ignore-files-1)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-watchexec" ,rust-watchexec-2)
        ("rust-watchexec-filterer-ignore" ,rust-watchexec-filterer-ignore-1))
       #:cargo-development-inputs
       (("rust-project-origins" ,rust-project-origins-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://watchexec.github.io")
    (synopsis "Watchexec filterer component based on globset")
    (description
     "This package provides a watchexec filterer component based on globsets.")
    (license license:asl2.0)))

(define-public rust-watchexec-filterer-ignore-1
  (package
    (name "rust-watchexec-filterer-ignore")
    (version "1.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "watchexec-filterer-ignore" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "18sfshgvi8d68xc9vc9pz7dar6cfbgzclnfdkyhvgkbw6qhg0igk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; unresolved import `tracing_subscriber::EnvFilter`
       #:cargo-inputs (("rust-dunce" ,rust-dunce-1)
                       ("rust-ignore" ,rust-ignore-0.4)
                       ("rust-ignore-files" ,rust-ignore-files-1)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-watchexec" ,rust-watchexec-2)
                       ("rust-watchexec-signals" ,rust-watchexec-signals-1))
       #:cargo-development-inputs
       (("rust-project-origins" ,rust-project-origins-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
    (home-page "https://watchexec.github.io")
    (synopsis "Watchexec filterer component for ignore files")
    (description
     "This package provides a watchexec filterer component for ignore files.")
    (license license:asl2.0)))

(define-public rust-watchexec-signals-1
  (package
    (name "rust-watchexec-signals")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "watchexec-signals" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1rd7sqfvd96lbf05w74p7v59ch8xspy5ah509k4h329qdkwmsanc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-miette" ,rust-miette-5)
                       ("rust-nix" ,rust-nix-0.26)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-thiserror" ,rust-thiserror-1))))
    (home-page "https://github.com/watchexec/watchexec")
    (synopsis "Watchexec's signal types")
    (description "This package provides watchexec's signal types.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-wax-0.6
  (package
    (name "rust-wax")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wax" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0mqk9qxsjlbwnjnj0gkaa29qm3mmgbgrc6pd4qpjvcmsl25af4ld"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-const-format" ,rust-const-format-0.2)
                       ("rust-itertools" ,rust-itertools-0.11)
                       ("rust-miette" ,rust-miette-5)
                       ("rust-nom" ,rust-nom-7)
                       ("rust-pori" ,rust-pori-0.0.0)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-tardar" ,rust-tardar-0.1)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-walkdir" ,rust-walkdir-2))
       #:cargo-development-inputs (("rust-build-fs-tree" ,rust-build-fs-tree-0.6)
                                   ("rust-dunce" ,rust-dunce-1)
                                   ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/olson-sean-k/wax")
    (synopsis "Globs that can be matched against paths and directory trees")
    (description
     "This package provides opinionated and portable globs that can be matched
against paths and directory trees.")
    (license license:expat)))

(define-public rust-web-sys-0.3
  (package
    (name "rust-web-sys")
    (version "0.3.76")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "web-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1g0j3kii20mh7hqmdajz2r4c21zynb9h9h026wymalkx88ip5p84"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-js-sys" ,rust-js-sys-0.3)
        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3))))
    (home-page "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html")
    (synopsis
     "Bindings for all Web APIs, a procedurally generated crate from WebIDL")
    (description
     "Bindings for all Web APIs, a procedurally generated crate from WebIDL.")
    (license (list license:expat license:asl2.0))))

(define-public rust-web-time-1
  (package
    (name "rust-web-time")
    (version "1.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "web-time" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fx05yqx83dhx628wb70fyy10yjfq1jpl20qfqhdkymi13rq0ras"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; TODO: check if not all files included.
       #:cargo-inputs (("rust-js-sys" ,rust-js-sys-0.3)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-pollster" ,rust-pollster-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/daxpedda/web-time")
    (synopsis "Drop-in replacement for std::time for Wasm in browsers")
    (description
     "This package provides a drop-in replacement for @code{std::time}
for Wasm in browsers.")
    (license (list license:expat license:asl2.0))))

(define-public rust-web-time-0.2
  (package
    (inherit rust-web-time-1)
    (name "rust-web-time")
    (version "0.2.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "web-time" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q6gk0nkwbfz30g1pz8g52mq00zjx7m5im36k3474aw73jdh8c5a"))))
    (arguments
     `(#:tests? #f      ; TODO: check if not all files included.
       #:cargo-inputs (("rust-js-sys" ,rust-js-sys-0.3)
                        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
       #:cargo-development-inputs
       (("rust-futures-channel" ,rust-futures-channel-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-getrandom" ,rust-getrandom-0.2)
        ("rust-pollster" ,rust-pollster-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-web-sys" ,rust-web-sys-0.3))))))

(define-public rust-webbrowser-0.8
  (package
    (name "rust-webbrowser")
    (version "0.8.15")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "webbrowser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12zw844al9kf32p5llv6dbqzaky9fa3ng497i3sk8mj0m5sswryv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--"
                            "--skip=os::tests_xdg::test_xdg_open_local_file"
                            "--skip=tests::test_existence_default"
                            "--skip=tests::test_local_file_abs_path"
                            "--skip=tests::test_local_file_rel_path"
                            "--skip=tests::test_local_file_uri"
                            "--skip=tests::test_open_default")
       #:cargo-inputs (("rust-core-foundation" ,rust-core-foundation-0.9)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-jni" ,rust-jni-0.21)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-ndk-context" ,rust-ndk-context-0.1)
                       ("rust-objc" ,rust-objc-0.2)
                       ("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
                       ("rust-url" ,rust-url-2)
                       ("rust-web-sys" ,rust-web-sys-0.3))
       #:cargo-development-inputs
       (("rust-actix-files" ,rust-actix-files-0.6)
        ("rust-actix-web" ,rust-actix-web-4)
        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
        ("rust-env-logger" ,rust-env-logger-0.9)
        ("rust-ndk-glue" ,rust-ndk-glue-0.5)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serial-test" ,rust-serial-test-0.10)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-urlencoding" ,rust-urlencoding-2))))
    (native-inputs (list pkg-config))
    (inputs (list (list zstd "lib")))
    (home-page "https://github.com/amodm/webbrowser-rs")
    (synopsis "Open URLs in web browsers available on a platform")
    (description
     "Webbrowser-rs is a Rust library to open URLs in the web browsers
available on a platform.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wee-alloc-0.4
  (package
    (name "rust-wee-alloc")
    (version "0.4.5")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wee_alloc" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "13hb19nfqwjwcqlfj46sjz4j49wd7sj6hbjasimcn5xvnakbbcyv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-memory-units" ,rust-memory-units-0.4)
                       ("rust-spin" ,rust-spin-0.5)
                       ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/rustwasm/wee_alloc")
    (synopsis "wee_alloc: The Wasm-Enabled, Elfin Allocator")
    (description "wee_alloc: The Wasm-Enabled, Elfin Allocator.")
    (license license:mpl2.0)))

(define-public rust-weezl-0.1
  (package
    (name "rust-weezl")
    (version "0.1.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "weezl" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "10lhndjgs6y5djpg3b420xngcr6jkmv70q8rb1qcicbily35pa2k"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f              ; Not all files included.
       #:cargo-inputs
       (("rust-futures" ,rust-futures-0.3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-util" ,rust-tokio-util-0.6))))
    (home-page "https://github.com/image-rs/lzw.git")
    (synopsis "Fast LZW compression and decompression")
    (description
     "This package provides fast LZW compression and decompression.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wepoll-sys-stjepang-1
  (package
    (name "rust-wepoll-sys-stjepang")
    (version "1.0.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wepoll-sys-stjepang" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "138pxc8k6wayyywnjcpk5nhywk3vk6h4i39fj8khpjlhy81vppqz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #true              ;missing "winsock.h"
       #:cargo-inputs
       (("rust-bindgen" ,rust-bindgen-0.53)
        ("rust-cc" ,rust-cc-1))))
    (home-page "https://github.com/stjepang/wepoll-sys-stjepang")
    (synopsis "Fork of @code{wepoll-sys} with stjepang's patches")
    (description
     "This crate provides Rust bindings to @code{wepoll}, generated
using @code{bindgen}.")
    (license license:mpl2.0)))

(define-public rust-wezterm-bidi-0.2
  (package
    (name "rust-wezterm-bidi")
    (version "0.2.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-bidi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1v7kwmnxfplv9kgdmamn6csbn2ag5xjr0y6gs797slk0alsnw2hc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-wezterm-dynamic" ,rust-wezterm-dynamic-0.2))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.11)
                                   ("rust-k9" ,rust-k9-0.12))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Unicode Bidi Algorithm")
    (description "The Unicode Bidi Algorithm (UBA).")
    (license (list license:expat))))

(define-public rust-wezterm-blob-leases-0.1
  (package
    (name "rust-wezterm-blob-leases")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-blob-leases" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "02z6m7p9vf4wvr9g2qv1kxp6zaxxli4ziphhcjbnivbyvw55wnlf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-getrandom" ,rust-getrandom-0.2)
                       ("rust-mac-address" ,rust-mac-address-1)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-sha2" ,rust-sha2-0.10)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-uuid" ,rust-uuid-1))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Image blob caching/leasing for wezterm")
    (description "Manage image blob caching/leasing for wezterm.")
    (license license:expat)))

(define-public rust-wezterm-color-types-0.3
  (package
    (name "rust-wezterm-color-types")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-color-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "15j29f60p1dc0msx50x940niyv9d5zpynavpcc6jf44hbkrixs3x"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-csscolorparser" ,rust-csscolorparser-0.6)
                       ("rust-deltae" ,rust-deltae-0.3)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-wezterm-dynamic" ,rust-wezterm-dynamic-0.2))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Types for colors")
    (description "This package provides types for working with colors.")
    (license license:expat)))

(define-public rust-wezterm-color-types-0.2
  (package
    (inherit rust-wezterm-color-types-0.3)
    (name "rust-wezterm-color-types")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-color-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xvphmrqgg69v9l879xj5lq010z13f5ixi854ykmny6j7m47lvjc"))))
    (arguments
     `(#:cargo-inputs (("rust-csscolorparser" ,rust-csscolorparser-0.6)
                       ("rust-deltae" ,rust-deltae-0.3)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-wezterm-dynamic" ,rust-wezterm-dynamic-0.1))))))

(define-public rust-wezterm-dynamic-0.2
  (package
    (name "rust-wezterm-dynamic")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-dynamic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1dbppcd5s509w3b25q2fx2c4c52cwdl61yw1fvh38rx8ryx2icfz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-ordered-float" ,rust-ordered-float-4)
        ("rust-strsim" ,rust-strsim-0.10)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-wezterm-dynamic-derive" ,rust-wezterm-dynamic-derive-0.1))
       #:cargo-development-inputs (("rust-maplit" ,rust-maplit-1))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Config serialization for wezterm")
    (description
     "This package provides configuration serialization for wezterm via dynamic
json-like data values.")
    (license license:expat)))

(define-public rust-wezterm-dynamic-0.1
  (package
    (inherit rust-wezterm-dynamic-0.2)
    (name "rust-wezterm-dynamic")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-dynamic" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1al8fmfr852m62mlcr0v2lg3a18icl2sv79zv7jnv9v0rk07hpm7"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-ordered-float" ,rust-ordered-float-3)
        ("rust-strsim" ,rust-strsim-0.10)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-wezterm-dynamic-derive" ,rust-wezterm-dynamic-derive-0.1))
       #:cargo-development-inputs (("rust-maplit" ,rust-maplit-1))))))

(define-public rust-wezterm-dynamic-derive-0.1
  (package
    (name "rust-wezterm-dynamic-derive")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-dynamic-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w07qf8njyq19nxi9vpshwprk00blhzg9ybis2rhfba433rmx7qc"))))
    (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/wez/wezterm")
    (synopsis "Config serialization for wezterm")
    (description
     "This package provides configuration serialization for wezterm via dynamic
json-like data values.")
    (license license:expat)))

(define-public rust-wezterm-input-types-0.1
  (package
    (name "rust-wezterm-input-types")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wezterm-input-types" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0zp557014d458a69yqn9dxfy270b6kyfdiynr5p4algrb7aas4kh"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
                       ("rust-euclid" ,rust-euclid-0.22)
                       ("rust-lazy-static" ,rust-lazy-static-1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-wezterm-dynamic" ,rust-wezterm-dynamic-0.2))))
    (home-page "https://github.com/wez/wezterm")
    (synopsis "Wezterm input types")
    (description "Input types for wezterm.")
    (license license:expat)))

(define-public rust-which-7
  (package
    (name "rust-which")
    (version "7.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "which" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a2hvxcyx7c0gijny8l9w9462piqnchnxqxh88bdqfc3chrrwjpv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=it_works")
       #:cargo-inputs (("rust-either" ,rust-either-1)
                       ("rust-env-home" ,rust-env-home-0.1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-winsafe" ,rust-winsafe-0.0.19))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/harryfei/which-rs")
    (synopsis "Rust equivalent of @command{which}")
    (description
     "This package provides a cross-platform Rust equivalent of the
Unix @command{which} command.  It returns the full path of an installed
executable.")
    (license license:expat)))

(define-public rust-which-6
  (package
    (inherit rust-which-7)
    (name "rust-which")
    (version "6.0.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "which" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07yg74dsq644hq5a35546c9mja6rsjdsg92rykr9hkflxf7r5vml"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--" "--skip=it_works") ; Missing file
       #:cargo-inputs (("rust-either" ,rust-either-1)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-windows-sys" ,rust-windows-sys-0.52)
                       ("rust-winsafe" ,rust-winsafe-0.0.19))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-which-5
  (package
    (inherit rust-which-6)
    (name "rust-which")
    (version "5.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "which" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "053fpbczryyn8lcbpkvwl8v2rzld0pr30r5lh1cxv87kjs2ymwwv"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= *([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         ;; Not all files included.
         "--skip=it_works")
       #:cargo-inputs (("rust-either" ,rust-either-1)
                       ("rust-home" ,rust-home-0.5)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-rustix" ,rust-rustix-0.38)
                       ("rust-windows-sys" ,rust-windows-sys-0.48))
       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-which-4
  (package
    (inherit rust-which-5)
    (name "rust-which")
    (version "4.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "which" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ixzmx3svsv5hbdvd8vdhd3qwvf6ns8jdpif1wmwsy10k90j9fl7"))))
    (arguments
     (list #:cargo-test-flags '(list "--" "--skip=it_works")
           #:cargo-inputs
           `(("rust-either" ,rust-either-1)
             ("rust-home" ,rust-home-0.5)
             ("rust-once-cell" ,rust-once-cell-1)
             ("rust-regex" ,rust-regex-1)
             ("rust-rustix" ,rust-rustix-0.38))
           #:cargo-development-inputs `(("rust-tempfile" ,rust-tempfile-3))))))

(define-public rust-which-3
  (package
    (inherit rust-which-4)
    (name "rust-which")
    (version "3.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "which" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "094pw9pi48szshn9ln69z2kg7syq1jp80h5ps1qncbsaw4d0f4fh"))))
    (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-failure" ,rust-failure-0.1)
         ("rust-libc" ,rust-libc-0.2))))))

(define-public rust-which-2
  (package
    (inherit rust-which-4)
    (name "rust-which")
    (version "2.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "which" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "0r7i793sc0xqnd2fxnqbksj7j1kx65bwn81b8z49750v4c8cnymm"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-failure" ,rust-failure-0.1)
        ("rust-libc" ,rust-libc-0.2))
       #:cargo-development-inputs
       (("rust-tempdir" ,rust-tempdir-0.3))))))

(define-public rust-which-1
  (package
    (inherit rust-which-4)
    (name "rust-which")
    (version "1.0.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "which" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1cjwa57kzfgzs681a27m5pjmq580pv3hkcg23smf270bgqz60jp8"))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))))

(define-public rust-whoami-1
  (package
    (name "rust-whoami")
    (version "1.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "whoami" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0vdvm6sga4v9515l6glqqfnmzp246nq66dd09cw5ri4fyn3mnb9p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
        ("rust-wasite" ,rust-wasite-0.1)
        ("rust-web-sys" ,rust-web-sys-0.3))))
    (home-page "https://github.com/ardaku/whoami/blob/stable/CHANGELOG.md")
    (synopsis "Retrieve the current user and environment")
    (description
     "This package provides simple functions to retrieve the current user and
environment.")
    (license (list license:asl2.0 license:boost1.0 license:expat))))

(define-public rust-whoami-0.8
  (package
    (inherit rust-whoami-1)
    (name "rust-whoami")
    (version "0.8.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "whoami" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0z18m6w2q8a6rivd61sh3f00pdhyvxiwycs2j5088gvgdxb5bfqq"))))
    (arguments `(#:skip-build? #t))))

(define-public rust-wide-0.7
  (package
    (name "rust-wide")
    (version "0.7.30")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wide" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "06ahrc48f3zpxglrym3hsvbnyacxqvwsbsbrb597ignjf0kdprjq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-safe-arch" ,rust-safe-arch-0.7)
        ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/Lokathor/wide")
    (synopsis "Rust for wide blocks")
    (description "This crate has data types for blocks of primitives packed
together and used as a single unit.  This works very well with SIMD/vector
hardware of various targets.  Both in terms of explicit SIMD usage and also in
terms of allowing LLVM's auto-vectorizer to do its job.")
    (license (list license:zlib license:asl2.0 license:expat))))

(define-public rust-wide-0.6
  (package
    (inherit rust-wide-0.7)
    (name "rust-wide")
    (version "0.6.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wide" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "16yqf8xsvns21clg3rk8nljq4qnsfqg240smbjqa0z520k3fgfs6"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1)
        ("rust-safe-arch" ,rust-safe-arch-0.5))))))

(define-public rust-wide-0.4
  (package
    (inherit rust-wide-0.6)
    (name "rust-wide")
    (version "0.4.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wide" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0ad75vnzygj8qfcl1l9n4wi93xmqzvhqlpqn4hfayrwbn6wa69aq"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bytemuck" ,rust-bytemuck-1))))
    (license (list license:zlib))))

(define-public rust-widestring-1
  (package
    (name "rust-widestring")
    (version "1.1.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "widestring" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "048kxd6iykzi5la9nikpc5hvpp77hmjf1sw43sl3z2dcdrmx66bj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-development-inputs
       (("rust-debugger-test" ,rust-debugger-test-0.1)
        ("rust-debugger-test-parser" ,rust-debugger-test-parser-0.1)
        ("rust-winapi" ,rust-winapi-0.3))))
    (home-page "https://github.com/starkat99/widestring-rs")
    (synopsis "Wide string Rust FFI library")
    (description
     "A wide string Rust FFI library for converting to and from wide strings,
such as those often used in Windows API or other FFI libraries.  Both UTF-16 and
UTF-32 types are provided, including support for malformed encoding.")
    (license (list license:expat license:asl2.0))))

(define-public rust-widestring-0.5
  (package
    (inherit rust-widestring-1)
    (name "rust-widestring")
    (version "0.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "widestring" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "10qrilijh1qzw362mvd4nsz3vv32dxx530vk41hkcx8hah22z20p"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-widestring-0.4
  (package
    (inherit rust-widestring-0.5)
    (name "rust-widestring")
    (version "0.4.3")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "widestring" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0z3ba8qrxb62vpfgk7n2xs2grm9kdaj1cz4q8s0gs8fx8h0r8s61"))))
    (arguments
     `(#:cargo-development-inputs
       (("rust-winapi" ,rust-winapi-0.3))))))

(define-public rust-wild-2
  (package
    (name "rust-wild")
    (version "2.2.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wild" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1q8hnhmv3fvgx0j7bv8qig00599a15mfsdhgx3hq2ljpiky1l4x3"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-glob" ,rust-glob-0.3))
       #:cargo-development-inputs (("rust-glob" ,rust-glob-0.3))))
    (home-page "https://lib.rs/crates/wild")
    (synopsis "Glob (wildcard) expanded command-line arguments")
    (description
     "This package allows Rust applications support wildcard arguments on
command-line, uniformly on all platforms")
    (license (list license:asl2.0 license:expat))))

(define-public rust-wildmatch-2
  (package
    (name "rust-wildmatch")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wildmatch" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zbi3q4djhlli496mg45sfacy1g5c6f5h3rmw7mma9n6z2qimkk8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-glob" ,rust-glob-0.3)
                                   ("rust-ntest" ,rust-ntest-0.9)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-regex-lite" ,rust-regex-lite-0.1))))
    (home-page "https://github.com/becheran/wildmatch")
    (synopsis
     "String matching with single- and multi-character wildcard operator")
    (description "This package provides simple string matching with single- and
multi-character wildcard operator.")
    (license license:expat)))

(define-public rust-winnow-0.6
  (package
    (name "rust-winnow")
    (version "0.6.18")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "winnow" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vrsrnf2nm9jsk1161x1vacmi3ns4h3h10fib91rs28zd6jbvab8"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs (("rust-anstream" ,rust-anstream-0.3)
                       ("rust-anstyle" ,rust-anstyle-1)
                       ("rust-is-terminal" ,rust-is-terminal-0.4)
                       ("rust-memchr" ,rust-memchr-2)
                       ("rust-terminal-size" ,rust-terminal-size-0.2))))
    (home-page "https://github.com/winnow-rs/winnow")
    (synopsis "Byte-oriented, zero-copy, parser combinators library")
    (description "This package provides a byte-oriented, zero-copy, parser
combinators library.")
    (license license:expat)))

(define-public rust-winnow-0.5
  (package
    (inherit rust-winnow-0.6)
    (name "rust-winnow")
    (version "0.5.40")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "winnow" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0xk8maai7gyxda673mmw3pj1hdizy5fpi7287vaywykkk19sk4zm"))))
    (arguments
     `(#:skip-build? #t     ; Cut the dependency graph.
       #:cargo-inputs
       (("rust-anstream" ,rust-anstream-0.3)
        ("rust-anstyle" ,rust-anstyle-1)
        ("rust-is-terminal" ,rust-is-terminal-0.4)
        ("rust-memchr" ,rust-memchr-2)
        ("rust-terminal-size" ,rust-terminal-size-0.2))))))

(define-public rust-wl-clipboard-rs-0.8
  (package
    (name "rust-wl-clipboard-rs")
    (version "0.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wl-clipboard-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1nwa0bg6jpq5sd8x94xgkj0yk7zcz2m3sg2mm26b35qlj5rigd0j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; Failed to create a server socket.
       #:cargo-inputs (("rust-derive-new" ,rust-derive-new-0.6)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.28)
                       ("rust-os-pipe" ,rust-os-pipe-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tree-magic-mini" ,rust-tree-magic-mini-3)
                       ("rust-wayland-backend" ,rust-wayland-backend-0.3)
                       ("rust-wayland-client" ,rust-wayland-client-0.31)
                       ("rust-wayland-protocols" ,rust-wayland-protocols-0.31)
                       ("rust-wayland-protocols-wlr" ,rust-wayland-protocols-wlr-0.2))
       #:cargo-development-inputs
       (("rust-proptest" ,rust-proptest-1)
        ("rust-proptest-derive" ,rust-proptest-derive-0.4)
        ("rust-wayland-protocols" ,rust-wayland-protocols-0.31)
        ("rust-wayland-protocols-wlr" ,rust-wayland-protocols-wlr-0.2)
        ("rust-wayland-server" ,rust-wayland-server-0.31))))
    (home-page "https://github.com/YaLTeR/wl-clipboard-rs")
    (synopsis "Access to the Wayland clipboard")
    (description "This package provides access to the Wayland clipboard
for terminal and other window-less applications.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wl-clipboard-rs-0.7
  (package
    (inherit rust-wl-clipboard-rs-0.8)
    (name "rust-wl-clipboard-rs")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wl-clipboard-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1n8sg981h3d08hnnlrsgs81w2qz3n8a5ml0jcsgnapdpzcyk06lq"))))
    (arguments
     `(#:tests? #f  ; Failed to create a server socket.
       #:cargo-inputs (("rust-derive-new" ,rust-derive-new-0.5)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-nix" ,rust-nix-0.24)
                       ("rust-os-pipe" ,rust-os-pipe-1)
                       ("rust-tempfile" ,rust-tempfile-3)
                       ("rust-thiserror" ,rust-thiserror-1)
                       ("rust-tree-magic-mini" ,rust-tree-magic-mini-3)
                       ("rust-wayland-client" ,rust-wayland-client-0.29)
                       ("rust-wayland-protocols" ,rust-wayland-protocols-0.29))
       #:cargo-development-inputs
       (("rust-wayland-protocols" ,rust-wayland-protocols-0.29)
        ("rust-wayland-server" ,rust-wayland-server-0.29))))))

(define-public rust-wl-nl80211-0.2
  (package
    (name "rust-wl-nl80211")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wl-nl80211" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12cp8ar0wa0kvxz756dxnfvz357jqyznh9z2g5vlcf6a3lgczzsw"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-anyhow" ,rust-anyhow-1)
        ("rust-async-std" ,rust-async-std-1)
        ("rust-bitflags" ,rust-bitflags-2)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-genetlink" ,rust-genetlink-0.2)
        ("rust-log" ,rust-log-0.4)
        ("rust-netlink-packet-core" ,rust-netlink-packet-core-0.7)
        ("rust-netlink-packet-generic" ,rust-netlink-packet-generic-0.3)
        ("rust-netlink-packet-utils" ,rust-netlink-packet-utils-0.5)
        ("rust-netlink-proto" ,rust-netlink-proto-0.11)
        ("rust-netlink-sys" ,rust-netlink-sys-0.8)
        ("rust-thiserror" ,rust-thiserror-1)
        ("rust-tokio" ,rust-tokio-1))
       #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.9)
                                   ("rust-tokio" ,rust-tokio-1))))
    (home-page "https://github.com/rust-netlink/wl-nl80211")
    (synopsis "Linux kernel wireless(802.11) netlink Library")
    (description
     "This package provides Linux kernel wireless(802.11) netlink Library.")
    (license license:expat)))

(define-public rust-wrapcenum-derive-0.4
  (package
    (name "rust-wrapcenum-derive")
    (version "0.4.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wrapcenum-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0vi67wxkpw40cch5jx010wvwf0rjc5f13yxfzd60acimadcz4vx7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-darling" ,rust-darling-0.20)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))))
    (home-page "https://github.com/Cldfire/wrapcenum-derive")
    (synopsis "Derive macro for nvml-wrapper, not for general use")
    (description
     "This package provides a derive macro for nvml-wrapper, not for general use.")
    (license (list license:expat license:asl2.0))))

(define-public rust-write16-1
  (package
    (name "rust-write16")
    (version "1.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "write16" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0dnryvrrbrnl7vvf5vb1zkmwldhjkf2n5znliviam7bm4900z2fi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                       ("rust-smallvec" ,rust-smallvec-1))))
    (home-page "https://docs.rs/write16/")
    (synopsis "UTF-16 analog of the Write trait")
    (description "This package provides a UTF-16 analog of the Write trait.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-writeable-0.5
  (package
    (name "rust-writeable")
    (version "0.5.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "writeable" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0lawr6y0bwqfyayf3z8zmqlhpnzhdx0ahs54isacbhyjwa7g778y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `icu_benchmark_macros`
       #:cargo-inputs (("rust-either" ,rust-either-1))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-rand" ,rust-rand-0.8))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Efficient alternative to fmt::Display")
    (description
     "This package provides a more efficient alternative to fmt::Display.")
    (license license:unicode)))

(define-public rust-wycheproof-0.5
  (package
    (name "rust-wycheproof")
    (version "0.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wycheproof" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0fn5y8g6irzr620m9jizhg6hxssrsbr0lh6dzfrsijwlibxrl0vi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-data-encoding" ,rust-data-encoding-2)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/randombit/wycheproof-rs")
    (synopsis "Wycheproof test vectors")
    (description "Wycheproof test vectors")
    (license license:asl2.0)))

(define-public rust-wyhash-0.5
  (package
    (name "rust-wyhash")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wyhash" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "15f26hvx6nyp4d6iswha7rm3psidxa2k2iab1f1aqgsyq9iy3xms"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-rand-core" ,rust-rand-core-0.6))))
    (home-page "https://github.com/eldruin/wyhash-rs")
    (synopsis "Rust implementation of the WyHash algorithm")
    (description
     "This package provides a Rust implementation of the WyHash fast portable
non-cryptographic hashing algorithm and random number generator.")
    (license (list license:expat license:asl2.0))))

(define-public rust-wyz-0.5
  (package
    (name "rust-wyz")
    (version "0.5.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "wyz" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1vdrfy7i2bznnzjdl9vvrzljvs4s3qm8bnlgqwln6a941gy61wq5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-once-cell" ,rust-once-cell-1)
        ("rust-tap" ,rust-tap-1)
        ("rust-typemap" ,rust-typemap-0.3))))
    (home-page "https://myrrlyn.net/crates/wyz")
    (synopsis "Collection of utility functions")
    (description
     "This package provides a collection of utility functions.")
    (license license:expat)))

(define-public rust-wyz-0.4
  (package
    (inherit rust-wyz-0.5)
    (name "rust-wyz")
    (version "0.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "wyz" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "126irvwn63kxgqjk5ap1pw3p3grw2sskyg32h0v4bqawsrx057hj"))))
    (arguments
     `(#:cargo-test-flags '("--release" "--lib" "--bins" "--tests")
       #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)
                       ("rust-tap" ,rust-tap-1)
                       ("rust-typemap" ,rust-typemap-0.3))))))

(define-public rust-wyz-0.2
  (package
    (name "rust-wyz")
    (version "0.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "wyz" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "05028bk49b2ix1lz22sj65fnlxr0f29j2klkaqjxp6az3c6hprl5"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--" "--skip=exit")))
    (home-page "https://myrrlyn.net/crates/wyz")
    (synopsis "Collection of utility functions")
    (description
     "This package provides a collection of utility functions.")
    (license license:expat)))

(define-public rust-x86-0.52
  (package
    (name "rust-x86")
    (version "0.52.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "x86" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11d3jip94x3dvcv0i0d5cxsgi1p2xyjrdhs550mas5vjg2bxp097"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t     ; Remove some dependencies
       #:cargo-inputs
       (("rust-bit-field" ,rust-bit-field-0.10)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-csv" ,rust-csv-1)
        ("rust-phf" ,rust-phf-0.9)
        ("rust-phf-codegen" ,rust-phf-codegen-0.9)
        ("rust-raw-cpuid" ,rust-raw-cpuid-10)
        ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/gz/rust-x86")
    (synopsis "Library to program x86 (amd64) hardware")
    (description
     "This is a Library to program x86 (amd64) hardware.  It contains x86
specific data structure descriptions, data-tables, as well as convenience
function to call assembly instructions typically not exposed in higher level
languages.")
    (license license:expat)))

(define-public rust-x86-0.33
  (package
    (inherit rust-x86-0.52)
    (name "rust-x86")
    (version "0.33.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "x86" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sas98yzn549f5lxswqra2rjdfjxh24f3ndw5dfsnwnm9rlsr1i7"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           (substitute* "Cargo.toml"
             (("8\\.0") "8"))))))
    (arguments
     `(#:skip-build? #t
       #:cargo-inputs
       (("rust-bit-field" ,rust-bit-field-0.10)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-csv" ,rust-csv-1)
        ("rust-phf" ,rust-phf-0.7)
        ("rust-phf-codegen" ,rust-phf-codegen-0.7)
        ("rust-raw-cpuid" ,rust-raw-cpuid-8)
        ("rust-serde-json" ,rust-serde-json-1))))))

(define-public rust-xattr-1
  (package
    (name "rust-xattr")
    (version "1.3.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xattr" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0kqxm36w89vc6qcpn6pizlhgjgzq138sx4hdhbv2g6wk4ld4za4d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--"
                            "--skip=test_fd"
                            "--skip=test_multi"
                            "--skip=test_path")
       #:cargo-inputs
       (("rust-libc" ,rust-libc-0.2)
        ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.4)
        ("rust-rustix" ,rust-rustix-0.38))
       #:cargo-development-inputs
       (("rust-rustix" ,rust-rustix-0.38)
        ("rust-tempfile" ,rust-tempfile-3))))
    (home-page "https://github.com/Stebalien/xattr")
    (synopsis "Unix extended file system attributes")
    (description
     "This package provide a small library for setting, getting, and listing
extended attributes.")
    (license (list license:expat license:asl2.0))))

(define-public rust-xcb-1
  (package
    (name "rust-xcb")
    (version "1.5.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "xcb" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1gjj1481pf08b5fhpdncaphyv0k5ka11n1f8ma6cv4hspc9g5qpi"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-build-flags '("--all-features")
       #:cargo-test-flags '("--all-features")
       #:cargo-inputs
       (("rust-as-raw-xcb-connection" ,rust-as-raw-xcb-connection-1)
        ("rust-bitflags" ,rust-bitflags-1)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-quick-xml" ,rust-quick-xml-0.30)
        ("rust-x11" ,rust-x11-2))
       #:cargo-development-inputs
       (("rust-gl" ,rust-gl-0.14)
        ("rust-png" ,rust-png-0.17)
        ("rust-x11" ,rust-x11-2))))
    (inputs
     (list mesa))                      ;required by rust-x11-2
    (native-inputs
     (list pkg-config))
    (home-page "https://github.com/rust-x-bindings/rust-xcb")
    (synopsis "Rust bindings and wrappers for XCB")
    (description
     "This package provides Rust bindings and wrappers for XCB.")
    (license license:expat)))

(define-public rust-xcursor-0.3
  (package
    (name "rust-xcursor")
    (version "0.3.8")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xcursor" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0qazsl7h8nrbbzx84qrv39w8m2qc27g0mvrszgdls2v6n6k3vwqf"))))
    (build-system cargo-build-system)
    (home-page "https://crates.io/crates/xcursor")
    (synopsis "Library for loading XCursor themes")
    (description
     "This package provides a library for loading XCursor themes.")
    (license license:expat)))

(define-public rust-xdg-2
  (package
    (name "rust-xdg")
    (version "2.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xdg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0im5nzmywxjgm2pmb48k0cc9hkalarz57f1d9d0x4lvb6cj76fr1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1))
       #:phases
       (modify-phases %standard-phases
         (add-before 'check 'pre-check
           (lambda _
             (setenv "HOME" (getcwd)))))))
    (home-page "https://github.com/whitequark/rust-xdg")
    (synopsis "Store and retrieve files according to XDG specification")
    (description
     "This package provides a library for storing and retrieving files according
to XDG Base Directory specification.")
    (license (list license:asl2.0
                   license:expat))))

(define-public rust-xdg-home-1
  (package
    (name "rust-xdg-home")
    (version "1.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xdg-home" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xm122zz0wjc8p8cmchij0j9nw34hwncb39jc7dc0mgvb2rdl77c"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
                       ("rust-windows-sys" ,rust-windows-sys-0.59))
       #:phases
       (modify-phases %standard-phases
         (add-before 'check 'pre-check
           (lambda _
             (setenv "HOME" "/"))))))
    (home-page "https://github.com/zeenix/xdg-home")
    (synopsis "User home directory per XDG Specification")
    (description "The user's home directory as per the XDG Specification.")
    (license license:expat)))

(define-public rust-xenstore-rs-0.6
  (package
    (name "rust-xenstore-rs")
    (version "0.6.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xenstore-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1i8wdif8q2cxbrmcp2jxcqg95a4yfsp1m3j4yldcgad3ksl5l4qs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-futures" ,rust-futures-0.3)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-libloading" ,rust-libloading-0.8)
                       ("rust-log" ,rust-log-0.4)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-xenstore-sys" ,rust-xenstore-sys-0.2))
       #:cargo-development-inputs (("rust-clap" ,rust-clap-4))))
    (native-inputs (list pkg-config))
    (inputs (list clang xen))
    (home-page "https://github.com/Wenzel/xenstore")
    (synopsis "Rust FFI bindings for libxenstore")
    (description "This package provides Rust FFI bindings for libxenstore.")
    (license license:gpl3)))

(define-public rust-xenstore-sys-0.2
  (package
    (name "rust-xenstore-sys")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xenstore-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1xrjy0d3cg9qrznfsfjrgha8si1dvdyfx3g7c76hbb7lnim5vmj7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.71)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs (list pkg-config))
    (inputs (list clang xen))
    (home-page "https://github.com/Wenzel/xenstore-sys")
    (synopsis "Rust FFI bindings for libxenstore")
    (description "This package provides Rust FFI bindings for libxenstore.")
    (license license:gpl3)))

(define-public rust-xi-unicode-0.3
  (package
    (name "rust-xi-unicode")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xi-unicode" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "12mvjgrhr7557cib69wm4q5s4srba27pg2df9l1zihrxgnbh0wx6"))))
    (build-system cargo-build-system)
    (arguments `(#:skip-build? #t))
    (home-page "https://github.com/google/xi-editor")
    (synopsis
     "Unicode utilities for text editing, including a line breaking iterator")
    (description
     "This package provides Unicode utilities useful for text editing,
including a line breaking iterator.")
    (license license:asl2.0)))

(define-public rust-xml-rs-0.8
  (package
    (name "rust-xml-rs")
    (version "0.8.24")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xml-rs" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0ck4s3j1dk4bnqam9h06nfmicnzdp69pz7y2hihlj2vrk8f3k2za"))))
    (build-system cargo-build-system)
    (home-page "https://lib.rs/crates/xml-rs")
    (synopsis "XML library in pure Rust")
    (description "An XML library in pure Rust.")
    (license license:expat)))

(define-public rust-xml-rs-0.7
  (package
    (name "rust-xml-rs")
    (version "0.7.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xml-rs" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1hp9kf80y9qm3aiqg5psyshqfkcrjgifbcm2c2nc5qlzs80vc71w"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--release" "--lib")
       #:cargo-inputs
       (("rust-bitflags" ,rust-bitflags-1))))
    (home-page "https://github.com/netvl/xml-rs")
    (synopsis "XML library in pure Rust")
    (description "An XML library in pure Rust.")
    (license license:expat)))

(define-public rust-xml5ever-0.18
  (package
    (name "rust-xml5ever")
    (version "0.18.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xml5ever" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sdz92vrcxfwv7yzai28y0wa9gswr6msjnksak0rp4cfbm02dfwv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-mac" ,rust-mac-0.1)
                       ("rust-markup5ever" ,rust-markup5ever-0.12))
       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5))))
    (home-page
     "https://github.com/servo/html5ever/blob/main/xml5ever/README.md")
    (synopsis "Push based streaming parser for xml")
    (description "This package provides a push based streaming parser for XML.")
    (license (list license:expat license:asl2.0))))

(define-public rust-xml5ever-0.17
  (package
    (inherit rust-xml5ever-0.18)
    (name "rust-xml5ever")
    (version "0.17.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "xml5ever" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0l76v0c228c92sskiflpsy19c0bgc8q7flhlfanm32zrbb8f2d20"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.11))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rustc-test" ,rust-rustc-test-0.3))))))

(define-public rust-xml5ever-0.16
  (package
    (inherit rust-xml5ever-0.17)
    (name "rust-xml5ever")
    (version "0.16.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "xml5ever" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "0rfqys8yyigkzrqcrn5c6r10v42pwxahccyyzhc293px30w1cd4j"))))
    (arguments
     `(#:cargo-inputs
       (("rust-log" ,rust-log-0.4)
        ("rust-mac" ,rust-mac-0.1)
        ("rust-markup5ever" ,rust-markup5ever-0.10)
        ("rust-time" ,rust-time-0.1))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rustc-test" ,rust-rustc-test-0.3))))))

(define-public rust-xmlparser-0.13
  (package
    (name "rust-xmlparser")
    (version "0.13.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xmlparser" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1r796g21c70p983ax0j6rmhzmalg4rhx61mvd4farxdhfyvy1zk6"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RazrFalcon/xmlparser")
    (synopsis "Pull-based, zero-allocation XML parser")
    (description
     "@code{xmlparser} is a low-level, pull-based, zero-allocation XML 1.0
parser.")
    (license (list license:expat license:asl2.0))))

(define-public rust-xmltree-0.10
  (package
    (name "rust-xmltree")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xmltree" version))
       (file-name
        (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1jqzwhr1a5cknflsshhhjlllmd1xi04qdkjsls2bnmv5mxgagn6p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags
       '("--release" "--"
         "--skip=test_04"
         "--skip=test_parse_all"
         "--skip=test_take"
         "--skip=test_text")
       #:cargo-inputs
       (("rust-indexmap" ,rust-indexmap-1)
        ("rust-xml-rs" ,rust-xml-rs-0.8))))
    (home-page "https://github.com/eminence/xmltree-rs")
    (synopsis "Parse an XML file into a simple tree-like structure")
    (description "This package provides a small library for parsing an XML
file into an in-memory tree structure.")
    (license license:expat)))

(define-public rust-xmlwriter-0.1
  (package
    (name "rust-xmlwriter")
    (version "0.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xmlwriter" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1fg0ldmkgiis6hnxpi1c9gy7v23y0lpi824bp8yp12fi3r82lypc"))))
    (build-system cargo-build-system)
    (home-page "https://github.com/RazrFalcon/xmlwriter")
    (synopsis "Simple, streaming XML writer")
    (description "This package provides a simple, streaming XML writer.")
    (license license:expat)))

(define-public rust-xoroshiro128-0.3
  (package
    (name "rust-xoroshiro128")
    (version "0.3.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xoroshiro128" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1kfzanis2v39r8q963q161izv0hmfsdxa11cxgqw8jgcp8sdmvp0"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-rand" ,rust-rand-0.4))))
    (home-page "https://github.com/mscharley/rust-xoroshiro128")
    (synopsis "Fast pseudo-random number generators")
    (description
     "This package provides fast pseudo-random number generators.")
    (license license:expat)))

(define-public rust-xxhash-c-sys-0.8
  (package
    (name "rust-xxhash-c-sys")
    (version "0.8.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "xxhash-c-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13g8cy4w91nwmficbmkrqp40axpwidcna588gzxr47m0ld99jh6j"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
                       ("rust-libc" ,rust-libc-0.2))))
    (home-page "https://github.com/DoumanAsh/xxhash-c-sys")
    (synopsis "Bindings to xxhash")
    (description "This package provides bindings to xxhash.")
    (license license:boost1.0)))

(define-public rust-xxhash-rust-0.8
  (package
    (name "rust-xxhash-rust")
    (version "0.8.12")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "xxhash-rust" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1139skyp136z8710r916kb1djp7f7flfly31zccqi5800isvyp3a"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--features" "xxh3,const_xxh3"
                            ;; Not all files included.
                            "--" "--skip=test_vectors_xxh3")
       #:cargo-development-inputs (("rust-getrandom" ,rust-getrandom-0.2)
                                   ("rust-xxhash-c-sys" ,rust-xxhash-c-sys-0.8))))
    (home-page "https://github.com/DoumanAsh/xxhash-rust")
    (synopsis "Implementation of xxHash in Rust")
    (description "This package provides an implementation of the xxHash
algorithm in Rust.")
    (license license:boost1.0)))

(define-public rust-yaml-rust-0.4
  (package
    (name "rust-yaml-rust")
    (version "0.4.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yaml-rust" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "118wbqrr4n6wgk5rjjnlrdlahawlxc1bdsx146mwk8f79in97han"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
       #:cargo-development-inputs
       (("rust-quickcheck" ,rust-quickcheck-0.9))))
    (home-page "https://chyh1990.github.io/yaml-rust/")
    (synopsis "YAML 1.2 parser for Rust")
    (description "This package is a YAML 1.2 parser for Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-yaml-rust-0.3
  (package
    (inherit rust-yaml-rust-0.4)
    (name "rust-yaml-rust")
    (version "0.3.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yaml-rust" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "14m9dzwb8fb05f4jjb4nqp49rxd9c5vcmwpv3a04d2y5iphncqz6"))))
    (arguments
     `(#:cargo-inputs
       (("rust-clippy" ,rust-clippy-0.0.302)
        ("rust-linked-hash-map" ,rust-linked-hash-map-0.3))))))

(define-public rust-yaml-rust2-0.9
  (package
    (name "rust-yaml-rust2")
    (version "0.9.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yaml-rust2" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "13ay8jdlk1192p6hhb53dx601b139ycizipqpnikhcw2r45iq6ia"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-arraydeque" ,rust-arraydeque-0.5)
                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
                       ("rust-hashlink" ,rust-hashlink-0.9))
       #:cargo-development-inputs (("rust-libtest-mimic" ,rust-libtest-mimic-0.4)
                                   ("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/Ethiraric/yaml-rust2")
    (synopsis "Fully YAML 1.2 compliant YAML parser")
    (description
     "This package provides a fully YAML 1.2 compliant YAML parser written in
pure rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-yansi-1
  (package
    (name "rust-yansi")
    (version "1.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yansi" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jdh55jyv0dpd38ij4qh60zglbw9aa8wafqai6m0wa7xaxk3mrfg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-is-terminal" ,rust-is-terminal-0.4))))
    (home-page "https://github.com/SergioBenitez/yansi")
    (synopsis "Simple ANSI terminal color painting library")
    (description
     "This package provides a dead simple ANSI terminal color painting
library.")
    (license (list license:expat license:asl2.0))))

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

(define-public rust-yansi-term-0.1
  (package
    (name "rust-yansi-term")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yansi-term" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w8vjlvxba6yvidqdvxddx3crl6z66h39qxj8xi6aqayw2nk0p7y"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-winapi" ,rust-winapi-0.3))
       #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)
                                   ("rust-regex" ,rust-regex-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/botika/yansi-term")
    (synopsis "Library for ANSI terminal colours and styles (bold, underline)")
    (description
     "Library for ANSI terminal colours and styles (bold, underline).")
    (license license:expat)))

(define-public rust-yasna-0.5
  (package
    (name "rust-yasna")
    (version "0.5.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "yasna" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1ka4ixrplnrfqyl1kymdj8cwpdp2k0kdr73b57hilcn1kiab6yz1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-bit-vec" ,rust-bit-vec-0.6)
        ("rust-num-bigint" ,rust-num-bigint-0.4)
        ("rust-time" ,rust-time-0.3))
       #:cargo-development-inputs (("rust-num-traits" ,rust-num-traits-0.2))))
    (home-page "https://github.com/qnighy/yasna.rs")
    (synopsis "ASN.1 library for Rust")
    (description "ASN.1 library for Rust")
    (license (list license:expat license:asl2.0))))

(define-public rust-yasna-0.4
  (package
    (inherit rust-yasna-0.5)
    (name "rust-yasna")
    (version "0.4.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "yasna" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "0xgsvxqnycdakh6j3hg4dk3mylrpnba50w0d36vg5k311sfs4qp2"))))
    (arguments
     `(#:cargo-inputs
       (("rust-bit-vec" ,rust-bit-vec-0.6)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-num-bigint" ,rust-num-bigint-0.4))
       #:cargo-development-inputs
       (("rust-num-traits" ,rust-num-traits-0.2))))))

(define-public rust-yeslogic-fontconfig-sys-5
  (package
    (name "rust-yeslogic-fontconfig-sys")
    (version "5.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yeslogic-fontconfig-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yiwnf2gapqaprp3icvv6b1jjh5d356vpis7pybskcd8k4wv5dpz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-cstr" ,rust-cstr-0.2)
                       ("rust-dlib" ,rust-dlib-0.5)
                       ("rust-once-cell" ,rust-once-cell-1)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list fontconfig))
    (home-page "https://github.com/yeslogic/fontconfig-rs")
    (synopsis "Raw bindings to Fontconfig without a vendored C library")
    (description
     "This package provides a wrapper around the @code{Fontconfig} library,
for locating fonts.")
    (license license:expat)))

(define-public rust-yeslogic-fontconfig-sys-4
  (package
    (inherit rust-yeslogic-fontconfig-sys-5)
    (name "rust-yeslogic-fontconfig-sys")
    (version "4.0.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yeslogic-fontconfig-sys" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0wsgzlvgknvkjw3m02nvp3x47ccmvfri13mwqzssxgmw5g9pyrgc"))))
    (arguments
     `(#:cargo-inputs
       (("rust-const-cstr" ,rust-const-cstr-0.3)
        ("rust-dlib" ,rust-dlib-0.5)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))))

(define-public rust-yeslogic-fontconfig-sys-3
  (package
    (inherit rust-yeslogic-fontconfig-sys-4)
    (name "rust-yeslogic-fontconfig-sys")
    (version "3.2.0")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "yeslogic-fontconfig-sys" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "11n3126s717rjqxhf5js3hc0qq8qv7jbicbiyszyp5yk6s8ddfzj"))))
    (arguments
     `(#:cargo-inputs
       (("rust-const-cstr" ,rust-const-cstr-0.3)
        ("rust-dlib" ,rust-dlib-0.5)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-pkg-config" ,rust-pkg-config-0.3))))))

(define-public rust-yoke-0.7
  (package
    (name "rust-yoke")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yoke" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h3znzrdmll0a7sglzf9ji0p5iqml11wrj1dypaf6ad6kbpnl3hj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-test-flags '("--" "--skip=convert_cart_into_option_pointer")
       #:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
                       ("rust-yoke-derive" ,rust-yoke-derive-0.7)
                       ("rust-zerofrom" ,rust-zerofrom-0.1))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-postcard" ,rust-postcard-1)
                                   ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis
     "Abstraction pairing borrowed data with the backing data it borrows from")
    (description
     "This package provides an abstraction allowing borrowed data to be carried
along with the backing data it borrows from.")
    (license license:unicode)))

(define-public rust-yoke-derive-0.7
  (package
    (name "rust-yoke-derive")
    (version "0.7.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "yoke-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m4i4a7gy826bfvnqa9wy6sp90qf0as3wps3wb0smjaamn68g013"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `zerovec`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-synstructure" ,rust-synstructure-0.13))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Custom derive for the yoke crate")
    (description "This package provides Custom derive for the yoke crate.")
    (license license:unicode)))

(define-public rust-z-base-32-0.1
  (package
    (name "rust-z-base-32")
    (version "0.1.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "z-base-32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0fqk028mzvgnx9phqzvhzrx3fbzv4r736cm3x3hid136g157pgr1"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
                       ("rust-clap" ,rust-clap-4)
                       ("rust-pyo3" ,rust-pyo3-0.20))
       #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-1))))
    (home-page "https://github.com/matusf/z-base-32")
    (synopsis "Human-oriented base-32 encoding")
    (description "This package provides human-oriented base-32 encoding.")
    (license license:expat)))

(define-public rust-zbar-rust-0.0.23
  (package
    (name "rust-zbar-rust")
    (version "0.0.23")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbar-rust" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0m6c9393bvw2sngp36m0db1gzqxyqa9ms5biibz659md68di7k59"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-enum-ordinalize" ,rust-enum-ordinalize-4)
                       ("rust-libc" ,rust-libc-0.2)
                       ("rust-pkg-config" ,rust-pkg-config-0.3))
       #:cargo-development-inputs
       (("rust-image" ,rust-image-0.24)
        ("rust-qrcode-generator" ,rust-qrcode-generator-4))))
    (native-inputs (list pkg-config))
    (inputs (list zbar))
    (home-page "https://magiclen.org/zbar-rust")
    (synopsis "High-level and low-level ZBar bindings")
    (description
     "This package provides High-level and low-level ZBar bindings for the Rust
language.")
    (license license:lgpl2.1)))

(define-public rust-zbase32-0.1
  (package
    (name "rust-zbase32")
    (version "0.1.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbase32" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gz3nmiaidscb5c85rh3qxi8i584gz5xm3amlxqminl8jq27k40g"))))
    (build-system cargo-build-system)
    (arguments
     `(#:skip-build? #t ;; dependency cypthon not yet availalbe
       #:cargo-development-inputs
       (;; ("rust-cpython" ,rust-cpython-0.2)  TODO
        ("rust-quickcheck" ,rust-quickcheck-0.7)
        ("rust-rand" ,rust-rand-0.6))))
    (home-page "https://gitlab.com/pgerber/zbase32-rust")
    (synopsis "Implementation of zbase32")
    (description "This package provides an implementation of zbase32.")
    (license license:lgpl3+)))

(define-public rust-zbus-4
  (package
    (name "rust-zbus")
    (version "4.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "09f7916lp7haxv1y5zgcg99ny15whi6dn3waf1afcafxx8mh35xv"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                      ; Not all files included.
       #:cargo-inputs (("rust-async-broadcast" ,rust-async-broadcast-0.7)
                       ("rust-async-executor" ,rust-async-executor-1)
                       ("rust-async-fs" ,rust-async-fs-2)
                       ("rust-async-io" ,rust-async-io-2)
                       ("rust-async-lock" ,rust-async-lock-3)
                       ("rust-async-process" ,rust-async-process-2)
                       ("rust-async-recursion" ,rust-async-recursion-1)
                       ("rust-async-task" ,rust-async-task-4)
                       ("rust-async-trait" ,rust-async-trait-0.1)
                       ("rust-blocking" ,rust-blocking-1)
                       ("rust-enumflags2" ,rust-enumflags2-0.7)
                       ("rust-event-listener" ,rust-event-listener-5)
                       ("rust-futures-core" ,rust-futures-core-0.3)
                       ("rust-futures-sink" ,rust-futures-sink-0.3)
                       ("rust-futures-util" ,rust-futures-util-0.3)
                       ("rust-hex" ,rust-hex-0.4)
                       ("rust-nix" ,rust-nix-0.29)
                       ("rust-ordered-stream" ,rust-ordered-stream-0.2)
                       ("rust-rand" ,rust-rand-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-repr" ,rust-serde-repr-0.1)
                       ("rust-sha1" ,rust-sha1-0.10)
                       ("rust-static-assertions" ,rust-static-assertions-1)
                       ("rust-tokio" ,rust-tokio-1)
                       ("rust-tokio-vsock" ,rust-tokio-vsock-0.4)
                       ("rust-tracing" ,rust-tracing-0.1)
                       ("rust-uds-windows" ,rust-uds-windows-1)
                       ("rust-vsock" ,rust-vsock-0.5)
                       ("rust-windows-sys" ,rust-windows-sys-0.52)
                       ("rust-xdg-home" ,rust-xdg-home-1)
                       ("rust-zbus-macros" ,rust-zbus-macros-4)
                       ("rust-zbus-names" ,rust-zbus-names-3)
                       ("rust-zbus-xml" ,rust-zbus-xml-4)
                       ("rust-zvariant" ,rust-zvariant-4))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-ntest" ,rust-ntest-0.9)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-test-log" ,rust-test-log-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
     (home-page "https://github.com/dbus2/zbus/")
     (synopsis "API for D-Bus communication")
     (description "This package provides an API for D-Bus communication.")
     (license license:expat)))

(define-public rust-zbus-3
  (package
    (inherit rust-zbus-4)
    (name "rust-zbus")
    (version "3.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ri5gklhh3kl9gywym95679xs7n3sw2j3ky80jcd8siacc5ifpb7"))))
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-async-broadcast" ,rust-async-broadcast-0.5)
        ("rust-async-executor" ,rust-async-executor-1)
        ("rust-async-fs" ,rust-async-fs-1)
        ("rust-async-io" ,rust-async-io-1)
        ("rust-async-lock" ,rust-async-lock-2)
        ("rust-async-process" ,rust-async-process-1)
        ("rust-async-recursion" ,rust-async-recursion-1)
        ("rust-async-task" ,rust-async-task-4)
        ("rust-async-trait" ,rust-async-trait-0.1)
        ("rust-blocking" ,rust-blocking-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-derivative" ,rust-derivative-2)
        ("rust-enumflags2" ,rust-enumflags2-0.7)
        ("rust-event-listener" ,rust-event-listener-2)
        ("rust-futures-core" ,rust-futures-core-0.3)
        ("rust-futures-sink" ,rust-futures-sink-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-hex" ,rust-hex-0.4)
        ("rust-nix" ,rust-nix-0.26)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-ordered-stream" ,rust-ordered-stream-0.2)
        ("rust-quick-xml" ,rust-quick-xml-0.27)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.4)
        ("rust-serde-repr" ,rust-serde-repr-0.1)
        ("rust-sha1" ,rust-sha1-0.10)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tokio-vsock" ,rust-tokio-vsock-0.3)
        ("rust-tracing" ,rust-tracing-0.1)
        ("rust-uds-windows" ,rust-uds-windows-1)
        ("rust-vsock" ,rust-vsock-0.3)
        ("rust-winapi" ,rust-winapi-0.3)
        ("rust-xdg-home" ,rust-xdg-home-1)
        ("rust-zbus-macros" ,rust-zbus-macros-3)
        ("rust-zbus-names" ,rust-zbus-names-2)
        ("rust-zvariant" ,rust-zvariant-3))
       #:cargo-development-inputs
       (("rust-async-std" ,rust-async-std-1)
        ("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-ntest" ,rust-ntest-0.9)
        ("rust-tempfile" ,rust-tempfile-3)
        ("rust-test-log" ,rust-test-log-0.2)
        ("rust-tokio" ,rust-tokio-1)
        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))))

(define-public rust-zbus-1
  (package
    (inherit rust-zbus-3)
    (name "rust-zbus")
    (version "1.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jgwydwjgk16dyrzdbc1k0dnqj9kv9p3fwcv92a7l9np3hlv5glw"))))
    (arguments
     `(#:tests? #f      ; Not all files included.
       #:cargo-inputs
       (("rust-async-io" ,rust-async-io-1)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-derivative" ,rust-derivative-2)
        ("rust-enumflags2" ,rust-enumflags2-0.6)
        ("rust-fastrand" ,rust-fastrand-1)
        ("rust-futures" ,rust-futures-0.3)
        ("rust-nb-connect" ,rust-nb-connect-1)
        ("rust-nix" ,rust-nix-0.22)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-polling" ,rust-polling-2)
        ("rust-scoped-tls" ,rust-scoped-tls-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.4)
        ("rust-serde-repr" ,rust-serde-repr-0.1)
        ("rust-zbus-macros" ,rust-zbus-macros-1)
        ("rust-zvariant" ,rust-zvariant-2))
       #:cargo-development-inputs
       (("rust-doc-comment" ,rust-doc-comment-0.3)
        ("rust-ntest" ,rust-ntest-0.7)
        ("rust-zbus-polkit" ,rust-zbus-polkit-1))))))

(define-public rust-zbus-macros-4
  (package
    (name "rust-zbus-macros")
    (version "4.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0glqn6ddgv4ra734p343a41rrxb0phy1v13dljzhpsc1f10bjz96"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; Tests need a running dbus instance.
       #:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-zvariant-utils" ,rust-zvariant-utils-2))
       #:cargo-development-inputs
       (("rust-async-io" ,rust-async-io-2)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/dbus2/zbus/")
    (synopsis "Proc-macros for zbus")
    (description "This package provides proc-macros for zbus.")
    (license license:expat)))

(define-public rust-zbus-macros-3
  (package
    (inherit rust-zbus-macros-4)
    (name "rust-zbus-macros")
    (version "3.15.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19g0d7d4b8l8ycw498sz8pwkplv300j31i9hnihq0zl81xxljcbi"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f      ; Tests need a running dbus instance.
       #:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-regex" ,rust-regex-1)
                       ("rust-syn" ,rust-syn-1)
                       ("rust-zvariant-utils" ,rust-zvariant-utils-1))
       #:cargo-development-inputs
       (("rust-async-io" ,rust-async-io-1)
        ("rust-futures-util" ,rust-futures-util-0.3)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-serde" ,rust-serde-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-zbus-macros-1
  (package
    (inherit rust-zbus-macros-3)
    (name "rust-zbus-macros")
    (version "1.9.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus_macros" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "19p0pdwdf52zkaknav0pj5qvgcf52xk8a4p3a4ymxybwhjkmjfgs"))))
    (arguments
     `(#:tests? #f      ; Tests need a running dbus instance.
       #:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-0.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-serde" ,rust-serde-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-zbus" ,rust-zbus-1)
        ("rust-zvariant" ,rust-zvariant-2))))))

(define-public rust-zbus-names-3
  (package
    (name "rust-zbus-names")
    (version "3.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus_names" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0v1f0ajwafj47bf11yp0xdgp26r93lslr9nb2v6624h2gppiz6sb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
                       ("rust-static-assertions" ,rust-static-assertions-1)
                       ("rust-zvariant" ,rust-zvariant-4))))
    (home-page "https://github.com/dbus2/zbus/")
    (synopsis "Collection of D-Bus bus names types")
    (description "This package provides a collection of D-Bus bus names types.")
    (license license:expat)))

(define-public rust-zbus-names-2
  (package
    (inherit rust-zbus-names-3)
    (name "rust-zbus-names")
    (version "2.6.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zbus_names" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "13achs6jbrp4l0jy5m6nn7v89clfgb63qhldkg5ddgjh6y6p6za3"))))
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-zvariant" ,rust-zvariant-3))))))

(define-public rust-zbus-polkit-1
  (package
    (name "rust-zbus-polkit")
    (version "1.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus_polkit" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yzbs8sga4s3h97vb6n5nvdvlnmhws2vj46bn44hbncfm25f51mc"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-enumflags2" ,rust-enumflags2-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1)
        ("rust-zbus" ,rust-zbus-1)
        ("rust-zvariant" ,rust-zvariant-2))))
    (home-page "https://github.com/dbus2/zbus/")
    (synopsis "PolicyKit binding")
    (description "@code{PolicyKit} binding.")
    (license license:expat)))

(define-public rust-zbus-xml-4
  (package
    (name "rust-zbus-xml")
    (version "4.0.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zbus_xml" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0cx2yg4p0vkrgn5ccz6ds2wqzcy9wrwyjv5xnjmzcm5ra92kfgxb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-quick-xml" ,rust-quick-xml-0.30)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-static-assertions" ,rust-static-assertions-1)
                       ("rust-zbus-names" ,rust-zbus-names-3)
                       ("rust-zvariant" ,rust-zvariant-4))
       #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3))))
    (home-page "https://github.com/dbus2/zbus/")
    (synopsis "API to handle D-Bus introspection XML")
    (description
     "This package provides API to handle D-Bus introspection XML.")
    (license license:expat)))

(define-public rust-zerocopy-0.8
  (package
    (name "rust-zerocopy")
    (version "0.8.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "07g29nsr3hvf2vyh9wk39l3yg144hprjx7aykvkd5gzka6s4m4b7"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-zerocopy-derive" ,rust-zerocopy-derive-0.8))
       #:cargo-development-inputs
       (("rust-elain" ,rust-elain-0.3)
        ("rust-itertools" ,rust-itertools-0.11)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.8))))
    (home-page "https://github.com/google/zerocopy")
    (synopsis "Utilities for zero-copy parsing and serialization")
    (description "Utilities for zero-copy parsing and serialization.")
    (license (list license:bsd-2 license:asl2.0 license:expat))))

(define-public rust-zerocopy-0.7
  (package
    (inherit rust-zerocopy-0.8)
    (name "rust-zerocopy")
    (version "0.7.35")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1w36q7b9il2flg0qskapgi9ymgg7p985vniqd09vi0mwib8lz6qv"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `testutil`
       #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
                       ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.7))
       #:cargo-development-inputs
       (("rust-assert-matches" ,rust-assert-matches-1)
        ("rust-elain" ,rust-elain-0.3)
        ("rust-itertools" ,rust-itertools-0.11)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1)
        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.7))))))

(define-public rust-zerocopy-0.6
  (package
    (inherit rust-zerocopy-0.7)
    (name "rust-zerocopy")
    (version "0.6.6")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zerocopy" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1rpq5g7sp763w2f7bjrc6wi08wxcfjva2rjcl7lrwq9dr2d98kl5"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                          (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f      ; Tests depend on exact versions of rust.
       #:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.6))
       #:cargo-development-inputs
       (("rust-rand" ,rust-rand-0.6)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-zerocopy-0.3
  (package
    (inherit rust-zerocopy-0.6)
    (name "rust-zerocopy")
    (version "0.3.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1wg3crnppc5np7x8fw43va7qzwjnids82nvgqjbv6pfk5fmin2fs"))))
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.2))
       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6))))
    (license license:bsd-3)))

(define-public rust-zerocopy-derive-0.8
  (package
    (name "rust-zerocopy-derive")
    (version "0.8.13")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0pgjqk2w5wrw752wfsxgf7rwqjlk1r4vq5iky2fjijh38cxdg23r"))
       (modules '((guix build utils)))
       (snippet                         ;relax requirements
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f                 ;error[E0432]: unresolved import `zerocopy`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-dissimilar" ,rust-dissimilar-1)
        ("rust-once-cell" ,rust-once-cell-1)
        ("rust-prettyplease" ,rust-prettyplease-0.2)
        ("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1))))
    (home-page "https://github.com/google/zerocopy")
    (synopsis "Custom derive for traits from the zerocopy Rust crate")
    (description
     "This package provides custom derive for traits from the zerocopy Rust
crate.")
    (license (list license:bsd-2 license:asl2.0 license:expat))))

(define-public rust-zerocopy-derive-0.7
  (package
    (inherit rust-zerocopy-derive-0.8)
    (name "rust-zerocopy-derive")
    (version "0.7.35")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0gnf2ap2y92nwdalzz3x7142f2b83sni66l39vxp2ijd6j080kzs"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f  ; unresolved import `zerocopy`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-zerocopy-derive-0.6
  (package
    (inherit rust-zerocopy-derive-0.8)
    (name "rust-zerocopy-derive")
    (version "0.6.6")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "14dx3c7bw8p381j5amnmrilc9nhvsirxvvz275f657bb7zg3jl8j"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `zerocopy`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs
       (("rust-rustversion" ,rust-rustversion-1)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-trybuild" ,rust-trybuild-1))))))

(define-public rust-zerocopy-derive-0.3
  (package
    (inherit rust-zerocopy-derive-0.7)
    (name "rust-zerocopy-derive")
    (version "0.3.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zerocopy-derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "18qr7dqlj89v1xl1g58l2xd6jidv0sbccscgl131gpppba0yc1b5"))))
    (arguments
     `(#:tests? #f  ; unresolved import `zerocopy`
       #:cargo-inputs
       (("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-zerocopy-derive-0.2
  (package
    (inherit rust-zerocopy-derive-0.3)
    (name "rust-zerocopy-derive")
    (version "0.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerocopy-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1yzd3057gr3csn3x4wrl8y4ji52hr8rirbh9cz487svvzp8xp66l"))
       (modules '((guix build utils)))
       (snippet
        '(begin (substitute* "Cargo.toml"
                  (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                   (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f  ; can't find crate for `rustc`
       #:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-synstructure" ,rust-synstructure-0.12))
       #:cargo-development-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3))))))

(define-public rust-zerofrom-0.1
  (package
    (name "rust-zerofrom")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerofrom" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0bnd8vjcllzrvr3wvn8x14k2hkrpyy1fm3crkn2y3plmr44fxwyg"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-zerofrom-derive" ,rust-zerofrom-derive-0.1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "ZeroFrom trait for constructing")
    (description
     "This package provides @code{ZeroFrom} trait for constructing.")
    (license license:unicode)))

(define-public rust-zerofrom-derive-0.1
  (package
    (name "rust-zerofrom-derive")
    (version "0.1.5")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerofrom-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "022q55phhb44qbrcfbc48k0b741fl8gnazw3hpmmndbx5ycfspjr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `zerovec`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-synstructure" ,rust-synstructure-0.13))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Custom derive for the zerofrom crate")
    (description "This package provides Custom derive for the zerofrom crate.")
    (license license:unicode)))

(define-public rust-zeroize-1
  (package
    (name "rust-zeroize")
    (version "1.8.1")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zeroize" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
          "1pjdrmjwmszpxfd7r860jx54cyk94qk59x13sc307cvr5256glyf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-serde" ,rust-serde-1)
        ("rust-zeroize-derive" ,rust-zeroize-derive-1))))
    (home-page "https://github.com/iqlusioninc/crates/")
    (synopsis "Securely clear secrets from memory")
    (description
     "Zeroize securely clears secrets from memory with a simple trait built on
stable Rust primitives, which guarantee memory is zeroed using an operation
will not be ``optimized away'' by the compiler.  It uses a portable pure Rust
implementation that works everywhere, even WASM!")
    (license (list license:asl2.0 license:expat))))

(define-public rust-zeroize-derive-1
  (package
    (name "rust-zeroize-derive")
    (version "1.4.2")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zeroize_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0sczjlqjdmrp3wn62g7mw6p438c9j4jgp2f9zamd56991mdycdnf"))))
    (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/iqlusioninc/crates/")
    (synopsis "Custom derive support for zeroize")
    (description "This crate provides custom derive support for Zeroize.")
    (license (list license:asl2.0 license:expat))))

(define-public rust-zerovec-0.10
  (package
    (name "rust-zerovec")
    (version "0.10.4")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerovec" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0yghix7n3fjfdppwghknzvx9v8cf826h2qal5nqvy8yzg4yqjaxa"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `databake`
       #:cargo-inputs (("rust-databake" ,rust-databake-0.1)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-twox-hash" ,rust-twox-hash-1)
                       ("rust-yoke" ,rust-yoke-0.7)
                       ("rust-zerofrom" ,rust-zerofrom-0.1)
                       ("rust-zerovec-derive" ,rust-zerovec-derive-0.10))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-criterion" ,rust-criterion-0.5)
                                   ("rust-getrandom" ,rust-getrandom-0.2)
                                   ("rust-iai" ,rust-iai-0.1)
                                   ("rust-postcard" ,rust-postcard-1)
                                   ("rust-rand" ,rust-rand-0.8)
                                   ("rust-rand-distr" ,rust-rand-distr-0.4)
                                   ("rust-rand-pcg" ,rust-rand-pcg-0.3)
                                   ("rust-rmp-serde" ,rust-rmp-serde-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Zero-copy vector backed by a byte array")
    (description
     "This package provides zero-copy vector backed by a byte array.")
    (license license:unicode)))

(define-public rust-zerovec-derive-0.10
  (package
    (name "rust-zerovec-derive")
    (version "0.10.3")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zerovec-derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1ik322dys6wnap5d3gcsn09azmssq466xryn5czfm13mn7gsdbvf"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; use of undeclared crate or module `zerovec`
       #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2))
       #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
                                   ("rust-serde" ,rust-serde-1)
                                   ("rust-serde-json" ,rust-serde-json-1))))
    (home-page "https://github.com/unicode-org/icu4x")
    (synopsis "Custom derive for the zerovec crate")
    (description "This package provides custom derive for the zerovec crate.")
    (license license:unicode)))

(define-public rust-zoneinfo-compiled-0.5
  (package
    (name "rust-zoneinfo-compiled")
    (version "0.5.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "zoneinfo_compiled" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
          "1pm50w4vv34r08mrajfvyhc1254gv8zv4q6p7gs315c9bvkfpyv4"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-datetime" ,rust-datetime-0.5))))
    (home-page "https://github.com/rust-datetime/zoneinfo-compiled/")
    (synopsis "Library for parsing compiled zoneinfo files")
    (description
     "This package provides a library for parsing compiled zoneinfo files.")
    (license license:expat)))

(define-public rust-zune-core-0.4
  (package
    (name "rust-zune-core")
    (version "0.4.12")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zune-core" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jj1ra86klzlcj9aha9als9d1dzs7pqv3azs1j3n96822wn3lhiz"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
                       ("rust-serde" ,rust-serde-1))))
    (home-page "https://github.com/etemesi254/zune-image")
    (synopsis
     "Core utilities for image processing in the zune family of crates")
    (description
     "This package provides core utilities for image processing in the zune
family of crates.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-zune-inflate-0.2
  (package
    (name "rust-zune-inflate")
    (version "0.2.54")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zune-inflate" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32 "00kg24jh3zqa3i6rg6yksnb71bch9yi1casqydl00s7nw8pk7avk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-simd-adler32" ,rust-simd-adler32-0.3))))
    (home-page "https://github.com/etemesi254/zune-image/tree/main/zune-inflate")
    (synopsis "Deflate decompressor in Pure Rust")
    (description "This package provides a heavily optimized deflate decompressor
in Pure Rust.")
    (license (list license:expat license:asl2.0))))

(define-public rust-zune-jpeg-0.4
  (package
    (name "rust-zune-jpeg")
    (version "0.4.14")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zune-jpeg" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0a70sbnxxkgfm777i1xjkhyn8mx07swg5cabbi083pyysywbm9cr"))))
    (build-system cargo-build-system)
    (arguments
     `(#:cargo-inputs (("rust-zune-core" ,rust-zune-core-0.4))))
    (home-page
     "https://github.com/etemesi254/zune-image/tree/dev/crates/zune-jpeg")
    (synopsis "fast, correct and safe jpeg decoder")
    (description
     "This package provides a fast, correct and safe jpeg decoder.")
    (license (list license:expat license:asl2.0 license:zlib))))

(define-public rust-zvariant-4
  (package
    (name "rust-zvariant")
    (version "4.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zvariant" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1zl1ika7zd9bxkd0bqc78h9bykvk6xc98965iz1p3i51p452k110"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f  ; overflow evaluating the requirement `PhantomData<Vec<u8>>:
       #:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.7)
                       ("rust-chrono" ,rust-chrono-0.4)
                       ("rust-endi" ,rust-endi-1)
                       ("rust-enumflags2" ,rust-enumflags2-0.7)
                       ("rust-heapless" ,rust-heapless-0.8)
                       ("rust-serde" ,rust-serde-1)
                       ("rust-serde-bytes" ,rust-serde-bytes-0.11)
                       ("rust-static-assertions" ,rust-static-assertions-1)
                       ("rust-time" ,rust-time-0.3)
                       ("rust-url" ,rust-url-2)
                       ("rust-uuid" ,rust-uuid-1)
                       ("rust-zvariant-derive" ,rust-zvariant-derive-4))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.5)
        ("rust-glib" ,rust-glib-0.20)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1))))
    (native-inputs
     (list pkg-config))
    (inputs
     (list glib))
    (home-page "https://github.com/dbus2/zbus/")
    (synopsis "D-Bus & GVariant encoding & decoding")
    (description "D-Bus & GVariant encoding & decoding")
    (license license:expat)))

(define-public rust-zvariant-3
  (package
    (inherit rust-zvariant-4)
    (name "rust-zvariant")
    (version "3.15.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zvariant" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nxj9x187jl32fd32zvq8hfn6lyq3kjadb2q7f6kb6x0igl2pvsf"))))
    (arguments
     `(#:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.7)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-chrono" ,rust-chrono-0.4)
        ("rust-enumflags2" ,rust-enumflags2-0.7)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-time" ,rust-time-0.3)
        ("rust-url" ,rust-url-2)
        ("rust-uuid" ,rust-uuid-1)
        ("rust-zvariant-derive" ,rust-zvariant-derive-3))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.4)
        ("rust-glib" ,rust-glib-0.17)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1))))))

(define-public rust-zvariant-2
  (package
    (inherit rust-zvariant-3)
    (name "rust-zvariant")
    (version "2.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zvariant" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0995d59vl8409mk3qrbshqrz5d76dq52szg0x2vqji07y9app356"))))
    (arguments
     `(#:tests? #f      ; unresolved import `glib`
       #:cargo-inputs
       (("rust-arrayvec" ,rust-arrayvec-0.5)
        ("rust-byteorder" ,rust-byteorder-1)
        ("rust-enumflags2" ,rust-enumflags2-0.6)
        ("rust-libc" ,rust-libc-0.2)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
        ("rust-static-assertions" ,rust-static-assertions-1)
        ("rust-zvariant-derive" ,rust-zvariant-derive-2))
       #:cargo-development-inputs
       (("rust-criterion" ,rust-criterion-0.3)
        ("rust-rand" ,rust-rand-0.8)
        ("rust-serde-json" ,rust-serde-json-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1))))))

(define-public rust-zvariant-derive-4
  (package
    (name "rust-zvariant-derive")
    (version "4.2.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zvariant_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0jf408h0s83krxwm7wl62fnssin1kcklmb1bcn83ls6sddabmqkk"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `zvariant`
       #:cargo-inputs (("rust-proc-macro-crate" ,rust-proc-macro-crate-3)
                       ("rust-proc-macro2" ,rust-proc-macro2-1)
                       ("rust-quote" ,rust-quote-1)
                       ("rust-syn" ,rust-syn-2)
                       ("rust-zvariant-utils" ,rust-zvariant-utils-2))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-enumflags2" ,rust-enumflags2-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1))))
    (home-page "https://github.com/dbus2/zbus/")
    (synopsis "D-Bus & GVariant encoding & decoding")
    (description "This package provides D-Bus & GVariant encoding & decoding.")
    (license license:expat)))

(define-public rust-zvariant-derive-3
  (package
    (inherit rust-zvariant-derive-4)
    (name "rust-zvariant-derive")
    (version "3.15.2")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zvariant_derive" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1nbydrkawjwxan12vy79qsrn7gwc483mpfzqs685ybyppv04vhip"))
              (modules '((guix build utils)))
              (snippet
               '(begin (substitute* "Cargo.toml"
                         (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
                          (string-append "\"^" version)))))))
    (arguments
     `(#:tests? #f      ; use of undeclared crate or module `zvariant`
       #:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1)
        ("rust-zvariant-utils" ,rust-zvariant-utils-1))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-enumflags2" ,rust-enumflags2-0.7)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1))))))

(define-public rust-zvariant-derive-2
  (package
    (inherit rust-zvariant-derive-3)
    (name "rust-zvariant-derive")
    (version "2.10.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zvariant_derive" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "1s9xk9c4p9vl0j2vr1abqc12mgv500sjc3fnh8ij3d1yb4i5xjp4"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
        ("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))
       #:cargo-development-inputs
       (("rust-byteorder" ,rust-byteorder-1)
        ("rust-enumflags2" ,rust-enumflags2-0.6)
        ("rust-serde" ,rust-serde-1)
        ("rust-serde-repr" ,rust-serde-repr-0.1)
        ("rust-zvariant" ,rust-zvariant-2))))))

(define-public rust-zvariant-utils-2
  (package
    (name "rust-zvariant-utils")
    (version "2.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (crate-uri "zvariant_utils" version))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "0h43h3jcw8rmjr390rdqnhkb9nn3913pgkvb75am1frxrkvwy6y5"))))
    (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/dbus2/zbus/")
    (synopsis "Utilities used internally by the zvariant crate")
    (description "Various utilities used internally by the zvariant crate.")
    (license license:expat)))

(define-public rust-zvariant-utils-1
  (package
    (inherit rust-zvariant-utils-2)
    (name "rust-zvariant-utils")
    (version "1.1.1")
    (source (origin
              (method url-fetch)
              (uri (crate-uri "zvariant_utils" version))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0nkxvv1g9vrajjncgpsnb0q9cvgirdw9vk4p9wyd336npn8p5ykm"))))
    (arguments
     `(#:cargo-inputs
       (("rust-proc-macro2" ,rust-proc-macro2-1)
        ("rust-quote" ,rust-quote-1)
        ("rust-syn" ,rust-syn-1))))))

;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
;;; functionality or similar names.
;;;
