gnu: kdenlive: Add missing dependencies.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
index 706bb22..1257d61 100644 (file)
@@ -8,6 +8,7 @@
 ;;; 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -198,7 +199,7 @@ the Rust programming language.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0)
+       (("rust-cc" ,rust-cc-1)
         ("rust-clap" ,rust-clap-2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
@@ -232,7 +233,7 @@ the Rust programming language.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-rustc-version" ,rust-rustc-version-0.2)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-xdg" ,rust-xdg-2.2)
         ("rust-clap" ,rust-clap-2))
        #:cargo-development-inputs
@@ -293,8 +294,7 @@ the Rust programming language.")
          (base32
           "19f8v503ibvlyr824g5ynicrh1lsmp2i0zmpszr8lqay0qw3vkl1"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-memchr" ,rust-memchr-2))
        #:cargo-development-inputs
        (("rust-csv" ,rust-csv-1.1)
@@ -302,8 +302,8 @@ the Rust programming language.")
         ("rust-memmap" ,rust-memmap-0.6)
         ("rust-quickcheck" ,rust-quickcheck-0.7)
         ("rust-rand" ,rust-rand-0.5)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))))))
 
 (define-public rust-aho-corasick-0.5
   (package
@@ -381,10 +381,10 @@ code that is generic with regard to the algebraic entity types.")
     (arguments
      `(#:cargo-inputs
        (("rust-edit-distance" ,rust-edit-distance-2.1)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+        ("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
@@ -410,7 +410,7 @@ code that is generic with regard to the algebraic entity types.")
        (("rust-bitflags" ,rust-bitflags-1)
         ("rust-line-drawing" ,rust-line-drawing-0.7)
         ("rust-rusttype" ,rust-rusttype-0.7)
-        ("rust-walkdir" ,rust-walkdir-2.2)
+        ("rust-walkdir" ,rust-walkdir-2)
         ("rust-xdg" ,rust-xdg-2.2)
         ("rust-xml-rs" ,rust-xml-rs-0.8))
        #:cargo-development-inputs
@@ -443,6 +443,37 @@ shapes, lines and text to buffers.")
     (description "This package provides the glue for the Android JNI.")
     (license license:expat)))
 
+(define-public rust-ansi-colours-1
+  (package
+    (name "rust-ansi-colours")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ansi_colours" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1dnqmpk68mzvncj37jlv0362kdgsgjxg010c6psagimgh4m303qx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cc" ,rust-cc-1))
+       #:cargo-development-inputs
+       (("rust-delta-e" ,rust-delta-e-0.2)
+        ("rust-lab" ,rust-lab-0.4))))
+    (home-page "https://github.com/mina86/ansi_colours")
+    (synopsis "Palette converter between true-colour and ANSI terminal")
+    (description
+     "@code{ansi_colours} is a library which converts between 24-bit sRGB
+colours and 8-bit colour palette used by ANSI terminals such as @code{xterm} on
+@code{rxvt-unicode} in 256-colour mode.
+The most common use case is when using 24-bit colours in a terminal emulator
+which only support 8-bit colour palette.  This package allows true-colours to be
+approximated by values supported by the terminal.")
+    (license license:lgpl3+)))
+
 (define-public rust-ansi-term-0.12
   (package
     (name "rust-ansi-term")
@@ -458,12 +489,12 @@ shapes, lines and text to buffers.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
+       (("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.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/ogham/rust-ansi-term")
     (synopsis "Library for ANSI terminal colours and styles")
     (description
@@ -680,9 +711,9 @@ text or blue underlined text, on ANSI terminals.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/lu-zero/arg_enum_proc_macro")
     (synopsis "Procedural macro compatible with clap arg_enum")
     (description
@@ -764,11 +795,11 @@ that runs on Argon2.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("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.0))))
+        ("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/bluss/arrayvec")
     (synopsis "Vector with fixed capacity")
     (description
@@ -795,11 +826,11 @@ ArrayVec and ArrayString.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-nodrop" ,rust-nodrop-0.1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("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.0))))))
+        ("rust-serde-test" ,rust-serde-test-1))))))
 
 (define-public rust-ascii-1.0
   (package
@@ -818,8 +849,8 @@ ArrayVec and ArrayString.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+       (("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
@@ -845,8 +876,8 @@ standard library.")
     (arguments
      `(#:cargo-inputs
        (("rust-quickcheck" ,rust-quickcheck-0.6)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-test" ,rust-serde-test-1))))))
 
 (define-public rust-ascii-canvas-2
   (package
@@ -893,7 +924,7 @@ Mac, and Unix.")
         ("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.0))
+        ("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")
@@ -901,6 +932,63 @@ Mac, and Unix.")
     (description "This package helps testing CLI Applications.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-assert-cmd-1
+  (package
+    (name "rust-assert-cmd")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "assert-cmd" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1nhqr0zimizcnqfggccfznyrmvklgqwhklsh0f1yq5lwdyi9r2y8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-predicates" ,rust-predicates-1)
+        ("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))))
+    (home-page "https://github.com/assert-rs/assert_cmd")
+    (synopsis "Test CLI Applications")
+    (description "Test CLI Applications.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-assert-fs-0.11
+  (package
+    (name "rust-assert-fs")
+    (version "0.11.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "assert-fs" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1h1q90qskbylv4g3jyizdanj73835q7vvq7q10y555x4gnavmrjc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-globwalk" ,rust-globwalk-0.5)
+        ("rust-predicates" ,rust-predicates-1)
+        ("rust-predicates-core" ,rust-predicates-core-1)
+        ("rust-predicates-tree" ,rust-predicates-tree-1)
+        ("rust-tempfile" ,rust-tempfile-3))
+       #:cargo-development-inputs
+       (("rust-docmatic" ,rust-docmatic-0.1))))
+    (home-page "https://github.com/assert-rs/assert_fs")
+    (synopsis "Filesystem fixtures and assertions for testing")
+    (description
+     "Filesystem fixtures and assertions for testing.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-assert-matches-1.3
   (package
     (name "rust-assert-matches")
@@ -974,7 +1062,7 @@ Mac, and Unix.")
 (define-public rust-autocfg-1.0
   (package
     (name "rust-autocfg")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
@@ -983,7 +1071,7 @@ Mac, and Unix.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "17cv6pwb4q08s0ynpr4n8hv5299hcmhdgvdchzixfpw8y5qcgapq"))))
+         "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/cuviper/autocfg")
     (synopsis
@@ -1026,9 +1114,9 @@ Mac, and Unix.")
        (("rust-conv" ,rust-conv-0.3)
         ("rust-float-ord" ,rust-float-ord-0.2)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-serde-big-array" ,rust-serde-big-array-0.2)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+        ("rust-serde-derive" ,rust-serde-derive-1))
        #:cargo-development-inputs
        (("rust-bencher" ,rust-bencher-0.1)
         ("rust-proptest" ,rust-proptest-0.9)
@@ -1036,7 +1124,7 @@ Mac, and Unix.")
         ("rust-rand" ,rust-rand-0.7)
         ("rust-rand-distr" ,rust-rand-distr-0.2)
         ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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")
@@ -1063,14 +1151,14 @@ in Rust.")
         ("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.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-serde-big-array" ,rust-serde-big-array-0.1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+        ("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.0)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-streaming-stats" ,rust-streaming-stats-0.2))))))
 
 (define-public rust-backtrace-0.3
@@ -1102,7 +1190,7 @@ in Rust.")
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/rust-lang/backtrace-rs")
     (synopsis
@@ -1115,7 +1203,7 @@ trace (backtrace) at runtime in a Rust program.")
 (define-public rust-backtrace-sys-0.1
   (package
     (name "rust-backtrace-sys")
-    (version "0.1.35")
+    (version "0.1.37")
     (source
       (origin
         (method url-fetch)
@@ -1123,14 +1211,14 @@ trace (backtrace) at runtime in a Rust program.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "066iviphi72mx9hd3njzsplk5v45jhi10mrccbbyij391ahsps3x"))))
+          "16a3igz22q9lnnjjr77f4k8ci48v8zdwrs67khx3h7wx3jzfpyqq"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/rust-lang/backtrace-rs")
     (synopsis "Bindings to the libbacktrace gcc library")
     (description
@@ -1313,11 +1401,11 @@ tracebacks.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
+       (("rust-serde" ,rust-serde-1)
         ("rust-byteorder" ,rust-byteorder-1.3))
        #:cargo-development-inputs
        (("rust-serde-bytes" ,rust-serde-bytes-0.11)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+        ("rust-serde-derive" ,rust-serde-derive-1))))
     (home-page "https://github.com/servo/bincode")
     (synopsis
      "Binary serialization/deserialization strategy")
@@ -1353,8 +1441,8 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-lazycell" ,rust-lazycell-1.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
         ("rust-shlex" ,rust-shlex-0.1)
@@ -1406,8 +1494,8 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-lazycell" ,rust-lazycell-1.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
         ("rust-shlex" ,rust-shlex-0.1)
@@ -1449,8 +1537,8 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-cexpr" ,rust-cexpr-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-env-logger" ,rust-env-logger-0.7)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-lazycell" ,rust-lazycell-1.2)
@@ -1495,8 +1583,8 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-cexpr" ,rust-cexpr-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-regex" ,rust-regex-1)
@@ -1690,9 +1778,9 @@ that uses Serde for transforming structs into bytes and vice versa!")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-json" ,rust-serde-json-1.0))))
+       (("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/contain-rs/bit-vec")
     (synopsis "Vector of bits")
     (description
@@ -1938,7 +2026,7 @@ BLAKE2bp hash functions.")
      `(#:skip-build? #t
        #:cargo-development-inputs
        (("rust-objc-test-utils" ,rust-objc-test-utils-0.0))))
-    (home-page "http://github.com/SSheldon/rust-block")
+    (home-page "https://github.com/SSheldon/rust-block")
     (synopsis "Rust interface for Apple's C language extension of blocks")
     (description "This package provides a rust interface for Apple's C language
 extension of blocks.")
@@ -2090,7 +2178,7 @@ Bresenham's line algorithm.")
        (("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.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-quickcheck" ,rust-quickcheck-0.8)
         ("rust-ucd-parse" ,rust-ucd-parse-0.1)
@@ -2258,7 +2346,7 @@ in a byte slice, fast.")
 (define-public rust-bytemuck-1
   (package
     (name "rust-bytemuck")
-    (version "1.2.0")
+    (version "1.4.0")
     (source
       (origin
         (method url-fetch)
@@ -2267,14 +2355,45 @@ in a byte slice, fast.")
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0cclc9v10hc1abqrxgirg3qbwa3ra3s0dai3xiwv9v4j4bgi7yip"))))
+          "071043n73hwi55z9c55ga4v52v8a7ri56gqja8r98clkdyxns14j"))))
     (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")
+    (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.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bytemuck-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1k59b6g2d87nf32qwhp73vng3al0zklxg64iiwf0pkxy74xf5ni8"))))
+    (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))
+       #:cargo-development-inputs
+       (("rust-bytemuck" ,rust-bytemuck-1))))
+    (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.3
   (package
     (name "rust-byteorder")
@@ -2336,12 +2455,11 @@ little-endian.")
         (base32 "1q9r7si1l8vndg4n2ny2nv833ghp5vyqzk5indb9rmhd5ibaq2hk"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t ;; FIXME requires Raus >= 1.39
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+     `(#:cargo-inputs
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-loom" ,rust-loom-0.2)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+        ("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/tokio-rs/bytes")
     (synopsis "Types and traits for working with bytes")
     (description "Types and traits for working with bytes.")
@@ -2362,14 +2480,13 @@ little-endian.")
          "0768a55q2fsqdjsvcv98ndg9dq7w2g44dvq1avhwpxrdzbydyvr0"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-either" ,rust-either-1.5)
         ("rust-iovec" ,rust-iovec-0.1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))))
+       (("rust-serde-test" ,rust-serde-test-1))))))
 
 (define-public rust-bytes-0.3
   (package
@@ -2426,7 +2543,7 @@ exposed as Reader/Writer streams.")
 (define-public rust-bzip2-sys-0.1
   (package
     (name "rust-bzip2-sys")
-    (version "0.1.7")
+    (version "0.1.9+1.0.8")
     (source
      (origin
        (method url-fetch)
@@ -2435,11 +2552,11 @@ exposed as Reader/Writer streams.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0pz2mdhkk8yphiqdh2kghdxb60kqyd10lfrjym3r4k5dylvam135"))
+         "0pi8lxzb1104q9cpvv1jgnk909cggqh2zcdhywqwlbq6c2i3jfxd"))
         (modules '((guix build utils)))
         (snippet
          '(begin
-            (delete-file-recursively "bzip2-1.0.6")
+            (delete-file-recursively "bzip2-1.0.8")
             (delete-file "build.rs")
             ;; Inspired by Debian's patch.
             (with-output-to-file "build.rs"
@@ -2452,7 +2569,8 @@ exposed as Reader/Writer streams.")
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
     (home-page "https://github.com/alexcrichton/bzip2-rs")
     (synopsis "Rust bindings to libbzip2")
     (description
@@ -2749,9 +2867,9 @@ capabilities")
      `(#:tests? #f
        #:cargo-inputs
        (("rust-semver" ,rust-semver-0.9)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1))
        #:cargo-development-inputs
        (("rust-clap" ,rust-clap-2)
         ("rust-docopt" ,rust-docopt-1.1)
@@ -2782,9 +2900,9 @@ metadata}.")
        #:cargo-inputs
        (("rust-error-chain" ,rust-error-chain-0.12)
         ("rust-semver" ,rust-semver-0.9)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1))
        #:cargo-development-inputs
        (;("rust-docopt" ,rust-docopt-0.8)
         ("rust-clap" ,rust-clap-2))))))
@@ -2862,7 +2980,7 @@ used in argon2rs' bench suite.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cc-1.0
+(define-public rust-cc-1
   (package
     (name "rust-cc")
     (version "1.0.58")
@@ -3070,11 +3188,11 @@ depending on a large number of #[cfg] parameters.  Structured like an
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.6)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-simd" ,rust-simd-0.2))
        #:cargo-development-inputs
        (;("rust-glium" ,rust-glium-0.23)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/brendanzab/cgmath")
     (synopsis "Linear algebra and mathematics library")
     (description
@@ -3103,11 +3221,11 @@ for computer graphics.")
         ("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.1)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-simd" ,rust-simd-0.2))
        #:cargo-development-inputs
        (;("rust-glium" ,rust-glium-0.19)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-chrono-0.4
   (package
@@ -3130,7 +3248,7 @@ for computer graphics.")
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-time" ,rust-time-0.1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
        #:cargo-development-inputs
@@ -3138,8 +3256,8 @@ for computer graphics.")
         ("rust-criterion" ,rust-criterion-0.2)
         ("rust-doc-comment" ,rust-doc-comment-0.3)
         ("rust-num-iter" ,rust-num-iter-0.1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
     (home-page
      "https://github.com/chronotope/chrono")
@@ -3163,8 +3281,8 @@ for computer graphics.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+       (("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
@@ -3326,7 +3444,7 @@ for computer graphics.")
 (define-public rust-clap-2
   (package
     (name "rust-clap")
-    (version "2.33.0")
+    (version "2.33.1")
     (source
       (origin
         (method url-fetch)
@@ -3334,7 +3452,7 @@ for computer graphics.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh"))))
+          "0a91g4m6rcqpf6gzxh43cj6mnj9g8ahpr634baim6kcmgza81ymx"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -3475,7 +3593,7 @@ pitfalls in Rust.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/cloudflare/zlib")
     (synopsis
      "Cloudflare fork of zlib with massive performance improvements")
@@ -3500,7 +3618,7 @@ pitfalls in Rust.")
           "1fv346ipxmvff6qrnh78rild0s8k72ilfjkdsrk869562y62cmhf"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-cc" ,rust-cc-1.0))))
+     `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/alexcrichton/cmake-rs")
     (synopsis "Rust build dependency for running cmake")
     (description
@@ -3642,7 +3760,7 @@ CMAKE environmental variable is set.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/rust-lang/compiler-builtins")
     (synopsis "Compiler intrinsics used by the Rust compiler")
     (description
@@ -3697,9 +3815,9 @@ need compiler-rt intrinsics.")
         ("rust-miow" ,rust-miow-0.3)
         ("rust-regex" ,rust-regex-1)
         ("rust-rustfix" ,rust-rustfix-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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.5)
         ("rust-winapi" ,rust-winapi-0.3))))
@@ -4153,9 +4271,9 @@ to @code{is_x86_feature_detected}.")
        (("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.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
+        ("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))))
     (home-page
@@ -4222,11 +4340,11 @@ to @code{is_x86_feature_detected}.")
         ("rust-oorandom" ,rust-oorandom-11.1)
         ("rust-plotters" ,rust-plotters-0.2)
         ("rust-rayon" ,rust-rayon-1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tinytemplate" ,rust-tinytemplate-1.0)
-        ("rust-walkdir" ,rust-walkdir-2.3))
+        ("rust-walkdir" ,rust-walkdir-2))
        #:cargo-development-inputs
        (("rust-approx" ,rust-approx-0.3)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
@@ -4268,11 +4386,11 @@ to @code{is_x86_feature_detected}.")
         ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rayon-core" ,rust-rayon-core-1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tinytemplate" ,rust-tinytemplate-1.0)
-        ("rust-walkdir" ,rust-walkdir-2.2))
+        ("rust-walkdir" ,rust-walkdir-2))
        #:cargo-development-inputs
        (("rust-approx" ,rust-approx-0.3)
         ("rust-quickcheck" ,rust-quickcheck-0.8)
@@ -4633,7 +4751,7 @@ to @code{is_x86_feature_detected}.")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mio" ,rust-mio-0.6)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/crossterm-rs/crossterm")
     (synopsis "Crossplatform terminal library for manipulating terminals")
@@ -4728,15 +4846,15 @@ Code} (MAC) algorithms.")
         ("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.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-serde" ,rust-serde-1.0)
+        ("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.0))
+        ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
        (("rust-difference" ,rust-difference-2.0)
         ("rust-encoding-rs" ,rust-encoding-rs-0.8)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/servo/rust-cssparser")
     (synopsis "Rust implementation of CSS Syntax Level 3")
     (description
@@ -4767,16 +4885,16 @@ Code} (MAC) algorithms.")
         ("rust-matches" ,rust-matches-0.1)
         ("rust-phf" ,rust-phf-0.7)
         ("rust-procedural-masquerade" ,rust-procedural-masquerade-0.1)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-smallvec" ,rust-smallvec-0.6)
         ("rust-autocfg" ,rust-autocfg-0.1)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
        (("rust-difference" ,rust-difference-2.0)
         ("rust-encoding-rs" ,rust-encoding-rs-0.8)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-cssparser-macros-0.6
   (package
@@ -4794,8 +4912,8 @@ Code} (MAC) algorithms.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/servo/rust-cssparser")
     (synopsis "Procedural macros for cssparser")
     (description
@@ -4819,10 +4937,10 @@ Code} (MAC) algorithms.")
     (arguments
      `(#:cargo-inputs
        (("rust-phf-codegen" ,rust-phf-codegen-0.7)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-procedural-masquerade" ,rust-procedural-masquerade-0.1)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))))
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))))
 
 (define-public rust-csv-1.1
   (package
@@ -4845,9 +4963,9 @@ Code} (MAC) algorithms.")
         ("rust-csv-core" ,rust-csv-core-0.1)
         ("rust-itoa" ,rust-itoa-0.4)
         ("rust-ryu" ,rust-ryu-1.0)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde" ,rust-serde-1.0))))
+       (("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/BurntSushi/rust-csv")
     (synopsis "Fast CSV parsing with support for serde")
     (description
@@ -4938,8 +5056,8 @@ Transparency logs for use with sct crate.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))
+       (("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))
        #:cargo-development-inputs
        (("rust-libc-print" ,rust-libc-print-0.1))))
     (home-page "https://github.com/mmastrac/rust-ctor")
@@ -4994,10 +5112,10 @@ Transparency logs for use with sct crate.")
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-libnghttp2-sys" ,rust-libnghttp2-sys-0.1)
-        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-libz-sys" ,rust-libz-sys-1)
         ("rust-openssl-sys" ,rust-openssl-sys-0.9)
         ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-vcpkg" ,rust-vcpkg-0.2))
        #:phases
@@ -5045,6 +5163,90 @@ Transparency logs for use with sct crate.")
 attributes.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-darling-0.10
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (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))))
+    (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-core-0.10
+  (package
+    (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"))))
+    (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.9)
+        ("rust-syn" ,rust-syn-1))))
+    (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-macro-0.10
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-darling-core" ,rust-darling-core-0.10)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/TedDriggs/darling")
+    (synopsis "Helper crate for @code{rust-darling}")
+    (description
+     "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-data-encoding-2.1
   (package
     (name "rust-data-encoding")
@@ -5085,8 +5287,8 @@ hexadecimal, base32, and base64.")
        (("rust-matches" ,rust-matches-0.1))
        #:cargo-development-inputs
        (("rust-rustc-test" ,rust-rustc-test-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/servo/rust-url")
     (synopsis "Processing of data: URL according to WHATWG's Fetch Standard")
     (description
@@ -5182,10 +5384,10 @@ and arithmetic.")
         ("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.0)
-        ("rust-cc" ,rust-cc-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-cc" ,rust-cc-1))
        #:cargo-development-inputs
-       (("rust-serde-json" ,rust-serde-json-1.0))))
+       (("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/alkis/decimal")
     (synopsis "Decimal floating point arithmetic for Rust")
     (description
@@ -5274,6 +5476,29 @@ and arithmetic.")
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
+(define-public rust-delta-e-0.2
+  (package
+    (name "rust-delta-e")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "delta_e" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "18rxibmi27ark8vj367qm2iqmv5x293l8fm9ang4y2sv3l251sf5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-lab" ,rust-lab-0.7))))
+    (home-page "https://github.com/elliotekj/DeltaE")
+    (synopsis "Pure Rust implementation of the CIEDE2000 algorithm")
+    (description "DeltaE is a pure-Rust implementation of the
+@url{http://en.wikipedia.org/wiki/Color_difference#CIEDE2000, CIEDE2000}
+algorithm which serves to quantify the difference between two colors.")
+    (license license:expat)))
+
 (define-public rust-demo-hack-0.0
   (package
     (name "rust-demo-hack")
@@ -5321,8 +5546,42 @@ and arithmetic.")
     (description "Demo of proc-macro-hack.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-derive-builder-0.9
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (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))))
+    (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.5
   (package
+    (inherit rust-derive-builder-0.9)
     (name "rust-derive-builder")
     (version "0.5.1")
     (source
@@ -5332,7 +5591,6 @@ and arithmetic.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0fgl8dsigr7h70clxjq8xmsfc021w5ag262wfgcqv0ian1m8x6cc"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
@@ -5346,15 +5604,40 @@ and arithmetic.")
        (("rust-env-logger" ,rust-env-logger-0.4)
         ("rust-log" ,rust-log-0.3)
         ("rust-pretty-assertions" ,rust-pretty-assertions-0.2)
-        ("rust-skeptic" ,rust-skeptic-0.9))))
+        ("rust-skeptic" ,rust-skeptic-0.9))))))
+
+(define-public rust-derive-builder-core-0.9
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#: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))))
     (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))) )
+    (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.2
   (package
+    (inherit rust-derive-builder-core-0.9)
     (name "rust-derive-builder-core")
     (version "0.2.0")
     (source
@@ -5364,18 +5647,13 @@ for arbitrary structs.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0mxpl1ja3l60w1v5vr3733hr5mcpds2hfl6shrmy3a2zkvp28pkk"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-log" ,rust-log-0.3)
         ("rust-quote" ,rust-quote-0.3)
         ("rust-syn" ,rust-syn-0.11))
        #:cargo-development-inputs
-       (("rust-pretty-assertions" ,rust-pretty-assertions-0.2))))
-    (home-page "https://github.com/colin-kiegel/rust-derive-builder")
-    (synopsis "Internal helper library for the derive_builder crate")
-    (description "Internal helper library for the derive_builder crate.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-pretty-assertions" ,rust-pretty-assertions-0.2))))))
 
 (define-public rust-derive-more-0.99
   (package
@@ -5394,9 +5672,9 @@ for arbitrary structs.")
     (arguments
      `(#:tests? #f  ; Some test files missing.
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
        (("rust-peg" ,rust-peg-0.5)
         ("rust-rustc-version" ,rust-rustc-version-0.2))))
@@ -5429,9 +5707,9 @@ traits for both structs and enums.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/nrc/derive-new")
     (synopsis "Simple constructor functions for structs and enums")
     (description "`#[derive(new)]` implements simple constructor functions for
@@ -5553,6 +5831,36 @@ structs and enums.")
        (("rust-blobby" ,rust-blobby-0.1)
         ("rust-generic-array" ,rust-generic-array-0.13))))))
 
+(define-public rust-directories-3
+  (package
+    (name "rust-directories")
+    (version "3.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "directories" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03ysv4m6mhsc3w1xnvncd5sxf7v2dz917awq6ksx0n0bsqwxdzpq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-dirs-sys" ,rust-dirs-sys-0.3))
+       #: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-dirs-2.0
   (package
     (name "rust-dirs")
@@ -5567,8 +5875,7 @@ structs and enums.")
          (base32
           "1qymhyq7w7wlf1dirq6gsnabdyzg6yi2yyxkx6c4ldlkbjdaibhk"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-dirs-sys" ,rust-dirs-sys-0.3))))
     (build-system cargo-build-system)
@@ -5605,7 +5912,7 @@ Windows, and the Standard Directory guidelines on macOS.")
 (define-public rust-dirs-sys-0.3
   (package
     (name "rust-dirs-sys")
-    (version "0.3.4")
+    (version "0.3.5")
     (source
      (origin
        (method url-fetch)
@@ -5614,11 +5921,10 @@ Windows, and the Standard Directory guidelines on macOS.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0yyykdcmbc476z1v9m4z5jb8y91dw6kgzpkiqi2ig07xx0yv585g"))))
+         "0ym5843xack45b1yjahrh3q2f72shnwf1dd2jncf9qsxf3sxg4wf"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-redox-users" ,rust-redox-users-0.3)
@@ -5667,7 +5973,7 @@ for intentionally leaking memory")
          "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84"))))
     (build-system cargo-build-system)
     (arguments '(#:tests? #f))  ; Tests only run on Mac.
-    (home-page "http://github.com/SSheldon/rust-dispatch")
+    (home-page "https://github.com/SSheldon/rust-dispatch")
     (synopsis "Rust wrapper for Apple's Grand Central Dispatch")
     (description "This package provides a Rust wrapper for Apple's Grand
 Central Dispatch.")
@@ -5776,7 +6082,7 @@ from macros.")
      `(#:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-regex" ,rust-regex-1)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-strsim" ,rust-strsim-0.9))))
     (home-page "https://github.com/docopt/docopt.rs")
     (synopsis "Command line argument parsing")
@@ -5798,8 +6104,8 @@ from macros.")
      `(#:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-regex" ,rust-regex-0.2)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-strsim" ,rust-strsim-0.6))))))
 
 (define-public rust-docopt-0.7
@@ -5865,6 +6171,27 @@ from macros.")
 parameters, associated types, and type constraints.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-downcast-rs-1.2
+  (package
+    (name "rust-downcast-rs")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "downcast-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0l36kgxqd5djhqwf5abxjmgasdw8n0qsjvw3jdvhi91nj393ba4y"))))
+    (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-dogged-0.2
   (package
     (name "rust-dogged")
@@ -5906,7 +6233,7 @@ non-persistent vector.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
+       (("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")
@@ -6023,8 +6350,8 @@ floating-point primitives to an @code{io::Write}.")
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ;("rust-wio" ,rust-wio-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/servo/dwrote-rs")
@@ -6072,7 +6399,7 @@ floating-point primitives to an @code{io::Write}.")
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs (("rust-serde" ,rust-serde-1.0))))
+       #:cargo-inputs (("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/bluss/either")
     (synopsis
      "Enum @code{Either} with variants @code{Left} and @code{Right}")
@@ -6358,11 +6685,11 @@ encodings.")
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-packed-simd" ,rust-packed-simd-0.3)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("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
@@ -6567,11 +6894,11 @@ variables.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (;("rust-serde-cbor" ,rust-serde-cbor-0.9)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/dtolnay/erased-serde")
     (synopsis "Type-erased Serialize and Serializer traits")
     (description
@@ -6597,10 +6924,10 @@ variables.")
        (("rust-synstructure" ,rust-synstructure-0.12)
         ("rust-skeptic" ,rust-skeptic-0.13)
         ("rust-proc-macro-error" ,rust-proc-macro-error-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
         ("rust-rustversion" ,rust-rustversion-1.0)
-        ("rust-quote" ,rust-quote-1.0))
+        ("rust-quote" ,rust-quote-1))
        #:cargo-development-inputs
        (("rust-skeptic" ,rust-skeptic-0.13))))
     (home-page "https://gitlab.com/torkleyy/err-derive")
@@ -6722,6 +7049,34 @@ variables.")
      `(#:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3))))))
 
+(define-public rust-escargot-0.5
+  (package
+    (name "rust-escargot")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "escargot" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0vd9phbpd6yrnsksn2as8flvq8ykzvck2zlz143xpp42qaz9dkvl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f      ; not all test files included
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))
+       #:cargo-development-inputs
+       (("rust-assert-fs" ,rust-assert-fs-0.11))))
+    (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-euclid-0.20
   (package
     (name "rust-euclid")
@@ -6740,9 +7095,9 @@ variables.")
      `(#:cargo-inputs
        (("rust-mint" ,rust-mint-0.5)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))
+       (("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/servo/euclid")
     (synopsis "Geometry primitives")
     (description "Geometry primitives written in Rust.")
@@ -6862,9 +7217,9 @@ testing.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+       (("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))))
@@ -7031,10 +7386,10 @@ cross platform API.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fixedbitset-0.1
+(define-public rust-fixedbitset-0.2
   (package
     (name "rust-fixedbitset")
-    (version "0.1.9")
+    (version "0.2.0")
     (source
       (origin
         (method url-fetch)
@@ -7042,18 +7397,31 @@ cross platform API.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))
+          "0kg03p777wc0dajd9pvlcnsyrwa8dhqwf0sd9r4dw0p82rs39arp"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
     (home-page "https://github.com/petgraph/fixedbitset")
     (synopsis "FixedBitSet is a simple bitset collection")
     (description "FixedBitSet is a simple bitset collection.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-flame-0.2
+(define-public rust-fixedbitset-0.1
   (package
-    (name "rust-flame")
+    (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 ".crate"))
+        (sha256
+         (base32
+          "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))))
+
+(define-public rust-flame-0.2
+  (package
+    (name "rust-flame")
     (version "0.2.2")
     (source
      (origin
@@ -7068,9 +7436,9 @@ cross platform API.")
     (arguments
      `(#:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-0.2)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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.3))))
     (home-page "https://github.com/llogiq/flame")
     (synopsis "Profiling and flamegraph library")
@@ -7126,7 +7494,7 @@ cross platform API.")
         ("rust-crc32fast" ,rust-crc32fast-1.2)
         ("rust-futures" ,rust-futures-0.1)
         ("rust-libc" ,rust-libc-0.2)
-        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-libz-sys" ,rust-libz-sys-1)
         ("rust-miniz-sys" ,rust-miniz-sys-0.1)
         ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)
         ("rust-tokio-io" ,rust-tokio-io-0.1))
@@ -7223,7 +7591,7 @@ streams.")
      "This package provides a total ordering for floating-point numbers.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-fnv-1.0
+(define-public rust-fnv-1
   (package
     (name "rust-fnv")
     (version "1.0.6")
@@ -7236,7 +7604,6 @@ streams.")
          (base32
           "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
     (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}
@@ -7279,7 +7646,7 @@ implementation that is more efficient for smaller hash keys.")
         ("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-core-text" ,rust-core-text-13)
-        ("rust-walkdir" ,rust-walkdir-2.3))))
+        ("rust-walkdir" ,rust-walkdir-2))))
     (home-page "https://github.com/servo/font-kit")
     (synopsis "Cross-platform font loading library")
     (description
@@ -7345,9 +7712,9 @@ implementation that is more efficient for smaller hash keys.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/sfackler/foreign-types")
     (synopsis "Internal crate used by foreign-types")
     (description
@@ -7509,7 +7876,7 @@ values to other threads.")
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-libz-sys" ,rust-libz-sys-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
     (inputs
      `(("freetype" ,freetype)
@@ -7752,7 +8119,7 @@ pseudorandom number generator")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-mac" ,rust-mac-0.1)
-        ("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1.0))))
+        ("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.")
@@ -8048,9 +8415,9 @@ for the futures-rs library.")
     (arguments
      `(#:cargo-inputs
        (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+        ("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 "Futures-rs procedural macro implementations")
     (description
@@ -8291,7 +8658,7 @@ library.")
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3))
        #:cargo-development-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
+       (("rust-fnv" ,rust-fnv-1)
         ("rust-seahash" ,rust-seahash-3.0))))
     (home-page "https://github.com/cbreeden/fxhash")
     (synopsis "Hashing algorithm from hasher used in FireFox and Rustc")
@@ -8302,7 +8669,7 @@ derived from an internal hasher used in FireFox and Rustc.")
 
 (define-public rust-gcc-0.3
   (package
-    (inherit rust-cc-1.0)
+    (inherit rust-cc-1)
     (name "rust-gcc")
     (version "0.3.55")
     (source
@@ -8463,7 +8830,7 @@ API library @code{gdi32}.")
        (("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-rustc-version" ,rust-rustc-version-0.2))))
     (home-page "https://github.com/Xudong-Huang/generator-rs")
     (synopsis "Stackfull Generator Library in Rust")
@@ -8486,12 +8853,12 @@ API library @code{gdi32}.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
+       (("rust-serde" ,rust-serde-1)
         ("rust-typenum" ,rust-typenum-1)
         ("rust-version-check" ,rust-version-check-0.9))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/fizyk20/generic-array.git")
     (synopsis
      "Generic types implementing functionality of arrays")
@@ -8515,11 +8882,11 @@ API library @code{gdi32}.")
          "1kddwxpd58y807y1r3lijg7sw3gxm6nczl6wp57gamhv6mhygl8f"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
+       (("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.0))))))
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-generic-array-0.12
   (package
@@ -8670,7 +9037,7 @@ retrieving random data from system source.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0))
+       (("rust-cc" ,rust-cc-1))
        #:phases
        (modify-phases %standard-phases
          (add-after 'configure 'use-system-gettext
@@ -8685,6 +9052,37 @@ retrieving random data from system source.")
     (description "This package provides raw FFI bindings for GNU Gettext.")
     (license license:expat)))
 
+(define-public rust-gfa-0.6
+  (package
+    (name "rust-gfa")
+    (version "0.6.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gfa" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0ghmy4r0324s6vvmj9nmh326346nkwm7nybnpcpswnjvf02b85gw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bstr" ,rust-bstr-0.2)
+        ("rust-bytemuck" ,rust-bytemuck-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-nom" ,rust-nom-5)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-serde" ,rust-serde-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-gfx-0.18
   (package
     (name "rust-gfx")
@@ -8732,7 +9130,7 @@ retrieving random data from system source.")
        (("rust-log" ,rust-log-0.4)
         ("rust-mint" ,rust-mint-0.5)
         ("rust-draw-state" ,rust-draw-state-0.8)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-bitflags" ,rust-bitflags-1))))
     (home-page "https://github.com/gfx-rs/gfx")
     (synopsis "Core library of Gfx-rs")
@@ -9028,8 +9426,8 @@ DWARF debugging format.")
         ("rust-url" ,rust-url-2.1))
        #:cargo-development-inputs
        (("rust-docopt" ,rust-docopt-1.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-thread-id" ,rust-thread-id-3.3)
         ("rust-time" ,rust-time-0.1))))
@@ -9072,8 +9470,8 @@ reading and writing git repositories.")
         ("rust-url" ,rust-url-1.7))
        #:cargo-development-inputs
        (("rust-docopt" ,rust-docopt-1.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-tempdir" ,rust-tempdir-0.3)
         ("rust-thread-id" ,rust-thread-id-3.3)
         ("rust-time" ,rust-time-0.1))))))
@@ -9314,7 +9712,7 @@ reading and writing git repositories.")
     (arguments
      `(#:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-fnv" ,rust-fnv-1)
         ("rust-glutin" ,rust-glutin-0.21)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-smallvec" ,rust-smallvec-0.6)
@@ -9392,14 +9790,14 @@ shell style patterns.")
      `(#:cargo-inputs
        (("rust-aho-corasick" ,rust-aho-corasick-0.7)
         ("rust-bstr" ,rust-bstr-0.2)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-fnv" ,rust-fnv-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-regex" ,rust-regex-1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-glob" ,rust-glob-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page
      "https://github.com/BurntSushi/ripgrep/tree/master/globset")
     (synopsis
@@ -9410,6 +9808,33 @@ 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.5
+  (package
+    (name "rust-globwalk")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "globwalk" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "09axyql26s09z60sgi3y3lkin9swy2b5km3b0v6mm84xhlljxyl9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ignore" ,rust-ignore-0.4)
+        ("rust-walkdir" ,rust-walkdir-2))
+       #:cargo-development-inputs
+       (("rust-docmatic" ,rust-docmatic-0.1)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/gilnaa/globwalk")
+    (synopsis "Glob-matched recursive file system walking")
+    (description
+     "Glob-matched recursive file system walking.")
+    (license license:expat)))
+
 (define-public rust-glutin-0.22
   (package
     (name "rust-glutin")
@@ -9726,7 +10151,7 @@ loading crate.")
         ("rust-grep-searcher" ,rust-grep-searcher-0.1))
        #:cargo-development-inputs
        (("rust-termcolor" ,rust-termcolor-1)
-        ("rust-walkdir" ,rust-walkdir-2.2))))
+        ("rust-walkdir" ,rust-walkdir-2))))
     (home-page "https://github.com/BurntSushi/ripgrep")
     (synopsis "Line oriented regex searching as a library")
     (description
@@ -9840,9 +10265,9 @@ the regex engine it uses pluggable.")
         ("rust-bstr" ,rust-bstr-0.2)
         ("rust-grep-matcher" ,rust-grep-matcher-0.1)
         ("rust-grep-searcher" ,rust-grep-searcher-0.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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-grep-regex" ,rust-grep-regex-0.1))))
@@ -9978,7 +10403,7 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-bytes" ,rust-bytes-0.4)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-fnv" ,rust-fnv-1)
         ("rust-futures" ,rust-futures-0.1)
         ("rust-http" ,rust-http-0.1)
         ("rust-indexmap" ,rust-indexmap-1)
@@ -9992,11 +10417,11 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate
         ("rust-quickcheck" ,rust-quickcheck-0.4)
         ("rust-rand" ,rust-rand-0.3)
         ;;("rust-rustls" ,rust-rustls-0.12) requires 0.5
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-tokio" ,rust-tokio-0.1)
         ("rust-tokio-rustls" ,rust-tokio-rustls-0.12)
-        ("rust-walkdir" ,rust-walkdir-1.0)
+        ("rust-walkdir" ,rust-walkdir-1)
         ("rust-webpki" ,rust-webpki-0.21)
         ("rust-webpki-roots" ,rust-webpki-roots-0.17))))
     (home-page "https://github.com/hyperium/h2")
@@ -10020,7 +10445,7 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs (("rust-serde" ,rust-serde-1.0))))
+       #:cargo-inputs (("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/starkat99/half-rs")
     (synopsis "Half-precision floating point f16 type")
     (description
@@ -10050,14 +10475,14 @@ IEEE 754-2008 binary16 type.")
          ("rust-pest" ,rust-pest-2.1)
          ("rust-pest-derive" ,rust-pest-derive-2.1)
          ("rust-quick-error" ,rust-quick-error-1.2)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0)
-         ("rust-walkdir" ,rust-walkdir-2.2))
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-walkdir" ,rust-walkdir-2))
         #:cargo-development-inputs
         (("rust-criterion" ,rust-criterion-0.2)
          ("rust-env-logger" ,rust-env-logger-0.6)
          ("rust-maplit" ,rust-maplit-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
+         ("rust-serde-derive" ,rust-serde-derive-1)
          ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/sunng87/handlebars-rust")
     (synopsis "Handlebars templating implemented in Rust")
@@ -10087,13 +10512,13 @@ the template engine that renders the official Rust website")
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("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.1)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+        ("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
@@ -10521,10 +10946,9 @@ Hash-based Message Authentication Code}.")
         (base32 "1y827q7j0gvs8z2x12biaik9db6nb902lpqv889cbcj84sbnkm98"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t ;; FIXME requires Rust >= 1.39 for building
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-bytes" ,rust-bytes-0.5)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-fnv" ,rust-fnv-1)
         ("rust-itoa" ,rust-itoa-0.4))
        #:cargo-development-inputs
        (("rust-doc-comment" ,rust-doc-comment-0.3)
@@ -10532,8 +10956,8 @@ Hash-based Message Authentication Code}.")
         ("rust-quickcheck" ,rust-quickcheck-0.9)
         ("rust-rand" ,rust-rand-0.7)
         ("rust-seahash" ,rust-seahash-3.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/hyperium/http")
     (synopsis "Set of types for representing HTTP requests and responses")
     (description "This package provides a set of types for representing HTTP
@@ -10554,18 +10978,17 @@ requests and responses.")
         (base32
          "06icxvrd26r6s7dzjavja7r47hgjb9851wblqh8frxnsy3q29lzf"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-fnv" ,rust-fnv-1)
         ("rust-itoa" ,rust-itoa-0.4))
        #:cargo-development-inputs
        (("rust-indexmap" ,rust-indexmap-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-quickcheck" ,rust-quickcheck-0.6)
         ("rust-rand" ,rust-rand-0.4)
         ("rust-seahash" ,rust-seahash-3.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-http-body-0.3
   (package
@@ -10580,8 +11003,7 @@ requests and responses.")
         (base32 "06qi0ni45lb92w3ml260c0bxbq5zd4snjmz0a9k69xq6021zzm8k"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t ;; FIXME requires Rust >= 1.39 for building
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-bytes" ,rust-bytes-0.5)
         ("rust-http" ,rust-http-0.2))))
     (home-page "https://github.com/hyperium/http-body")
@@ -10751,9 +11173,9 @@ SystemTime}}.")
         ("rust-num-cpus" ,rust-num-cpus-1)
         ("rust-rustc-version" ,rust-rustc-version-0.2)
         ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-spmc" ,rust-spmc-0.3)
         ("rust-tokio-fs" ,rust-tokio-fs-0.1)
         ("rust-tokio-mockstream" ,rust-tokio-mockstream-1)
@@ -10793,6 +11215,26 @@ SystemTime}}.")
     (description "Default TLS implementation for use with hyper")
     (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-0.2
   (package
     (name "rust-idna")
@@ -10815,7 +11257,7 @@ SystemTime}}.")
         ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
        #:cargo-development-inputs
        (("rust-rustc-test" ,rust-rustc-test-0.3)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/servo/rust-url/")
     (synopsis "Internationalizing Domain Names in Applications and Punycode")
     (description
@@ -10870,7 +11312,7 @@ SystemTime}}.")
         ("rust-regex" ,rust-regex-1)
         ("rust-same-file" ,rust-same-file-1.0)
         ("rust-thread-local" ,rust-thread-local-1.0)
-        ("rust-walkdir" ,rust-walkdir-2.2)
+        ("rust-walkdir" ,rust-walkdir-2)
         ("rust-winapi-util" ,rust-winapi-util-0.1))
        #:cargo-development-inputs
        (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4))))
@@ -10881,8 +11323,49 @@ SystemTime}}.")
 ignore files such as .gitignore against file paths.")
     (license (list license:unlicense license:expat))))
 
+(define-public rust-image-0.23
+  (package
+    (name "rust-image")
+    (version "0.23.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "image" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1d2a80k7pwqshliqi5fw1dwkz7q9zd6pjnwpw8zxc1v4xhzmbc5m"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f      ; Some test images are missing from the release.
+       #:cargo-inputs
+       (("rust-bytemuck" ,rust-bytemuck-1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-gif" ,rust-gif-0.10)
+        ("rust-jpeg-decoder" ,rust-jpeg-decoder-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)
+        ("rust-png" ,rust-png-0.16)
+        ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
+        ("rust-tiff" ,rust-tiff-0.5))
+       #:cargo-development-inputs
+       (("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-criterion" ,rust-criterion-0.3)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-num-complex" ,rust-num-complex-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.9))))
+    (home-page "https://github.com/image-rs/image")
+    (synopsis "Imaging library written in Rust")
+    (description
+     "Imaging library written in Rust.  Provides basic filters and decoders
+for the most common image formats.")
+    (license license:expat)))
+
 (define-public rust-image-0.22
   (package
+    (inherit rust-image-0.23)
     (name "rust-image")
     (version "0.22.5")
     (source
@@ -10894,7 +11377,6 @@ ignore files such as .gitignore against file paths.")
        (sha256
         (base32
          "0jpbd0p1q7xx6395ba9ikz2k4cfp26qczisa8m2v15w3hzd2mv88"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f      ; Some test images are missing from the release.
        #:cargo-inputs
@@ -10911,13 +11393,7 @@ ignore files such as .gitignore against file paths.")
        (("rust-crc32fast" ,rust-crc32fast-1.2)
         ("rust-glob" ,rust-glob-0.3)
         ("rust-num-complex" ,rust-num-complex-0.2)
-        ("rust-quickcheck" ,rust-quickcheck-0.9))))
-    (home-page "https://github.com/image-rs/image")
-    (synopsis "Imaging library written in Rust")
-    (description
-     "Imaging library written in Rust.  Provides basic filters and decoders
-for the most common image formats.")
-    (license license:expat)))
+        ("rust-quickcheck" ,rust-quickcheck-0.9))))))
 
 (define-public rust-image-0.21
   (package
@@ -10998,15 +11474,15 @@ for the most common image formats.")
     (arguments
      `(#:cargo-inputs
        (("rust-autocfg" ,rust-autocfg-1.0)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-rayon" ,rust-rayon-1))
        #:cargo-development-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
+       (("rust-fnv" ,rust-fnv-1)
         ("rust-itertools" ,rust-itertools-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
         ("rust-rand" ,rust-rand-0.7)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+        ("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/bluss/indexmap")
     (synopsis "Hash table with consistent order and fast iteration.")
     (description
@@ -11040,10 +11516,10 @@ or numerical index.  A corresponding hash set type is also provided.")
     (description "This package provides DEFLATE decoding.")
     (license license:expat)))
 
-(define-public rust-inotify-0.6
+(define-public rust-inotify-0.7
   (package
     (name "rust-inotify")
-    (version "0.6.1")
+    (version "0.7.1")
     (source
      (origin
        (method url-fetch)
@@ -11052,7 +11528,7 @@ or numerical index.  A corresponding hash set type is also provided.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0627k5aq44knjlrc09hl017nxap3svpl79przf26y3ciycwlbda0"))))
+         "0byhq4x4b2rlbkmfrab5dni39wiq2ls1hv1nhggp7rla5inwc5j8"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -11061,6 +11537,7 @@ or numerical index.  A corresponding hash set type is also provided.")
         ("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
@@ -11071,6 +11548,32 @@ or numerical index.  A corresponding hash set type is also provided.")
 in Rust.")
     (license license:isc)))
 
+(define-public rust-inotify-0.6
+  (package
+    (inherit rust-inotify-0.7)
+    (name "rust-inotify")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "inotify" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0627k5aq44knjlrc09hl017nxap3svpl79przf26y3ciycwlbda0"))))
+    (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-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")
@@ -11119,8 +11622,8 @@ in Rust.")
         ("rust-pest" ,rust-pest-2.1)
         ("rust-pest-derive" ,rust-pest-derive-2.1)
         ("rust-ron" ,rust-ron-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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))))
     (home-page "https://github.com/mitsuhiko/insta")
@@ -11176,9 +11679,9 @@ that works on WASM too.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/lu-zero/interpolate_name")
     (synopsis "Simple procedural macro attribute for repetitive tests")
     (description
@@ -11357,6 +11860,27 @@ immutable interval tree.")
        (("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.5))
+       #: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")
@@ -11479,7 +12003,7 @@ primitives to an @code{io::Write}.")
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ;; Build dependencies:
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-fs-extra" ,rust-fs-extra-1.1))
        #:phases
        (modify-phases %standard-phases
@@ -11623,7 +12147,7 @@ primitives to an @code{io::Write}.")
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-png" ,rust-png-0.14)
-        ("rust-walkdir" ,rust-walkdir-2.2))))
+        ("rust-walkdir" ,rust-walkdir-2))))
     (home-page "https://github.com/image-rs/jpeg-decoder")
     (synopsis "JPEG decoder")
     (description "JPEG decoder written in Rust.")
@@ -11751,6 +12275,74 @@ currently supports parsing (fully conformant parser), formatting and comparing
 language tags.")
     (license license:expat)))
 
+(define-public rust-lab-0.8
+  (package
+    (name "rust-lab")
+    (version "0.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lab" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1ysnbviwi35mq6xyz9c59mpgigyfp4s4y2mispxzrms4vk83bx15"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-criterion" ,rust-criterion-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+        ("rust-rand" ,rust-rand-0.5))))
+    (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-lab-0.7
+  (package
+    (inherit rust-lab-0.8)
+    (name "rust-lab")
+    (version "0.7.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lab" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0g692d489lq01pv3mzfhxd98j0r22lw28l6bk112m74djlfzxdmw"))))
+    (arguments
+     `(#:tests? #f  ; test suite assumes avx2 support
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+        ("rust-rand" ,rust-rand-0.5))))))
+
+(define-public rust-lab-0.4
+  (package
+    (inherit rust-lab-0.8)
+    (name "rust-lab")
+    (version "0.4.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lab" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0h4ig5bvzmwlzd74zj7b4sh7kzi3c6mjjnw7yjz8ijxvr4mrcr1s"))))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-lalrpop-0.17
   (package
     (name "rust-lalrpop")
@@ -11776,8 +12368,8 @@ language tags.")
        ("rust-petgraph" ,rust-petgraph-0.4)
        ("rust-regex" ,rust-regex-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-       ("rust-serde" ,rust-serde-1.0)
-       ("rust-serde-derive" ,rust-serde-derive-1.0)
+       ("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)
@@ -12048,11 +12640,11 @@ macros on libc without stdlib.")
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-libz-sys" ,rust-libz-sys-1)
         ("rust-libssh2-sys" ,rust-libssh2-sys-0.2)
         ("rust-openssl-sys" ,rust-openssl-sys-0.9)
         ;; Build dependencies:
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:phases
        (modify-phases %standard-phases
@@ -12111,9 +12703,9 @@ macros on libc without stdlib.")
        (("rust-curl-sys" ,rust-curl-sys-0.4)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-libssh2-sys" ,rust-libssh2-sys-0.2)
-        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-libz-sys" ,rust-libz-sys-1)
         ("rust-openssl-sys" ,rust-openssl-sys-0.9)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))))
 
 (define-public rust-libloading-0.5
@@ -12132,7 +12724,7 @@ macros on libc without stdlib.")
     (arguments
      `(#:cargo-inputs
        (("rust-winapi" ,rust-winapi-0.3)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/nagisa/rust_libloading/")
     (synopsis "Rust library for loading dynamic libraries")
     (description
@@ -12208,7 +12800,7 @@ functions and static variables these libraries contain.")
 (define-public rust-libnghttp2-sys-0.1
   (package
     (name "rust-libnghttp2-sys")
-    (version "0.1.2")
+    (version "0.1.4+1.41.0")
     (source
       (origin
         (method url-fetch)
@@ -12216,18 +12808,30 @@ functions and static variables these libraries contain.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))
+          "1wcd93a8cw1h9y25834160y6ng982fi0qcd277hpjvhnvz34wqh3"))
         (modules '((guix build utils)))
         (snippet
-         '(begin (delete-file-recursively "nghttp2") #t))))
+         '(begin
+            (delete-file-recursively "nghttp2")
+            (substitute* "Cargo.toml"
+              (("false")
+               "false\n[build-dependencies.pkg-config]\nversion = \"0.3\"\n"))
+            (delete-file "build.rs")
+            (with-output-to-file "build.rs"
+              (lambda _
+                (format #t "fn main() {~@
+                        println!(\"cargo:rustc-link-lib=nghttp2\");~@
+                        }~%")))
+                 #t))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t     ; Uses unstable features
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
     (inputs
-     `(("nghttp2" ,nghttp2)))
+     `(("nghttp2" ,nghttp2 "lib")
+       ("pkg-config" ,pkg-config)))
     (home-page "https://github.com/alexcrichton/nghttp2-rs")
     (synopsis "FFI bindings for libnghttp2 (nghttp2)")
     (description
@@ -12253,7 +12857,7 @@ functions and static variables these libraries contain.")
      `(#:cargo-inputs
        ;; build dependencies
        (("rust-bindgen" ,rust-bindgen-0.49)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-vcpkg" ,rust-vcpkg-0.2))))
     (home-page "https://github.com/rusqlite/rusqlite")
@@ -12261,10 +12865,10 @@ functions and static variables these libraries contain.")
     (description "Native bindings to the libsqlite3 library")
     (license license:expat)))
 
-(define-public rust-libz-sys-1.0
+(define-public rust-libz-sys-1
   (package
     (name "rust-libz-sys")
-    (version "1.0.25")
+    (version "1.1.1")
     (source
       (origin
         (method url-fetch)
@@ -12272,16 +12876,19 @@ functions and static variables these libraries contain.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f"))
+          "1q25cb8vs113si7q2p0innhi8jk0wpq37hqi2wcc219hcmw43cr3"))
         (modules '((guix build utils)))
         (snippet
-         '(begin (delete-file-recursively "src/zlib") #t))))
+         '(begin (delete-file-recursively "src/zlib")
+                 (delete-file-recursively "src/zlib-ng")
+                 #t))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ;; Build dependencies:
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
+        ("rust-cmake" ,rust-cmake-0.1)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-vcpkg" ,rust-vcpkg-0.2))))
     (native-inputs
@@ -12368,8 +12975,8 @@ graphics and video games.")
      `(#:cargo-inputs
        (("rust-clippy" ,rust-clippy-0.0)
         ("rust-heapsize" ,rust-heapsize-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-test" ,rust-serde-test-1))))
     (home-page
      "https://github.com/contain-rs/linked-hash-map")
     (synopsis
@@ -12423,7 +13030,7 @@ pairs in insertion order.")
 (define-public rust-libssh2-sys-0.2
   (package
     (name "rust-libssh2-sys")
-    (version "0.2.14")
+    (version "0.2.19")
     (source
       (origin
         (method url-fetch)
@@ -12431,7 +13038,7 @@ pairs in insertion order.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "042gsgbvxgm5by4mk906j3zm4qdvzcfhjxrb55is1lrr6f0nxain"))
+          "0mkhw4pksbz7gldj8hia7k6npc479n1x09i8r0pm275sac424ina"))
         (modules '((guix build utils)))
         (snippet
          '(begin (delete-file-recursively "libssh2") #t))))
@@ -12439,10 +13046,10 @@ pairs in insertion order.")
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-libz-sys" ,rust-libz-sys-1)
         ("rust-openssl-sys" ,rust-openssl-sys-0.9)
         ;; Build dependencies:
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-vcpkg" ,rust-vcpkg-0.2))
        #:phases
@@ -12537,7 +13144,7 @@ by inspecting the system for user preference.")
 (define-public rust-lock-api-0.3
   (package
     (name "rust-lock-api")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
@@ -12546,13 +13153,13 @@ by inspecting the system for user preference.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0yzlz7f5xl5sm129dq8jqsrcrkyv7jjnqwd4zr4ijsdlxjaxxckr"))))
+         "0xgc5dzmajh0akbh5d6d7rj9mh5rzpk74pyrc946v2ixgakj9nn4"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-owning-ref" ,rust-owning-ref-0.4)
         ("rust-scopeguard" ,rust-scopeguard-1.0)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/Amanieu/parking_lot")
     (synopsis
      "Wrappers to create fully-featured Mutex and RwLock types")
@@ -12611,9 +13218,9 @@ by inspecting the system for user preference.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))
+       (("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/rust-lang/log")
     (synopsis "Lightweight logging facade for Rust")
     (description
@@ -12656,8 +13263,8 @@ by inspecting the system for user preference.")
         ("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.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("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 "Permutation testing for concurrent code")
@@ -12681,9 +13288,9 @@ by inspecting the system for user preference.")
         ("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.0)
-        ("rust-serde-test" ,rust-serde-test-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
+        ("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
@@ -12704,9 +13311,9 @@ by inspecting the system for user preference.")
         ("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.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-lru-cache-0.1
   (package
@@ -12790,7 +13397,7 @@ key-value pairs.")
        (("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-euclid" ,rust-euclid-0.20)
         ("rust-arrayvec" ,rust-arrayvec-0.4)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/nical/lyon")
     (synopsis "2D graphics rendering on the GPU using tessellation")
     (description
@@ -12815,7 +13422,7 @@ key-value pairs.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-lyon-geom" ,rust-lyon-geom-0.14)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/nical/lyon")
     (synopsis "Types and utilities to store, build and iterate over 2D paths")
     (description
@@ -12841,7 +13448,7 @@ key-value pairs.")
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -12997,9 +13604,9 @@ platform-independently.")
         ("rust-string-cache" ,rust-string-cache-0.8)
         ("rust-tendril" ,rust-tendril-0.4)
         ("rust-phf-codegen" ,rust-phf-codegen-0.8)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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.5))))
     (home-page "https://github.com/servo/html5ever")
     (synopsis "Common code for xml5ever and html5ever")
@@ -13028,9 +13635,9 @@ platform-independently.")
         ("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.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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
@@ -13259,7 +13866,7 @@ parallelize and optimize.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/RustCrypto/asm-hashes")
     (synopsis "Assembly implementation of MD5 compression function")
     (description "This package contains an assembly implementation of MD5
@@ -13628,7 +14235,7 @@ streaming API for miniz_oxide.")
         ("rust-libc" ,rust-libc-0.2)
         ("rust-miniz-oxide" ,rust-miniz-oxide-0.2))
        #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/Frommi/miniz_oxide/")
     (synopsis "DEFLATE compression and decompression API")
     (description
@@ -13653,7 +14260,7 @@ drop-in replacement for miniz.")
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ;; Build dependencies:
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/alexcrichton/flate2-rs")
     (synopsis "Bindings to the miniz.c library")
     (description
@@ -13978,12 +14585,12 @@ checking.")
         ("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.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("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.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://nalgebra.org")
     (synopsis "Linear algebra library")
     (description
@@ -14020,12 +14627,12 @@ statically-sized or dynamically-sized matrices.")
         ("rust-pest-derive" ,rust-pest-derive-2.1)
         ("rust-quickcheck" ,rust-quickcheck-0.8)
         ("rust-rand" ,rust-rand-0.6)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("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.1)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-named-pipe-0.4
   (package
@@ -14240,7 +14847,7 @@ cryptographic library.")
     (license ;; licensed under either of these, at your option
      (list license:lgpl3 license:gpl2 license:gpl3))))
 
-(define-public rust-new-debug-unreachable-1.0
+(define-public rust-new-debug-unreachable-1
   (package
     (name "rust-new-debug-unreachable")
     (version "1.0.3")
@@ -14260,14 +14867,14 @@ cryptographic library.")
     (synopsis
      "Panic in debug, @code{intrinsics::unreachable()} in release")
     (description
-     "Panic in debug, @code{intrinsics::unreachable() }in
+     "Panic in debug, @code{intrinsics::unreachable()in
 release (fork of debug_unreachable)")
     (license license:expat)))
 
-(define-public rust-nix-0.15
+(define-public rust-nix-0.17
   (package
     (name "rust-nix")
-    (version "0.15.0")
+    (version "0.17.0")
     (source
      (origin
        (method url-fetch)
@@ -14276,16 +14883,16 @@ release (fork of debug_unreachable)")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0aa2l7wg9pzx24ks4p97gdy09a4hhs1sr9drxnm75v906d7hnbiv"))))
+         "0qvk09kib3jpvpbaps0682nav20ibql61pf1s2h8jx9v5igpir2h"))))
     (build-system cargo-build-system)
     (arguments
      `(#:tests? #f      ; test suite hangs
        #:cargo-inputs
        (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-libc" ,rust-libc-0.2)
-        ("rust-void" ,rust-void-1.0))
+        ("rust-void" ,rust-void-1))
        #:cargo-development-inputs
        (("rust-bytes" ,rust-bytes-0.4)
         ("rust-caps" ,rust-caps-0.3)
@@ -14295,10 +14902,33 @@ release (fork of debug_unreachable)")
         ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/nix-rust/nix")
     (synopsis "Rust friendly bindings to *nix APIs")
-    (description
-     "Rust friendly bindings to *nix APIs.")
+    (description "Rust friendly bindings to *nix APIs.")
     (license license:expat)))
 
+(define-public rust-nix-0.15
+  (package
+    (inherit rust-nix-0.17)
+    (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))))))
+
 (define-public rust-nix-0.14
   (package
     (inherit rust-nix-0.15)
@@ -14312,22 +14942,7 @@ release (fork of debug_unreachable)")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1kmxdlmvnmq8cfpmr3g6wk37rwi2ybdvp1z6z3831m1p23p2nwkc"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-cc" ,rust-cc-1.0)
-        ("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-void" ,rust-void-1.0))
-       #: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))))))
+         "1kmxdlmvnmq8cfpmr3g6wk37rwi2ybdvp1z6z3831m1p23p2nwkc"))))))
 
 (define-public rust-no-panic-0.1
   (package
@@ -14345,9 +14960,9 @@ release (fork of debug_unreachable)")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
        (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/dtolnay/no-panic")
@@ -14535,10 +15150,32 @@ combinators library.")
       "No-op proc_macro, 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-notify-4
   (package
     (name "rust-notify")
-    (version "4.0.14")
+    (version "4.0.15")
     (source
      (origin
        (method url-fetch)
@@ -14547,7 +15184,7 @@ combinators library.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "12vpbg8j49196rxkm01hw2xfr0mk005ljmx0p9kwf6xj6gy2i5hr"))))
+         "1gadf8jf1vz7sip37rlwa66vw85ripy6977ibcfbiynii1v4mbl0"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -14555,15 +15192,14 @@ combinators library.")
         ("rust-filetime" ,rust-filetime-0.2)
         ("rust-fsevent" ,rust-fsevent-0.4)
         ("rust-fsevent-sys" ,rust-fsevent-sys-2)
-        ("rust-inotify" ,rust-inotify-0.6)
-        ("rust-kernel32-sys" ,rust-kernel32-sys-0.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.2)
+        ("rust-walkdir" ,rust-walkdir-2)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/passcod/notify")
     (synopsis "Cross-platform filesystem notification library")
     (description
@@ -14642,7 +15278,7 @@ including bigint, complex, rational, range iterators, generic integers, and more
         ("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.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-autocfg" ,rust-autocfg-1.0))))
     (home-page "https://github.com/rust-num/num-bigint")
     (synopsis "Big integer implementation for Rust")
@@ -14671,10 +15307,10 @@ including bigint, complex, rational, range iterators, generic integers, and more
         ("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.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-autocfg" ,rust-autocfg-1.0))
        #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))))
+       (("rust-serde-test" ,rust-serde-test-1))))))
 
 (define-public rust-num-bigint-0.1
   (package
@@ -14718,7 +15354,7 @@ including bigint, complex, rational, range iterators, generic integers, and more
      `(#:cargo-inputs
        (("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.7)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page
      "https://github.com/rust-num/num-complex")
     (synopsis
@@ -14745,7 +15381,7 @@ including bigint, complex, rational, range iterators, generic integers, and more
      `(#:cargo-inputs
        (("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-rand" ,rust-rand-0.5)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-autocfg" ,rust-autocfg-1.0))))))
 
 (define-public rust-num-complex-0.1
@@ -14811,9 +15447,9 @@ including bigint, complex, rational, range iterators, generic integers, and more
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/rust-num/num-derive")
     (synopsis "Numeric syntax extensions")
     (description "This package provides numeric syntax extensions.")
@@ -14915,7 +15551,7 @@ including bigint, complex, rational, range iterators, generic integers, and more
        (("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.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-autocfg" ,rust-autocfg-1.0))))
     (home-page "https://github.com/rust-num/num-rational")
     (synopsis "Rational numbers implementation for Rust")
@@ -14942,7 +15578,7 @@ including bigint, complex, rational, range iterators, generic integers, and more
        (("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.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-autocfg" ,rust-autocfg-1.0))))))
 
 (define-public rust-num-rational-0.1
@@ -15090,7 +15726,7 @@ giga, kibi.")
        #:cargo-inputs
        (("rust-malloc-buf" ,rust-malloc-buf-0.0)
         ("rust-objc-exception" ,rust-objc-exception-0.1))))
-    (home-page "http://github.com/SSheldon/rust-objc")
+    (home-page "https://github.com/SSheldon/rust-objc")
     (synopsis "Objective-C Runtime bindings and wrapper for Rust")
     (description "This package provides an Objective-C Runtime bindings and
 wrapper for Rust.")
@@ -15113,8 +15749,8 @@ wrapper for Rust.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0))))
-    (home-page "http://github.com/SSheldon/rust-objc-exception")
+       (("rust-cc" ,rust-cc-1))))
+    (home-page "https://github.com/SSheldon/rust-objc-exception")
     (synopsis "Rust interface for Objective-C's throw and try/catch statements")
     (description
      "This package provides a Rust interface for Objective-C's throw and
@@ -15141,7 +15777,7 @@ try/catch statements.")
        (("rust-block" ,rust-block-0.1)
         ("rust-objc" ,rust-objc-0.2)
         ("rust-objc-id" ,rust-objc-id-0.1))))
-    (home-page "http://github.com/SSheldon/rust-objc-foundation")
+    (home-page "https://github.com/SSheldon/rust-objc-foundation")
     (synopsis "Rust wrapper for Objective-C's Foundation framework")
     (description "This package provides a rust wrapper for Objective-C's
 Foundation framework.")
@@ -15164,7 +15800,7 @@ Foundation framework.")
     (arguments
      `(#:tests? #f  ; Tests require gcc-objc.
        #:cargo-inputs (("rust-objc" ,rust-objc-0.2))))
-    (home-page "http://github.com/SSheldon/rust-objc-id")
+    (home-page "https://github.com/SSheldon/rust-objc-id")
     (synopsis "Rust smart pointers for Objective-C reference counting")
     (description
      "This package provides Rust smart pointers for Objective-C reference counting.")
@@ -15188,7 +15824,7 @@ Foundation framework.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-gcc" ,rust-gcc-0.3))))
-    (home-page "http://github.com/SSheldon/rust-objc")
+    (home-page "https://github.com/SSheldon/rust-objc")
     (synopsis "Utilities for testing Objective-C interop")
     (description
      "This package provides utilities for testing Objective-C interop.")
@@ -15271,16 +15907,15 @@ formats.")
          "0rdnxa0na4897yb0svb3figz35g4imxjv61yfm2j21gbh5q8v8d9"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#: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.8)
-        ("rust-lazy-static" ,rust-lazy-static-1)
+       (("rust-itertools" ,rust-itertools-0.7)
+        ("rust-lazy-static" ,rust-lazy-static-0.2)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-quickcheck" ,rust-quickcheck-0.8))))
+        ("rust-quickcheck" ,rust-quickcheck-0.4))))
     (home-page "https://github.com/bluss/odds")
     (synopsis "Extra functionality for slices, strings and other things")
     (description
@@ -15289,6 +15924,32 @@ 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:asl2.0 license:expat))))
 
+(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-onig-5.0
   (package
     (name "rust-onig")
@@ -15310,7 +15971,7 @@ Things in odds may move to more appropriate crates if we find them.")
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-onig-sys" ,rust-onig-sys-69.2))))
-    (home-page "http://github.com/iwillspeak/rust-onig")
+    (home-page "https://github.com/rust-onig/rust-onig")
     (synopsis
      "Rust bindings for the Oniguruma regular expression library")
     (description
@@ -15338,8 +15999,8 @@ character encodings and regex syntaxes.")
        #:cargo-inputs
        (("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-bindgen" ,rust-bindgen-0.50)
-        ("rust-cc" ,rust-cc-1.0))))
-    (home-page "http://github.com/iwillspeak/rust-onig")
+        ("rust-cc" ,rust-cc-1))))
+    (home-page "https://github.com/rust-onig/rust-onig")
     (synopsis
      "Rust bindings to the oniguruma library.")
     (description
@@ -15547,22 +16208,22 @@ system for OpenSSL.")
 (define-public rust-openssl-sys-0.9
   (package
     (name "rust-openssl-sys")
-    (version "0.9.53")
+    (version "0.9.58")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "openssl-sys" version))
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32 "0vvk8vzrc73y8n5rf4yj3x8ygyxjaz7wxrbxiwqi7qy0gyp1cpa6"))
+         (base32 "1pkq3x8w16kqvkg75g4w7nny56w9clssww0ibpzg015n153xnhm8"))
         (patches (search-patches "rust-openssl-sys-no-vendor.patch"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ;; Build dependencies:
-        ("rust-autocfg" ,rust-autocfg-0.1)
-        ("rust-cc" ,rust-cc-1.0)
+        ("rust-autocfg" ,rust-autocfg-1.0)
+        ("rust-cc" ,rust-cc-1)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
         ("rust-vcpkg" ,rust-vcpkg-0.2))
        #:phases
@@ -15690,9 +16351,9 @@ PartialOrd types, like floats.")
     (arguments
      `(#:cargo-inputs
        (("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))
+       (("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/reem/rust-ordered-float")
     (synopsis "Wrappers for total ordering on floats")
     (description
@@ -15716,14 +16377,14 @@ PartialOrd types, like floats.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
+       (("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.0))))
+        ("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/bluss/indexmap")
     (synopsis "Hash table with consistent order and fast iteration")
     (description
@@ -15905,7 +16566,7 @@ normally prevent moving a type that has been borrowed from.")
         ("rust-palette-derive" ,rust-palette-derive-0.5)
         ("rust-phf" ,rust-phf-0.8)
         ("rust-phf-codegen" ,rust-phf-codegen-0.8)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/Ogeon/palette")
     (synopsis "Linear color calculations and conversion")
     (description
@@ -15929,9 +16590,9 @@ normally prevent moving a type that has been borrowed from.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/Ogeon/palette")
     (synopsis "Automatically implement traits from the palette crate")
     (description
@@ -16208,7 +16869,7 @@ deserialization, and interpreter in Rust.")
 (define-public rust-parking-lot-0.10
   (package
     (name "rust-parking-lot")
-    (version "0.10.0")
+    (version "0.10.2")
     (source
      (origin
        (method url-fetch)
@@ -16217,7 +16878,7 @@ deserialization, and interpreter in Rust.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1z0wgf2sd1266y768kxxs3313zjfzj9r3k7j4arfaz0bmd4qrscj"))))
+         "0pjhcbyk6n0g6jsr6s9nf4x8wribm1b2yf8fgc8drbqa77mh99yk"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -16312,7 +16973,7 @@ synchronization primitives.")
 (define-public rust-parking-lot-core-0.7
   (package
     (name "rust-parking-lot-core")
-    (version "0.7.0")
+    (version "0.7.2")
     (source
      (origin
        (method url-fetch)
@@ -16321,7 +16982,7 @@ synchronization primitives.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1wdbrvh35nn09ga570vl5062dpwfbrwgzyrlhhy78ifzhj2870km"))))
+         "18s0cw5y32447c06fhg2mp3xfng22fn1h9fpx3il98sbimv7r36m"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -16329,7 +16990,7 @@ synchronization primitives.")
         ("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-cloudabi" ,rust-cloudabi-0.0)
         ("rust-libc" ,rust-libc-0.2)
-        ("rust-petgraph" ,rust-petgraph-0.4)
+        ("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.3)
@@ -16474,9 +17135,9 @@ synchronization primitives.")
     (arguments
      `(#:cargo-inputs
        (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+        ("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
@@ -16579,7 +17240,7 @@ in pure Rust.")
 (define-public rust-pcre2-sys-0.2
   (package
     (name "rust-pcre2-sys")
-    (version "0.2.2")
+    (version "0.2.5")
     (source
      (origin
        (method url-fetch)
@@ -16588,7 +17249,7 @@ in pure Rust.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0nwdvc43dkb89qmm5q8gw1zyll0wsfqw7kczpn23mljra3874v47"))
+         "08mp6yxrvadplwd0drdydzskvzapr6dri9fyy7xvhzn3krg0xhyy"))
        (modules '((guix build utils)))
        (snippet
         '(begin (delete-file-recursively "pcre2") #t))))
@@ -16597,7 +17258,7 @@ in pure Rust.")
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-pkg-config" ,rust-pkg-config-0.3)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1))))
     (native-inputs
      `(("pcre2" ,pcre2)
        ("pkg-config" ,pkg-config)))
@@ -16693,8 +17354,8 @@ in Rust.")
     (arguments
      `(#:cargo-inputs
        (("rust-peg-runtime" ,rust-peg-runtime-0.6)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+        ("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
@@ -16796,8 +17457,8 @@ algorithm.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+       (("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-ucd-trie" ,rust-ucd-trie-0.1))))
     (home-page "https://pest.rs/")
     (synopsis "The Elegant Parser")
@@ -16847,9 +17508,9 @@ algorithm.")
        #:cargo-inputs
        (("rust-pest" ,rust-pest-2.1)
         ("rust-pest-meta" ,rust-pest-meta-2.1)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://pest.rs/")
     (synopsis "Pest code generator")
     (description "Pest code generator.")
@@ -16881,10 +17542,10 @@ algorithm.")
      "Pest meta language parser and validator.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-petgraph-0.4
+(define-public rust-petgraph-0.5
   (package
     (name "rust-petgraph")
-    (version "0.4.13")
+    (version "0.5.1")
     (source
      (origin
        (method url-fetch)
@@ -16893,21 +17554,20 @@ algorithm.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0kyfmca854s54jk26g2x1kjb04c3k7cjilaxyr0if8lhxv8mjdlw"))))
+         "1dzxda6z17sfxly11m8ja3iargh73pw0s1sdgjyp0qp5dm51cza6"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-fixedbitset" ,rust-fixedbitset-0.1)
+     `(#: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.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))
        #:cargo-development-inputs
-       (("rust-defmac" ,rust-defmac-0.2)
+       (("rust-defmac" ,rust-defmac-0.1)
         ("rust-itertools" ,rust-itertools-0.8)
-        ("rust-odds" ,rust-odds-0.3)
-        ("rust-rand" ,rust-rand-0.4))))
+        ("rust-odds" ,rust-odds-0.2)
+        ("rust-rand" ,rust-rand-0.5))))
     (home-page "https://github.com/petgraph/petgraph")
     (synopsis "Graph data structure library")
     (description
@@ -16915,6 +17575,40 @@ algorithm.")
 algorithms.")
     (license (list license:expat license:asl2.0))))
 
+(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.8
   (package
     (name "rust-phf")
@@ -17082,9 +17776,9 @@ function data structures.")
        (("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.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/sfackler/rust-phf")
     (synopsis "Macros to generate types in the phf crate")
     (description
@@ -17460,7 +18154,7 @@ nicely with Piston libraries.")
         ("rust-piston-viewport" ,rust-piston-viewport-1.0)
         ("rust-read-color" ,rust-read-color-1.0)
         ("rust-vecmath" ,rust-vecmath-1.0)
-        ("rust-fnv" ,rust-fnv-1.0))))
+        ("rust-fnv" ,rust-fnv-1))))
     (home-page "https://github.com/pistondevelopers/graphics")
     (synopsis "Library for 2D graphics that works with multiple back-ends")
     (description "This package provides a library for 2D graphics that works
@@ -17538,8 +18232,8 @@ interactive applications.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-piston-viewport" ,rust-piston-viewport-1.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-bitflags" ,rust-bitflags-1))))
     (home-page "https://github.com/PistonDevelopers/piston")
     (synopsis "Structure for user input")
@@ -17573,6 +18267,50 @@ interactive applications.")
      "This package provides a library for window abstraction.")
     (license license:expat)))
 
+(define-public rust-pin-project-0.4
+  (package
+    (name "rust-pin-project")
+    (version "0.4.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pin-project" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "05wwxy46j9z27ibbiisjqk0rivf0z00h4al1f92mwjp9pz6sdqqj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-pin-project-internal" ,rust-pin-project-internal-0.4))))
+    (home-page "https://crates.io/crates/pin-project")
+    (synopsis "A crate for safe and ergonomic pin-projection")
+    (description "A crate for safe and ergonomic pin-projection.")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-pin-project-internal-0.4
+  (package
+    (name "rust-pin-project-internal")
+    (version "0.4.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pin-project-internal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xxac6f3ip45zqbfcmmk748ywjw9sbavz1fcswvqgn3rrx2zs3va"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://crates.io/crates/pin-project-internal")
+    (synopsis "An internal crate to support pin_project")
+    (description "An internal crate to support pin_project")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-pin-project-lite-0.1
   (package
     (name "rust-pin-project-lite")
@@ -17662,7 +18400,7 @@ used in Cargo build scripts.")
        (("rust-line-wrap" ,rust-line-wrap-0.1)
         ("rust-base64" ,rust-base64-0.10)
         ("rust-xml-rs" ,rust-xml-rs-0.8)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-humantime" ,rust-humantime-1)
         ("rust-byteorder" ,rust-byteorder-1.3))))
     (home-page "https://github.com/ebarnard/rust-plist/")
@@ -17725,7 +18463,7 @@ both WASM and native applications")
      `(#:cargo-inputs
        (("rust-typemap" ,rust-typemap-0.3))
        #:cargo-development-inputs
-       (("rust-void" ,rust-void-1.0))))
+       (("rust-void" ,rust-void-1))))
     (home-page "https://github.com/reem/rust-plugin")
     (synopsis "Lazily evaluated, order-independent plugins for extensible types")
     (description
@@ -17749,7 +18487,7 @@ both WASM and native applications")
     (arguments
      `(#:cargo-inputs
        (("rust-tempdir" ,rust-tempdir-0.3)
-        ("rust-walkdir" ,rust-walkdir-1.0))))
+        ("rust-walkdir" ,rust-walkdir-1))))
     (home-page "https://github.com/DiamondLovesYou/cargo-pnacl-helper")
     (synopsis
      "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
@@ -17937,29 +18675,106 @@ for x86.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-precomputed-hash-0.1
+(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-1
+  (package
+    (name "rust-predicates")
+    (version "1.0.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "predicates" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0c0hafd7z7v97218na8nampmy64f7fw61yvjk2y3dri11dpinyil"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-difference" ,rust-difference-2.0)
+        ("rust-float-cmp" ,rust-float-cmp-0.6)
+        ("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
+     "An implementation of boolean-valued predicate functions.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-predicates-core-1
+  (package
+    (name "rust-predicates-core")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "predicates-core" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0y3ingf2i4xx7r61f1a8wizs57j8hh32hylyjbw9ymcj7qx5q1q6"))))
+    (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-precomputed-hash")
-    (version "0.1.1")
+    (name "rust-predicates-tree")
+    (version "1.0.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "precomputed-hash" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "075k9bfy39jhs53cb2fpb9klfakx2glxnf28zdw08ws6lgpq6lwj"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "predicates-tree" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "090148qjilm2c722l873z7g31fhzj5j4qhd2xiv8mcqkj22w8qwf"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-predicates-core" ,rust-predicates-core-1)
+        ("rust-treeline" ,rust-treeline-0.1))))
     (home-page
-     "https://github.com/emilio/precomputed-hash")
+     "https://github.com/assert-rs/predicates-rs/tree/master/predicates-tree")
     (synopsis
-     "Base dependency to expose a precomputed hash")
+     "Render boolean-valued predicate functions results as a tree")
     (description
-     "This package provides a library intending to be a base
-dependency to expose a precomputed hash.")
-    (license license:expat)))
+     "Render boolean-valued predicate functions results as a tree.")
+    (license (list license:expat license:asl2.0))))
 
 (define-public rust-pretty-assertions-0.6
   (package
@@ -18099,9 +18914,9 @@ formatted tables in terminal.")
         #:cargo-inputs
         (("rust-proc-macro-error-attr" ,rust-proc-macro-error-attr-0.4)
          ("rust-version-check" ,rust-version-check-0.9)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-syn" ,rust-syn-1)
+         ("rust-quote" ,rust-quote-1))))
     (home-page "https://gitlab.com/CreepySkeleton/proc-macro-error")
     (synopsis "Almost drop-in replacement to panics in proc-macros")
     (description
@@ -18127,9 +18942,9 @@ formatted tables in terminal.")
        #:cargo-inputs
        (("rust-syn-mid" ,rust-syn-mid-0.5)
         ("rust-version-check" ,rust-version-check-0.9)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://gitlab.com/CreepySkeleton/proc-macro-error")
     (synopsis "Attribute macro for proc-macro-error crate")
     (description
@@ -18152,9 +18967,9 @@ formatted tables in terminal.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-quote" ,rust-quote-1.0)
+       (("rust-quote" ,rust-quote-1)
         ("rust-rustversion" ,rust-rustversion-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+        ("rust-syn" ,rust-syn-1)
         ("rust-trybuild" ,rust-trybuild-1.0)
         ("rust-demo-hack" ,rust-demo-hack-0.0)
         ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0))))
@@ -18228,7 +19043,7 @@ formatted tables in terminal.")
      "Support for nested proc-macro-hack invocations.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-proc-macro2-1.0
+(define-public rust-proc-macro2-1
   (package
     (name "rust-proc-macro2")
     (version "1.0.10")
@@ -18245,7 +19060,7 @@ formatted tables in terminal.")
      `(#:cargo-inputs
        (("rust-unicode-xid" ,rust-unicode-xid-0.2))
        #:cargo-development-inputs
-       (("rust-quote" ,rust-quote-1.0))))
+       (("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/alexcrichton/proc-macro2")
     (synopsis "Stable implementation of the upcoming new `proc_macro` API")
     (description "This package provides a stable implementation of the upcoming new
@@ -18255,7 +19070,7 @@ in terms of the upstream unstable API.")
 
 (define-public rust-proc-macro2-0.4
   (package
-    (inherit rust-proc-macro2-1.0)
+    (inherit rust-proc-macro2-1)
     (name "rust-proc-macro2")
     (version "0.4.30")
     (source
@@ -18434,7 +19249,7 @@ macro use case.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("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
@@ -18532,8 +19347,8 @@ stack pointer and inspect the properties of the stack.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       (("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")
@@ -18811,7 +19626,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
      "This package provides a macro attribute for quickcheck.")
     (license (list license:unlicense license:expat))))
 
-(define-public rust-quote-1.0
+(define-public rust-quote-1
   (package
     (name "rust-quote")
     (version "1.0.3")
@@ -18826,7 +19641,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0))
+       (("rust-proc-macro2" ,rust-proc-macro2-1))
        #:cargo-development-inputs
        (("rust-rustversion" ,rust-rustversion-1.0)
         ("rust-trybuild" ,rust-trybuild-1.0))))
@@ -18837,7 +19652,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
 
 (define-public rust-quote-0.6
   (package
-    (inherit rust-quote-1.0)
+    (inherit rust-quote-1)
     (name "rust-quote")
     (version "0.6.13")
     (source
@@ -18903,8 +19718,8 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
      `(#:tests? #f
        #:cargo-inputs
        (("rust-racer-interner" ,rust-racer-interner-0.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/racer-rust/racer")
     (synopsis "Lightweight cargo metadata parser for racer")
     (description
@@ -18927,7 +19742,7 @@ Racer.")
          "0k7ssjjcr4kr9r1jbz93rglisfsx1m6fkx3wz6yng5rizm528si0"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-serde" ,rust-serde-1.0))))
+     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/racer-rust/racer")
     (synopsis "Thread-local string interner for Racer")
     (description
@@ -19023,8 +19838,8 @@ useful types and distributions, and some randomness-related algorithms.")
         ("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.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("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
@@ -19128,7 +19943,7 @@ useful types and distributions, and some randomness-related algorithms.")
     (arguments
      `(#:cargo-inputs
        (("rust-getrandom" ,rust-getrandom-0.1)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://crates.io/crates/rand-core")
     (synopsis
      "Core random number generator traits and tools for implementation")
@@ -19151,8 +19966,8 @@ useful types and distributions, and some randomness-related algorithms.")
           "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
+       (("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))))))
 
 (define-public rust-rand-core-0.3
   (package
@@ -19273,7 +20088,7 @@ generator that uses the HC-128 algorithm.")
     (arguments
      `(#:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))
     (home-page "https://crates.io/crates/rand_isaac")
@@ -19299,8 +20114,8 @@ Add, and Count\" which are the principal bitwise operations employed.")
     (arguments
      `(#:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))))
 
@@ -19395,7 +20210,7 @@ generator based on timing jitter.")
     (arguments
      `(#:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))
     (home-page "https://crates.io/crates/rand_pcg")
@@ -19423,8 +20238,8 @@ generator based on timing jitter.")
      `(#:cargo-inputs
        (("rust-autocfg" ,rust-autocfg-0.1)
         ("rust-rand-core" ,rust-rand-core-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))))
 
@@ -19445,7 +20260,7 @@ generator based on timing jitter.")
     (arguments
      `(#:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))
     (home-page "https://crates.io/crates/rand-xorshift")
@@ -19470,8 +20285,8 @@ generator based on timing jitter.")
     (arguments
      `(#:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+        ("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")
@@ -19498,7 +20313,7 @@ generator based on timing jitter.")
     (arguments
      `(#:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))
     (home-page "https://crates.io/crates/rand_xoshiro")
@@ -19525,7 +20340,7 @@ random number generators.")
      `(#:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))))
 
@@ -19660,7 +20475,7 @@ accessors.")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.7)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/rayon-rs/rayon")
     (synopsis "Simple work-stealing parallelism for Rust")
     (description
@@ -19952,9 +20767,9 @@ functionality.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/dtolnay/ref-cast")
     (synopsis "Derive implementation for @code{ref_cast::RefCast}")
     (description
@@ -20087,9 +20902,9 @@ uses finite automata and guarantees linear time matching on all inputs.")
        (("rust-bstr" ,rust-bstr-0.2)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-regex" ,rust-regex-1)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-serde-bytes" ,rust-serde-bytes-0.11)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-toml" ,rust-toml-0.5)))) ; 0.4
     (home-page "https://github.com/BurntSushi/regex-automata")
     (synopsis
@@ -20282,22 +21097,22 @@ uses finite automata and guarantees linear time matching on all inputs.")
 (define-public rust-rgb-0.8
   (package
     (name "rust-rgb")
-    (version "0.8.18")
+    (version "0.8.20")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rgb" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "15hrf0gb1l1a8rhx7b6gzrcmb43xlll4r1ym0mq55c7068dhc537"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rgb" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1620mn5dp1rr9fpvd9wbr3b8l2g4zrij8zjri1x34cg1bas59vwh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-bytemuck" ,rust-bytemuck-1)
+        ("rust-serde", rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-json" ,rust-serde-json-1.0))))
+       (("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://lib.rs/crates/rgb")
     (synopsis "Struct for sharing pixels between crates")
     (description
@@ -20329,7 +21144,7 @@ first-class Rust objects.")
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3)
         ;; build dependencies
-        ("rust-cc" ,rust-cc-1.0))
+        ("rust-cc" ,rust-cc-1))
        #:cargo-development-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
@@ -20356,7 +21171,33 @@ first-class Rust objects.")
         ("rust-libc" ,rust-libc-0.2)
         ("rust-untrusted" ,rust-untrusted-0.6)
         ;; build dependencies
-        ("rust-cc" ,rust-cc-1.0))))))
+        ("rust-cc" ,rust-cc-1))))))
+
+(define-public rust-rle-decode-fast-1
+  (package
+    (name "rust-rle-decode-fast")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rle-decode-fast" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1b4h7qs4mssc5dnlhs3f91ya8pb40bv72zzshl18gify2jllzgna"))))
+    (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-rls-span-0.5
   (package
@@ -20375,8 +21216,8 @@ first-class Rust objects.")
     (arguments
      `(#:cargo-inputs
        (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
     (home-page "https://github.com/rust-lang/rls")
     (synopsis "Types for identifying code spans/ranges")
     (description
@@ -20403,10 +21244,10 @@ Rust Language Server.")
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.10)
         ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (;("rust-serde-bytes" ,rust-serde-bytes-0.10)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/ron-rs/ron")
     (synopsis "Rusty Object Notation")
     (description "Rusty Object Notation.")
@@ -20490,7 +21331,7 @@ console applications.")
         ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15)
         ("rust-lru-cache" ,rust-lru-cache-0.1)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-time" ,rust-time-0.1)
         ("rust-url" ,rust-url-1.7)
         ("rust-uuid" ,rust-uuid-0.7))
@@ -20720,6 +21561,43 @@ It is automatically published using the compiler repository at
 @url{https://www.github.com/rust-lang/rust}")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-ap-rustc-ast-654
+  (package
+    (name "rust-rustc-ap-rustc-ast")
+    (version "654.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-ap-rustc_ast" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0n4yhkd7x0c3nqyqz99lwjiix7mf1j5xbkn9fj90h4fxp3did7qq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rustc-ap-rustc-data-structures"
+         ,rust-rustc-ap-rustc-data-structures-654)
+        ("rust-rustc-ap-rustc-index" ,rust-rustc-ap-rustc-index-654)
+        ("rust-rustc-ap-rustc-lexer" ,rust-rustc-ap-rustc-lexer-654)
+        ("rust-rustc-ap-rustc-macros" ,rust-rustc-ap-rustc-macros-654)
+        ("rust-rustc-ap-serialize" ,rust-rustc-ap-serialize-654)
+        ("rust-rustc-ap-rustc-span" ,rust-rustc-ap-rustc-span-654)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
+        ("rust-smallvec" ,rust-smallvec-1))))
+    (home-page "https://github.com/alexcrichton/rustc-auto-publish")
+    (synopsis
+     "Automatically published version of the Rust ast used in rustc")
+    (description
+     "Use the Rust ast used in the Rust compiler with this crate.
+It is automatically published using the compiler repository at
+@url{https://www.github.com/rust-lang/rust}")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustc-ap-rustc-data-structures-654
   (package
     (name "rust-rustc-ap-rustc-data-structures")
@@ -20835,9 +21713,9 @@ It is automatically published using the compiler repository at
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
         ("rust-synstructure" ,rust-synstructure-0.12))))
     (home-page "https://github.com/alexcrichton/rustc-auto-publish")
     (synopsis "Automatically published versions of rustc macros")
@@ -20847,6 +21725,78 @@ It is automatically published using the compiler repository at
 @url{https://www.github.com/rust-lang/rust}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-ap-rustc-span-654
+  (package
+    (name "rust-rustc-ap-rustc-span")
+    (version "654.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-ap-rustc_span" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hj23syxxqqmk1y4kdvb0cb0xxi8wy429hhyd27bbmpya1h18j56"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-md-5" ,rust-md-5-0.8)
+        ("rust-rustc-ap-arena" ,rust-rustc-ap-arena-654)
+        ("rust-rustc-ap-rustc-data-structures"
+         ,rust-rustc-ap-rustc-data-structures-654)
+        ("rust-rustc-ap-rustc-index" ,rust-rustc-ap-rustc-index-654)
+        ("rust-rustc-ap-rustc-macros" ,rust-rustc-ap-rustc-macros-654)
+        ("rust-rustc-ap-serialize" ,rust-rustc-ap-serialize-654)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
+        ("rust-sha-1" ,rust-sha-1-0.8)
+        ("rust-unicode-width" ,rust-unicode-width-0.1))))
+    (home-page "https://github.com/alexcrichton/rustc-auto-publish")
+    (synopsis
+     "Automatically published version of the source code spans used in rustc")
+    (description
+     "Use the spans used in the Rust compiler to represent source code with
+this crate.  It is automatically published using the compiler repository at
+@url{https://www.github.com/rust-lang/rust}")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-rustc-ap-rustc-target-654
+  (package
+    (name "rust-rustc-ap-rustc-target")
+    (version "654.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-ap-rustc_target" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i579l4jx4ky5wm0ah8zdy6dd6201rii6rv1wc4bi209ixwjikr8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rustc-ap-rustc-data-structures"
+         ,rust-rustc-ap-rustc-data-structures-654)
+        ("rust-rustc-ap-rustc-index" ,rust-rustc-ap-rustc-index-654)
+        ("rust-rustc-ap-rustc-macros" ,rust-rustc-ap-rustc-macros-654)
+        ("rust-rustc-ap-serialize" ,rust-rustc-ap-serialize-654)
+        ("rust-rustc-ap-rustc-span" ,rust-rustc-ap-rustc-span-654))))
+    (home-page "https://github.com/alexcrichton/rustc-auto-publish")
+    (synopsis
+     "Automatically published version of the compile targets used in rustc")
+    (description
+     "Use the compile targets as expressed in the Rust compiler with this
+crate.  It is automatically published using the compiler repository at
+@url{https://www.github.com/rust-lang/rust}")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustc-ap-serialize-654
   (package
     (name "rust-rustc-ap-serialize")
@@ -20947,8 +21897,8 @@ It is automatically published using the compiler repository at
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
     (home-page "https://github.com/rust-lang/rustc-rayon")
     (synopsis
      "Simple work-stealing parallelism for Rust - fork for rustc")
@@ -21204,8 +22154,8 @@ rustc compiler.")
        #:cargo-inputs
        (("rust-failure" ,rust-failure-0.1)
         ("rust-log" ,rust-log-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1))
        #:cargo-development-inputs
        (("rust-difference" ,rust-difference-2.0)
         ("rust-duct" ,rust-duct-0.13)
@@ -21278,8 +22228,8 @@ rustc compiler.")
         ("rust-log" ,rust-log-0.4)
         ("rust-mio" ,rust-mio-0.6)
         ("rust-regex" ,rust-regex-0.2)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-webpki-roots" ,rust-webpki-roots-0.14))))))
 
 (define-public rust-rusttype-0.8
@@ -21360,9 +22310,9 @@ font rendering.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("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
@@ -21386,9 +22336,9 @@ font rendering.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("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
@@ -21412,7 +22362,7 @@ rustc compiler version.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
+       (("rust-fnv" ,rust-fnv-1)
         ("rust-quick-error" ,rust-quick-error-1.2)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
@@ -21797,9 +22747,9 @@ endian-aware Read/Write traits for byte buffers.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/m4b/scroll")
     (synopsis "Pread and Pwrite traits from the scroll crate")
     (description
@@ -21852,7 +22802,7 @@ Pwrite traits from the scroll crate.")
        (("rust-ring" ,rust-ring-0.16)
         ("rust-untrusted" ,rust-untrusted-0.7))
        #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/ctz/sct.rs")
     (synopsis "Certificate transparency SCT verification library")
     (description "Certificate transparency SCT verification library")
@@ -21875,7 +22825,7 @@ Pwrite traits from the scroll crate.")
        (("rust-ring" ,rust-ring-0.13)
         ("rust-untrusted" ,rust-untrusted-0.6))
        #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))))
+       (("rust-cc" ,rust-cc-1))))))
 
 
 (define-public rust-seahash-3.0
@@ -22059,11 +23009,11 @@ proven statistical guarantees.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-semver-parser" ,rust-semver-parser-0.7)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-crates-index" ,rust-crates-index-0.13)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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
@@ -22105,7 +23055,7 @@ proven statistical guarantees.")
          (base32
           "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
 
-(define-public rust-serde-1.0
+(define-public rust-serde-1
   (package
     (name "rust-serde")
     (version "1.0.105")
@@ -22121,9 +23071,9 @@ proven statistical guarantees.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))
+       (("rust-serde-derive" ,rust-serde-derive-1))
        #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))))
+       (("rust-serde-derive" ,rust-serde-derive-1))))
     (home-page "https://serde.rs")
     (synopsis "Generic serialization/deserialization framework")
     (description
@@ -22132,7 +23082,7 @@ proven statistical guarantees.")
 
 (define-public rust-serde-0.9
   (package
-    (inherit rust-serde-1.0)
+    (inherit rust-serde-1)
     (name "rust-serde")
     (version "0.9.15")
     (source
@@ -22159,7 +23109,7 @@ proven statistical guarantees.")
 
 (define-public rust-serde-0.8
   (package
-    (inherit rust-serde-1.0)
+    (inherit rust-serde-1)
     (name "rust-serde")
     (version "0.8.23")
     (source
@@ -22209,10 +23159,10 @@ proven statistical guarantees.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       (("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))
        #:cargo-development-inputs
-       (("rust-serde-json" ,rust-serde-json-1.0))))
+       (("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.")
@@ -22249,11 +23199,11 @@ proven statistical guarantees.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+        ("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
@@ -22277,9 +23227,9 @@ proven statistical guarantees.")
     (arguments
      `(#:cargo-inputs
        (("rust-half" ,rust-half-1.3)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))))
+       (("rust-serde-derive" ,rust-serde-derive-1))))
     (home-page "https://github.com/pyfisch/cbor")
     (synopsis "CBOR support for serde")
     (description "CBOR support for serde.")
@@ -22304,9 +23254,9 @@ proven statistical guarantees.")
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-half" ,rust-half-1.3)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))))))
+       (("rust-serde-derive" ,rust-serde-derive-1))))))
 
 (define-public rust-serde-codegen-0.4
   (package
@@ -22361,7 +23311,7 @@ for the serde framework.")
      "Unstable AST representation used by Serde codegen.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-derive-1.0
+(define-public rust-serde-derive-1
   (package
     (name "rust-serde-derive")
     (version "1.0.105")
@@ -22377,11 +23327,11 @@ for the serde framework.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
        #:cargo-development-inputs
-       (("rust-serde" ,rust-serde-1.0))))
+       (("rust-serde" ,rust-serde-1))))
     (home-page "https://serde.rs")
     (synopsis
       "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
@@ -22391,7 +23341,7 @@ for the serde framework.")
 
 (define-public rust-serde-derive-0.9
   (package
-    (inherit rust-serde-derive-1.0)
+    (inherit rust-serde-derive-1)
     (name "rust-serde-derive")
     (version "0.9.15")
     (source
@@ -22416,7 +23366,7 @@ for the serde framework.")
         ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
         ("rust-syn" ,rust-syn-0.11))))))
 
-(define-public rust-serde-json-1.0
+(define-public rust-serde-json-1
   (package
     (name "rust-serde-json")
     (version "1.0.50")
@@ -22435,12 +23385,12 @@ for the serde framework.")
        (("rust-indexmap" ,rust-indexmap-1)
         ("rust-itoa" ,rust-itoa-0.4)
         ("rust-ryu" ,rust-ryu-1.0)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (;("rust-automod" ,rust-automod-0.1)
         ("rust-rustversion" ,rust-rustversion-1.0)
         ("rust-serde-bytes" ,rust-serde-bytes-0.11)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ;("rust-serde-stacker" ,rust-serde-stacker-0.1)
         ("rust-trybuild" ,rust-trybuild-1.0))))
     (home-page "https://github.com/serde-rs/json")
@@ -22451,7 +23401,7 @@ for the serde framework.")
 
 (define-public rust-serde-json-0.9
   (package
-    (inherit rust-serde-json-1.0)
+    (inherit rust-serde-json-1)
     (name "rust-serde-json")
     (version "0.9.10")
     (source
@@ -22510,7 +23460,7 @@ for the serde framework.")
      "Macros to auto-generate implementations for the serde framework.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-test-1.0
+(define-public rust-serde-test-1
   (package
     (name "rust-serde-test")
     (version "1.0.105")
@@ -22527,10 +23477,10 @@ for the serde framework.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+       (("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")
@@ -22540,7 +23490,7 @@ for the serde framework.")
 
 (define-public rust-serde-test-0.9
   (package
-    (inherit rust-serde-test-1.0)
+    (inherit rust-serde-test-1)
     (name "rust-serde-test")
     (version "0.9.15")
     (source
@@ -22564,7 +23514,7 @@ for the serde framework.")
 
 (define-public rust-serde-test-0.8
   (package
-    (inherit rust-serde-test-1.0)
+    (inherit rust-serde-test-1)
     (name "rust-serde-test")
     (version "0.8.23")
     (source
@@ -22604,10 +23554,10 @@ for the serde framework.")
        #:cargo-inputs
        (("rust-dtoa" ,rust-dtoa-0.4)
         ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-yaml-rust" ,rust-yaml-rust-0.4))
        #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0)
+       (("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-unindent" ,rust-unindent-0.1))))
     (home-page
      "https://github.com/dtolnay/serde-yaml")
@@ -22678,7 +23628,7 @@ for the serde framework.")
     (arguments
      `(#:cargo-inputs
        (("rust-nodrop" ,rust-nodrop-0.1)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1))))
     (home-page "https://github.com/servo/servo")
     (synopsis "Fork of std::sync::Arc with some extra functionality")
@@ -22687,6 +23637,57 @@ for the serde framework.")
 functionality and without weak references.")
     (license (list license:expat license:asl2.0))))
 
+(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-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-servo-fontconfig-0.4
   (package
     (name "rust-servo-fontconfig")
@@ -22854,11 +23855,11 @@ functionality and without weak references.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-openssl" ,rust-openssl-0.10)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/mitsuhiko/rust-sha1")
     (synopsis "Minimal implementation of SHA1 for Rust")
     (description
@@ -22909,7 +23910,7 @@ functionality and without weak references.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/RustCrypto/asm-hashes")
     (synopsis "Assembly implementation of SHA-1 compression function")
     (description
@@ -22987,7 +23988,7 @@ function family including SHA-224, SHA-256, SHA-384, and SHA-512.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-cc" ,rust-cc-1.0)))) ;; build dependency
+       (("rust-cc" ,rust-cc-1)))) ;; build dependency
     (home-page "https://github.com/RustCrypto/asm-hashes")
     (synopsis "Assembly implementation of SHA-2")
     (description "This package provides an assembly implementations of hash
@@ -23183,8 +24184,8 @@ words, like Python's shlex.")
     (arguments
      `(#:skip-build? #t     ; Crate no longer builds on Rust 1.33+
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       (("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")
@@ -23235,7 +24236,7 @@ CPUs, as well as raw interfaces to platform-specific instructions.
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-quote" ,rust-quote-1.0))))
+       (("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/lu-zero/simd_helpers")
     (synopsis "Helpers to write more compact simd code")
     (description
@@ -23259,7 +24260,7 @@ CPUs, as well as raw interfaces to platform-specific instructions.
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))))
+       (("rust-serde" ,rust-serde-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
@@ -23330,8 +24331,8 @@ variants in pure Rust.")
         ("rust-tempdir" ,rust-tempdir-0.3)
         ("rust-bytecount" ,rust-bytecount-0.4)
         ("rust-cargo-metadata" ,rust-cargo-metadata-0.6)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-walkdir" ,rust-walkdir-2.3))))
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-walkdir" ,rust-walkdir-2))))
     (home-page "https://github.com/budziq/rust-skeptic")
     (synopsis "Test your Rust markdown documentation via Cargo")
     (description
@@ -23456,7 +24457,7 @@ data type.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+       (("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))
     (home-page "https://github.com/servo/rust-smallvec")
@@ -23483,7 +24484,7 @@ stack.")
     (arguments
      `(#:cargo-inputs
        (("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))))
 
@@ -23652,7 +24653,7 @@ track of where each new file and line starts.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-1.0)
+        ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-0.15)
         ("rust-unicode-xid" ,rust-unicode-xid-0.1))))
     (home-page "https://github.com/utkarshkukreti/speculate.rs")
@@ -23785,7 +24786,7 @@ to the same address.")
         ("rust-psm" ,rust-psm-0.1)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/rust-lang/stacker")
     (synopsis "Manual segmented stacks for Rust")
     (description
@@ -23904,16 +24905,16 @@ in @code{stb_truetype.h} from C to Rust.")
         ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
         ("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3)
         ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-stdweb-derive" ,rust-stdweb-derive-0.5)
         ("rust-stdweb-internal-macros" ,rust-stdweb-internal-macros-0.2)
         ("rust-stdweb-internal-runtime" ,rust-stdweb-internal-runtime-0.1)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-rustc-version" ,rust-rustc-version-0.2))
        #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+       (("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-stdweb-internal-test-macro" ,rust-stdweb-internal-test-macro-0.1)
         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
     (home-page "https://github.com/koute/stdweb")
@@ -23940,11 +24941,11 @@ Web.")
     (arguments
      `(#:tests? #f
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("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-syn" ,rust-syn-1))))
     (home-page "https://github.com/koute/stdweb")
     (synopsis "Derive macros for the stdweb crate")
     (description
@@ -23969,13 +24970,13 @@ you to define custom reference types outside of the @code{stdweb} library.")
     (arguments
      `(#:cargo-inputs
        (("rust-base-x" ,rust-base-x-0.2)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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-sha1" ,rust-sha1-0.6)
-        ("rust-syn" ,rust-syn-1.0))))
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/koute/stdweb")
     (synopsis "Internal procedural macros for the stdweb crate")
     (description
@@ -24017,8 +25018,8 @@ crate.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/koute/stdweb")
     (synopsis "Internal crate of the `stdweb` crate")
     (description
@@ -24110,10 +25111,10 @@ configurable byte storage.")
     (arguments
      `(#:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1.0)
+        ("rust-new-debug-unreachable" ,rust-new-debug-unreachable-1)
         ("rust-phf-shared" ,rust-phf-shared-0.8)
         ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/servo/string-cache")
     (synopsis "String interning library for Rust")
     (description
@@ -24139,10 +25140,10 @@ developed as part of the Servo project.")
      `(#:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-new-debug-unreachable"
-         ,rust-new-debug-unreachable-1.0)
+         ,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.0)
+        ("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
@@ -24166,8 +25167,8 @@ developed as part of the Servo project.")
      `(#:cargo-inputs
        (("rust-phf-generator" ,rust-phf-generator-0.8)
         ("rust-phf-shared" ,rust-phf-shared-0.8)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+        ("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
@@ -24193,8 +25194,8 @@ developed as part of the Servo project.")
      `(#: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.0)
-        ("rust-quote" ,rust-quote-1.0)
+        ("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
@@ -24350,9 +25351,9 @@ and Jaro-Winkler.")
        #:cargo-inputs
        (("rust-heck" ,rust-heck-0.3)
         ("rust-proc-macro-error" ,rust-proc-macro-error-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+        ("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
@@ -24441,7 +25442,7 @@ cryptographic implementations.")
        #:cargo-inputs
        (("rust-sval-derive" ,rust-sval-derive-0.4)
         ("rust-smallvec" ,rust-smallvec-0.6)
-        ("rust-serde" ,rust-serde-1.0))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/sval-rs/sval")
     (synopsis "No-std, object-safe serialization framework")
     (description
@@ -24465,15 +25466,15 @@ cryptographic implementations.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/sval-rs/sval")
     (synopsis "Custom derive for sval")
     (description "Custom derive for sval.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-syn-1.0
+(define-public rust-syn-1
   (package
     (name "rust-syn")
     (version "1.0.17")
@@ -24490,8 +25491,8 @@ cryptographic implementations.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1))
        #:cargo-development-inputs
        (("rust-anyhow" ,rust-anyhow-1.0)
         ("rust-flate2" ,rust-flate2-1.0)
@@ -24502,7 +25503,7 @@ cryptographic implementations.")
         ;("rust-reqwest" ,rust-reqwest-0.10)
         ("rust-tar" ,rust-tar-0.4)
         ("rust-termcolor" ,rust-termcolor-1)
-        ("rust-walkdir" ,rust-walkdir-2.3))))
+        ("rust-walkdir" ,rust-walkdir-2))))
     (home-page "https://github.com/dtolnay/syn")
     (synopsis "Parser for Rust source code")
     (description "Parser for Rust source code")
@@ -24510,7 +25511,7 @@ cryptographic implementations.")
 
 (define-public rust-syn-0.15
   (package
-    (inherit rust-syn-1.0)
+    (inherit rust-syn-1)
     (name "rust-syn")
     (version "0.15.44")
     (source
@@ -24534,7 +25535,7 @@ cryptographic implementations.")
         ("rust-ref-cast" ,rust-ref-cast-0.2)
         ("rust-regex" ,rust-regex-1)
         ("rust-termcolor" ,rust-termcolor-1)
-        ("rust-walkdir" ,rust-walkdir-2.2))))
+        ("rust-walkdir" ,rust-walkdir-2))))
     (properties '())))
 
 (define-public rust-syn-0.11
@@ -24567,7 +25568,7 @@ cryptographic implementations.")
        (("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.0))))))
+        ("rust-walkdir" ,rust-walkdir-1))))))
 
 (define-public rust-syn-mid-0.5
   (package
@@ -24586,9 +25587,9 @@ cryptographic implementations.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/taiki-e/syn-mid")
     (synopsis
      "Provide the features between \"full\" and \"derive\" of syn.")
@@ -24647,9 +25648,9 @@ cryptographic implementations.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/mystor/synstructure")
     (synopsis "Helper methods and macros for custom derives")
     (description
@@ -24723,16 +25724,16 @@ cryptographic implementations.")
        (("rust-plist" ,rust-plist-0.4)
         ("rust-yaml-rust" ,rust-yaml-rust-0.4)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-flate2" ,rust-flate2-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-fnv" ,rust-fnv-1)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-lazycell" ,rust-lazycell-1.2)
         ("rust-bincode" ,rust-bincode-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-walkdir" ,rust-walkdir-2.3)
+        ("rust-walkdir" ,rust-walkdir-2)
         ("rust-onig" ,rust-onig-5.0))))
     (home-page "https://github.com/trishume/syntect")
     (synopsis "Library for syntax highlighting and code intelligence")
@@ -24865,7 +25866,7 @@ syntax extension expansion.")
         ("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-failure" ,rust-failure-0.1)
         ("rust-libc" ,rust-libc-0.2)
-        ("rust-walkdir" ,rust-walkdir-2.2))))
+        ("rust-walkdir" ,rust-walkdir-2))))
     (home-page "https://github.com/johalun/sysctl-rs")
     (synopsis "Simplified interface to libc::sysctl")
     (description
@@ -25348,7 +26349,7 @@ writing colored text to a terminal.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
+       (("rust-fnv" ,rust-fnv-1)
         ("rust-nom" ,rust-nom-4.2)
         ("rust-phf" ,rust-phf-0.7)
         ("rust-phf-codegen" ,rust-phf-codegen-0.7))))
@@ -25551,9 +26552,9 @@ handle Unicode characters correctly.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/dtolnay/thiserror")
     (synopsis "Implementation detail of the thiserror crate")
     (description "This package provides an implementation detail of the
@@ -25806,17 +26807,40 @@ in Rust.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
+       (("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.0))))
+        ("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-0.3
+  (package
+    (name "rust-tinyvec")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tinyvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vgg2z317kq75bpd0nfda2v507qjpd7g2cjahjgivn2s78nkv5ak"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3))))
+    (home-page "https://crates.io/crates/tinyvec")
+    (synopsis "Tiny vec-like types for Rust")
+    (description
+     "A 100% safe crate of vec-like types.")
+    (license license:zlib)))
+
 (define-public rust-tokio-0.2
   (package
     (name "rust-tokio")
@@ -25833,7 +26857,7 @@ in Rust.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bytes" ,rust-bytes-0.5)
-        ("rust-fnv" ,rust-fnv-1.0)
+        ("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)
@@ -25904,9 +26928,9 @@ backed applications.")
         ("rust-httparse" ,rust-httparse-1.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-num-cpus" ,rust-num-cpus-1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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 "Event-driven, non-blocking I/O platform")
@@ -26002,9 +27026,9 @@ backed applications.")
         ("rust-httparse" ,rust-httparse-1.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-num-cpus" ,rust-num-cpus-1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("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
@@ -26172,11 +27196,10 @@ futures efficiently")
         (base32 "1283aq0l7rnh79zzqk4r34dgimvwcymrzmg1yah9ai2nmb3arhzh"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f ;; FIXME tests use bytes-0.5, require Rust >= 1.39
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
+     `(#: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))))
     (home-page "https://tokio.rs")
@@ -26346,7 +27369,8 @@ futures.")
         (base32 "1k6rpw4nmgsamh8vbf8xqrf4rr5sqs18i93561bydflajz0gw6hl"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t ;; FIXME requires Rust >= 1.39 for building
+     `(;; 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)
@@ -26417,7 +27441,7 @@ futures.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
+       (("rust-fnv" ,rust-fnv-1)
         ("rust-futures" ,rust-futures-0.1))
        #:cargo-development-inputs
        (("rust-env-logger" ,rust-env-logger-0.6)
@@ -26442,8 +27466,7 @@ futures.")
         (base32 "0v81p2n853b1kzyla3dbfmnazirn6s3n8p3z8k20bmdn370lj07d"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t ;; FIXME requires Rust >= 1.39 for building
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-bytes" ,rust-bytes-0.5)
         ("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-tokio" ,rust-tokio-0.2))
@@ -26660,10 +27683,10 @@ pool.")
      `(#:skip-build? #t
        #:cargo-inputs
         (("rust-indexmap" ,rust-indexmap-1)
-         ("rust-serde" ,rust-serde-1.0))
+         ("rust-serde" ,rust-serde-1))
         #:cargo-development-inputs
-        (("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
+        (("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/alexcrichton/toml-rs")
     (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
     (description
@@ -26744,6 +27767,26 @@ serializing Rust str")
     (license (list license:asl2.0
                    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-try-from-0.3
   (package
     (name "rust-try-from")
@@ -26804,8 +27847,8 @@ serializing Rust str")
        (("rust-dissimilar" ,rust-dissimilar-1.0)
         ("rust-glob" ,rust-glob-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
         ("rust-termcolor" ,rust-termcolor-1)
         ("rust-toml" ,rust-toml-0.5))))
     (home-page "https://github.com/dtolnay/trybuild")
@@ -27051,9 +28094,9 @@ with the Unicode character database.")
        (("rust-flame" ,rust-flame-0.2)
         ("rust-flamer" ,rust-flamer-0.3)
         ("rust-matches" ,rust-matches-0.1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))
+       (("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/servo/unicode-bidi")
     (synopsis "Implementation of the Unicode Bidirectional Algorithm")
     (description
@@ -27256,7 +28299,7 @@ whitespace from a string.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-void" ,rust-void-1.0))))
+       (("rust-void" ,rust-void-1))))
     (home-page "https://github.com/reem/rust-unreachable")
     (synopsis "Unreachable code optimization hint in rust")
     (description
@@ -27338,11 +28381,11 @@ untrusted inputs in Rust.")
        (("rust-idna" ,rust-idna-0.2)
         ("rust-matches" ,rust-matches-0.1)
         ("rust-percent-encoding" ,rust-percent-encoding-2.1)
-        ("rust-serde" ,rust-serde-1.0))
+        ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bencher" ,rust-bencher-0.1)
         ("rust-rustc-test" ,rust-rustc-test-0.3)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/servo/rust-url")
     (synopsis "URL library for Rust, based on the WHATWG URL Standard")
     (description
@@ -27372,12 +28415,12 @@ untrusted inputs in Rust.")
         ("rust-matches" ,rust-matches-0.1)
         ("rust-percent-encoding" ,rust-percent-encoding-1.0)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-serde" ,rust-serde-1.0))
+        ("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.0))))))
+        ("rust-serde-json" ,rust-serde-json-1))))))
 
 (define-public rust-urlocator-0.1
  (package
@@ -27580,7 +28623,7 @@ Unix users and groups.")
         ("rust-sha1" ,rust-sha1-0.6)
         ("rust-md5" ,rust-md5-0.6)
         ("rust-rand" ,rust-rand-0.7)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-slog" ,rust-slog-2.5))))
     (home-page "https://github.com/uuid-rs/uuid")
     (synopsis "Library to generate and parse UUIDs")
@@ -27608,15 +28651,15 @@ Unix users and groups.")
        (("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-md5" ,rust-md5-0.6)
         ("rust-rand" ,rust-rand-0.6)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-sha1" ,rust-sha1-0.6)
         ("rust-slog" ,rust-slog-2.4)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
+        ("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
@@ -27642,7 +28685,7 @@ Unix users and groups.")
        (("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.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-sha1" ,rust-sha1-0.2))))))
 
 (define-public rust-vcpkg-0.2
@@ -27686,7 +28729,7 @@ Unix users and groups.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))))
+       (("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
@@ -27739,7 +28782,7 @@ designed for reexporting.")
        (("rust-chrono" ,rust-chrono-0.4)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-bitflags" ,rust-bitflags-1))))
-    (home-page "http://github.com/rustyhorde/vergen")
+    (home-page "https://github.com/rustyhorde/vergen")
     (synopsis "Generate version related functions")
     (description
      "Generate version related functions.")
@@ -27815,7 +28858,7 @@ If that fails, no determination is made, and calls return None.")
 updated when the crate version changes.")
     (license license:expat)))
 
-(define-public rust-void-1.0
+(define-public rust-void-1
   (package
     (name "rust-void")
     (version "1.0.2")
@@ -27875,7 +28918,7 @@ updated when the crate version changes.")
     (arguments
      `(#:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("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
@@ -27930,7 +28973,7 @@ updated when the crate version changes.")
 specified across Unix and Windows platforms.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-walkdir-2.3
+(define-public rust-walkdir-2
   (package
     (name "rust-walkdir")
     (version "2.3.1")
@@ -27955,35 +28998,9 @@ specified across Unix and Windows platforms.")
     (description "Recursively walk a directory.")
     (license (list license:unlicense license:expat))))
 
-(define-public rust-walkdir-2.2
-  (package
-    (name "rust-walkdir")
-    (version "2.2.9")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "walkdir" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-same-file" ,rust-same-file-1.0)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("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.0
+(define-public rust-walkdir-1
   (package
-    (inherit rust-walkdir-2.2)
+    (inherit rust-walkdir-2)
     (name "rust-walkdir")
     (version "1.0.7")
     (source
@@ -28093,12 +29110,12 @@ in Rust.")
     (arguments
      `(#:cargo-inputs
       (("rust-cfg-if" ,rust-cfg-if-0.1)
-       ("rust-serde" ,rust-serde-1.0)
-       ("rust-serde-json" ,rust-serde-json-1.0)
+       ("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-js-sys" ,rust-js-sys-0.3)
-       ("rust-serde-derive" ,rust-serde-derive-1.0)
+       ("rust-serde-derive" ,rust-serde-derive-1)
        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
        ("rust-wasm-bindgen-test-crate-a"
@@ -28130,9 +29147,9 @@ in Rust.")
        (("rust-bumpalo" ,rust-bumpalo-3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
         ("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")
@@ -28214,7 +29231,7 @@ in Rust.")
     (arguments
      `(#:tests? #f      ; 'Async blocks are unstable'
        #:cargo-inputs
-       (("rust-quote" ,rust-quote-1.0)
+       (("rust-quote" ,rust-quote-1)
         ("rust-wasm-bindgen-macro-support"
          ,rust-wasm-bindgen-macro-support-0.2))
        #:cargo-development-inputs
@@ -28244,9 +29261,9 @@ dependency.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
         ("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/")
@@ -28394,8 +29411,8 @@ attribute that is not in the shared backend crate.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1))))
     (home-page "https://github.com/rustwasm/wasm-bindgen")
     (synopsis "Internal testing macro for wasm-bindgen")
     (description
@@ -28440,9 +29457,9 @@ attribute that is not in the shared backend crate.")
        (("rust-anyhow" ,rust-anyhow-1.0)
         ("rust-heck" ,rust-heck-0.3)
         ("rust-log" ,rust-log-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
         ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
         ("rust-weedle" ,rust-weedle-0.10))))
     (home-page "https://rustwasm.github.io/wasm-bindgen/")
@@ -29186,7 +30203,7 @@ color in a Windows console.")
         ("rust-parking-lot" ,rust-parking-lot-0.10)
         ("rust-percent-encoding" ,rust-percent-encoding-2.1)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)
         ("rust-stdweb" ,rust-stdweb-0.4)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
@@ -29235,7 +30252,7 @@ color in a Windows console.")
         ("rust-parking-lot" ,rust-parking-lot-0.9)
         ("rust-percent-encoding" ,rust-percent-encoding-2.1)
         ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)
         ("rust-wayland-client" ,rust-wayland-client-0.21)
         ("rust-winapi" ,rust-winapi-0.3)
@@ -29259,7 +30276,7 @@ color in a Windows console.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-bindgen" ,rust-bindgen-0.33)
-        ("rust-cc" ,rust-cc-1.0))))
+        ("rust-cc" ,rust-cc-1))))
     (home-page "https://github.com/rprichard/winpty")
     (synopsis "Rust winpty bindings")
     (description "Rust winpty bindings.")
@@ -29283,11 +30300,11 @@ color in a Windows console.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-chrono" ,rust-chrono-0.4)
-        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde" ,rust-serde-1)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.3)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+        ("rust-serde-derive" ,rust-serde-derive-1))))
     (home-page "https://github.com/gentoo90/winreg-rs")
     (synopsis "Rust bindings to MS Windows Registry API")
     (description
@@ -29479,19 +30496,18 @@ extended attributes.")
     (name "rust-xdg")
     (version "2.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "xdg" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xdg" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32 "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
     (build-system cargo-build-system)
     (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")
+to XDG Base Directory specification.")
     (license (list license:asl2.0
                    license:expat))))
 
@@ -29641,6 +30657,56 @@ to XDG Base Directory specification")
     (description "This package provides an implementation of zbase32.")
     (license license:lgpl3+)))
 
+(define-public rust-zeroize-1
+  (package
+    (name "rust-zeroize")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zeroize" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1f5547q8l8bpi16yy6lix2gl9rf1qz45lj06bq7wjk525gnw5fiw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f                      ;2 doc tests fail
+       #:cargo-inputs
+       (("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.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zeroize-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18lc9xq9dwvmv81y3bqnw20974nbrs7d20rljb1inz7wd7n1w9fy"))))
+    (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))))
+    (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-zip-0.5
   (package
     (name "rust-zip")
@@ -29665,7 +30731,7 @@ to XDG Base Directory specification")
        #:cargo-development-inputs
        (("rust-bencher" ,rust-bencher-0.1)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-walkdir" ,rust-walkdir-1.0))))
+        ("rust-walkdir" ,rust-walkdir-1))))
     (home-page "https://github.com/mvdnes/zip-rs.git")
     (synopsis
      "Library to support the reading and writing of zip files")