gnu: rust-read-color-1: Drop minor version from name.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
index e2fecd9..843cedc 100644 (file)
@@ -13,6 +13,7 @@
 ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
 ;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
+;;; Copyright @ 2021 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -53,6 +54,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
@@ -1187,7 +1189,7 @@ using AES-NI for high performance.")
        (("rust-memchr" ,rust-memchr-2))
        #:cargo-development-inputs
        (("rust-csv" ,rust-csv-1)
-        ("rust-docopt" ,rust-docopt-1.1)
+        ("rust-docopt" ,rust-docopt-1)
         ("rust-memmap" ,rust-memmap-0.6)
         ("rust-quickcheck" ,rust-quickcheck-0.7)
         ("rust-rand" ,rust-rand-0.5)
@@ -1300,7 +1302,7 @@ using AES-NI for high performance.")
     (arguments
      `(#:cargo-inputs
        (("rust-approx" ,rust-approx-0.3)
-        ("rust-decimal" ,rust-decimal-2.0)
+        ("rust-decimal" ,rust-decimal-2)
         ("rust-num-complex" ,rust-num-complex-0.2)
         ("rust-num-traits" ,rust-num-traits-0.2))
        #:cargo-development-inputs
@@ -1333,7 +1335,7 @@ code that is generic with regard to the algebraic entity types.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-edit-distance" ,rust-edit-distance-2.1)
+       (("rust-edit-distance" ,rust-edit-distance-2)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
         ("rust-quote" ,rust-quote-1)
@@ -1366,8 +1368,6 @@ stack, or by a package that wishes to simply use Box<>.  It also provides
 options to use calloc or a mutable global variable for pre-zeroed memory.")
     (license license:bsd-3)))
 
-(define-public rust-alloc-no-stdlib-2.0 rust-alloc-no-stdlib-2)
-
 (define-public rust-alloc-stdlib-0.2
   (package
     (name "rust-alloc-stdlib")
@@ -1383,7 +1383,7 @@ options to use calloc or a mutable global variable for pre-zeroed memory.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2.0))))
+       (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2))))
     (home-page "https://github.com/dropbox/rust-alloc-no-stdlib")
     (synopsis "A dynamic allocator example that may be used with the stdlib")
     (description "This package provides a dynamic allocator example that may
@@ -1468,7 +1468,7 @@ it outputs messages to Android's logcat.")
     (arguments
      `(#:cargo-inputs
        (("rust-heapless" ,rust-heapless-0.5)
-        ("rust-nom" ,rust-nom-4.2))))
+        ("rust-nom" ,rust-nom-4))))
     (home-page "https://gitlab.com/DavidBittner/ansi-parser")
     (synopsis "Library using nom for parsing ANSI escape codes")
     (description
@@ -1476,7 +1476,7 @@ it outputs messages to Android's logcat.")
 escape codes.")
     (license license:mpl2.0)))
 
-(define-public rust-antidote-1.0
+(define-public rust-antidote-1
   (package
     (name "rust-antidote")
     (version "1.0.0")
@@ -1827,7 +1827,7 @@ ArrayVec and ArrayString.")
 traits.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-ascii-1.0
+(define-public rust-ascii-1
   (package
     (name "rust-ascii")
     (version "1.0.0")
@@ -1856,7 +1856,7 @@ standard library.")
 
 (define-public rust-ascii-0.9
   (package
-    (inherit rust-ascii-1.0)
+    (inherit rust-ascii-1)
     (name "rust-ascii")
     (version "0.9.3")
     (source
@@ -2012,7 +2012,7 @@ differences.  This is useful when asserting that two large JSON
 objects are the same.")
     (license license:expat)))
 
-(define-public rust-assert-matches-1.3
+(define-public rust-assert-matches-1
   (package
     (name "rust-assert-matches")
     (version "1.3.0")
@@ -3167,6 +3167,28 @@ c6e7d37.  However, this package works only up to 128 bytes.")
     (description "This library provides for encoding and decoding any base.")
     (license license:expat)))
 
+(define-public rust-beef-0.4
+  (package
+    (name "rust-beef")
+    (version "0.4.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "beef" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hva1rmbx2a54q4ncs8i5lbr26669wyvnya1sh3x22r0cxm64jj7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/maciejhirsz/beef")
+    (synopsis "Faster, more compact implementation of Cow")
+    (description "This package provides faster, more compact implementation of
+Cow.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-bencher-0.1
   (package
     (name "rust-bencher")
@@ -4453,7 +4475,7 @@ devices and kernels.")
     (arguments
      `(#:tests? #f      ; not all test files included
        #:cargo-inputs
-       (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2.0)
+       (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2)
         ("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2))))
     (home-page "https://github.com/dropbox/rust-brotli-decompressor")
     (synopsis "Brotli decompressor")
@@ -4526,7 +4548,7 @@ decompression and compression to Rust.")
      `(#:cargo-inputs
        (("rust-sha2" ,rust-sha2-0.8))
        #:cargo-development-inputs
-       (("rust-assert-matches" ,rust-assert-matches-1.3)
+       (("rust-assert-matches" ,rust-assert-matches-1)
         ("rust-base58" ,rust-base58-0.1)
         ("rust-rust-base58" ,rust-rust-base58-0.0))))
     (home-page "https://github.com/mycorrhiza/bs58-rs")
@@ -5413,7 +5435,7 @@ capabilities")
         ("rust-serde-json" ,rust-serde-json-1))
        #:cargo-development-inputs
        (("rust-clap" ,rust-clap-2)
-        ("rust-docopt" ,rust-docopt-1.1)
+        ("rust-docopt" ,rust-docopt-1)
         ("rust-structopt" ,rust-structopt-0.2))))
     (home-page "https://github.com/oli-obk/cargo_metadata")
     (synopsis "Structured access to the output of `cargo metadata`")
@@ -5611,7 +5633,7 @@ that need to represent UTF-16 data as 8-bit characters.")
          "07fdfj4ff2974y33yixrb657riq9zl9b9h9lr0h7ridhhvxvbrgw"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-nom" ,rust-nom-4.2))
+       (("rust-nom" ,rust-nom-4))
        #:cargo-development-inputs
        (("rust-clang-sys" ,rust-clang-sys-0.28))))))
 
@@ -5969,7 +5991,7 @@ traits.")
 Command Line Argument Parser.")
     (license license:expat)))
 
-(define-public rust-clicolors-control-1.0
+(define-public rust-clicolors-control-1
   (package
     (name "rust-clicolors-control")
     (version "1.0.1")
@@ -6018,7 +6040,7 @@ colorization.")
      "This package provides simple way to interact with Windows clipboard.")
     (license license:expat)))
 
-(define-public rust-clipboard-win-2.1
+(define-public rust-clipboard-win-2
   (package
     (inherit rust-clipboard-win-3)
     (name "rust-clipboard-win")
@@ -6356,7 +6378,7 @@ CMAKE environmental variable is set.")
 programming languages.")
     (license license:asl2.0)))
 
-(define-public rust-color-quant-1.0
+(define-public rust-color-quant-1
   (package
     (name "rust-color-quant")
     (version "1.0.1")
@@ -6715,7 +6737,7 @@ queue.")
         ("rust-termios" ,rust-termios-0.3)
         ("rust-encode-unicode" ,rust-encode-unicode-0.3)
         ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-clicolors-control" ,rust-clicolors-control-1.0)
+        ("rust-clicolors-control" ,rust-clicolors-control-1)
         ("rust-regex" ,rust-regex-1)
         ("rust-lazy-static" ,rust-lazy-static-1))))))
 
@@ -6737,7 +6759,7 @@ queue.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-atty" ,rust-atty-0.2)
-        ("rust-clicolors-control" ,rust-clicolors-control-1.0)
+        ("rust-clicolors-control" ,rust-clicolors-control-1)
         ("rust-encode-unicode" ,rust-encode-unicode-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
@@ -7748,7 +7770,7 @@ message passing.")
     (arguments
      `(#:cargo-inputs
         (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
-         ("rust-maybe-uninit" ,rust-maybe-uninit-2.0))
+         ("rust-maybe-uninit" ,rust-maybe-uninit-2))
         #:cargo-development-inputs
         (("rust-num-cpus" ,rust-num-cpus-1)
          ("rust-rand" ,rust-rand-0.6)
@@ -7818,7 +7840,7 @@ message passing.")
      `(#:cargo-inputs
        (("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.8)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
-        ("rust-maybe-uninit" ,rust-maybe-uninit-2.0))
+        ("rust-maybe-uninit" ,rust-maybe-uninit-2))
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.6))))))
 
@@ -7890,7 +7912,7 @@ message passing.")
         ("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
+        ("rust-maybe-uninit" ,rust-maybe-uninit-2)
         ("rust-memoffset" ,rust-memoffset-0.5)
         ("rust-scopeguard" ,rust-scopeguard-1))
        #:cargo-development-inputs
@@ -7938,7 +7960,7 @@ message passing.")
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
-        ("rust-maybe-uninit" ,rust-maybe-uninit-2.0))
+        ("rust-maybe-uninit" ,rust-maybe-uninit-2))
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.6))))
     (home-page
@@ -8561,7 +8583,7 @@ for block ciphers.
 Mode functionality is accessed using traits from re-exported cipher crate.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-ctrlc-3.1
+(define-public rust-ctrlc-3
   (package
     (name "rust-ctrlc")
     (version "3.1.3")
@@ -9176,7 +9198,7 @@ GF(2^n).  This trait is implemented for 64, 128 and 256 bit block
 sizes.  Big-endian order is used.  WARNING: Block must be aligned!")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-decimal-2.0
+(define-public rust-decimal-2
   (package
     (name "rust-decimal")
     (version "2.0.4")
@@ -9206,6 +9228,30 @@ sizes.  Big-endian order is used.  WARNING: Block must be aligned!")
      "Decimal floating point arithmetic for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-defer-drop-1
+  (package
+    (name "rust-defer-drop")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "defer-drop" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1d3pmmn5k2ir3yv8z8fnv4jprs5aijkz5pbdyl8x8kp18m90bbhq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4)
+        ("rust-once-cell" ,rust-once-cell-1))))
+    (home-page "https://github.com/Lucretiel/defer-drop")
+    (synopsis "Defer dropping large types to a background thread")
+    (description
+     "This package provides a defer dropping large types to a background
+thread.")
+    (license license:mpl2.0)))
+
 (define-public rust-deflate-0.8
   (package
     (name "rust-deflate")
@@ -9663,7 +9709,7 @@ intelligently transliterating them.  It supports Emoji and Chinese.")
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-chrono" ,rust-chrono-0.4)
-        ("rust-diesel-derives" ,rust-diesel-derives-1.4)
+        ("rust-diesel-derives" ,rust-diesel-derives-1)
         ("rust-ipnetwork" ,rust-ipnetwork-0.17)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15)
@@ -9689,7 +9735,7 @@ intelligently transliterating them.  It supports Emoji and Chinese.")
 Builder for PostgreSQL, SQLite, and MySQL.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-diesel-derives-1.4
+(define-public rust-diesel-derives-1
   (package
     (name "rust-diesel-derives")
     (version "1.4.1")
@@ -9967,7 +10013,7 @@ standard locations of directories for config, cache and other data.")
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-dirs-sys" ,rust-dirs-sys-0.3))))))
 
-(define-public rust-dirs-1.0
+(define-public rust-dirs-1
   (package
     (inherit rust-dirs-2)
     (name "rust-dirs")
@@ -9989,7 +10035,7 @@ standard locations of directories for config, cache and other data.")
 
 (define-public rust-dirs-next-1
   (package
-    (inherit rust-dirs-1.0)
+    (inherit rust-dirs-1)
     (name "rust-dirs-next")
     (version "1.0.2")
     (source
@@ -10058,7 +10104,7 @@ and @code{directories} crates.")
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/xdg-rs/dirs/tree/master/dirs-sys")))
 
-(define-public rust-discard-1.0
+(define-public rust-discard-1
   (package
     (name "rust-discard")
     (version "1.0.4")
@@ -10114,7 +10160,7 @@ Central Dispatch.")
          "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84"))))
     (arguments '(#:tests? #f))))  ; Tests only run on Mac.
 
-(define-public rust-dissimilar-1.0
+(define-public rust-dissimilar-1
   (package
     (name "rust-dissimilar")
     (version "1.0.1")
@@ -10199,7 +10245,7 @@ from macros.")
     (description "Test Rust examples in your documentation.")
     (license license:expat)))
 
-(define-public rust-docopt-1.1
+(define-public rust-docopt-1
   (package
     (name "rust-docopt")
     (version "1.1.0")
@@ -10225,7 +10271,7 @@ from macros.")
     (license (list license:expat license:unlicense))))
 
 (define-public rust-docopt-0.8
-  (package/inherit rust-docopt-1.1
+  (package/inherit rust-docopt-1
     (name "rust-docopt")
     (version "0.8.3")
     (source
@@ -10245,7 +10291,7 @@ from macros.")
 
 (define-public rust-docopt-0.7
   (package
-    (inherit rust-docopt-1.1)
+    (inherit rust-docopt-1)
     (name "rust-docopt")
     (version "0.7.0")
     (source
@@ -10671,7 +10717,7 @@ including HSMs or Cloud KMS services.")
 signing, and verification in pure Rust.")
     (license license:bsd-3)))
 
-(define-public rust-edit-distance-2.1
+(define-public rust-edit-distance-2
   (package
     (name "rust-edit-distance")
     (version "2.1.0")
@@ -10799,7 +10845,7 @@ experimentation.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-ascii" ,rust-ascii-1.0)
+       (("rust-ascii" ,rust-ascii-1)
         ("rust-clippy" ,rust-clippy-0.0))
        #:cargo-development-inputs
        (("rust-lazy-static" ,rust-lazy-static-1))))
@@ -12436,7 +12482,7 @@ implementation that is more efficient for smaller hash keys.")
          ,rust-core-foundation-0.6)
         ("rust-memmap" ,rust-memmap-0.7)
         ("rust-dwrote" ,rust-dwrote-0.9)
-        ("rust-dirs" ,rust-dirs-1.0)
+        ("rust-dirs" ,rust-dirs-1)
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-core-text" ,rust-core-text-13)
@@ -12767,7 +12813,7 @@ values to other threads.")
 duplication.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-fs-extra-1.1
+(define-public rust-fs-extra-1
   (package
     (name "rust-fs-extra")
     (version "1.1.0")
@@ -13030,7 +13076,7 @@ stabilized, and eventually removed.  This library reïnstates these traits.")
         ("rust-futures-task" ,rust-futures-task-0.3)
         ("rust-futures-util" ,rust-futures-util-0.3))
        #:cargo-development-inputs
-       (("rust-assert-matches" ,rust-assert-matches-1.3)
+       (("rust-assert-matches" ,rust-assert-matches-1)
         ("rust-pin-utils" ,rust-pin-utils-0.1)
         ("rust-tokio" ,rust-tokio-0.1))))
     (home-page "https://rust-lang-nursery.github.io/futures-rs")
@@ -14286,7 +14332,7 @@ reading and writing git repositories.")
         ("rust-openssl-sys" ,rust-openssl-sys-0.9)
         ("rust-url" ,rust-url-2))
        #:cargo-development-inputs
-       (("rust-docopt" ,rust-docopt-1.1)
+       (("rust-docopt" ,rust-docopt-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-tempfile" ,rust-tempfile-3)
@@ -14317,7 +14363,7 @@ reading and writing git repositories.")
         ("rust-openssl-sys" ,rust-openssl-sys-0.9)
         ("rust-url" ,rust-url-1))
        #:cargo-development-inputs
-       (("rust-docopt" ,rust-docopt-1.1)
+       (("rust-docopt" ,rust-docopt-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-tempdir" ,rust-tempdir-0.3)
@@ -14942,7 +14988,7 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate
 IEEE 754-2008 binary16 type.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-handlebars-2.0
+(define-public rust-handlebars-2
   (package
     (name "rust-handlebars")
     (version "2.0.4")
@@ -14963,14 +15009,14 @@ IEEE 754-2008 binary16 type.")
          ("rust-log" ,rust-log-0.4)
          ("rust-pest" ,rust-pest-2)
          ("rust-pest-derive" ,rust-pest-derive-2)
-         ("rust-quick-error" ,rust-quick-error-1.2)
+         ("rust-quick-error" ,rust-quick-error-1)
          ("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-maplit" ,rust-maplit-1)
          ("rust-serde-derive" ,rust-serde-derive-1)
          ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/sunng87/handlebars-rust")
@@ -15926,7 +15972,7 @@ SystemTime}}.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-quick-error" ,rust-quick-error-1.2))
+       (("rust-quick-error" ,rust-quick-error-1))
        #:cargo-development-inputs
        (("rust-chrono" ,rust-chrono-0.4)
         ("rust-rand" ,rust-rand-0.4)
@@ -16055,7 +16101,7 @@ SystemTime}}.")
         ("rust-language-tags" ,rust-language-tags-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-mime" ,rust-mime-0.3)
-        ("rust-percent-encoding" ,rust-percent-encoding-1.0)
+        ("rust-percent-encoding" ,rust-percent-encoding-1)
         ("rust-time" ,rust-time-0.1)
         ("rust-unicase" ,rust-unicase-2))))
     (home-page "https://hyper.rs")
@@ -17010,7 +17056,7 @@ whether or not a given path points to an executable file.")
     (arguments
      `(#:cargo-inputs
        (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-nom" ,rust-nom-1.2))))
+        ("rust-nom" ,rust-nom-1))))
     (home-page "https://github.com/badboy/iso8601")
     (synopsis "Parsing ISO8601 dates using nom")
     (description "Parsing ISO8601 dates using nom.")
@@ -17240,7 +17286,7 @@ primitives to an @code{io::Write}.")
        (("rust-libc" ,rust-libc-0.2)
         ;; Build dependencies:
         ("rust-cc" ,rust-cc-1)
-        ("rust-fs-extra" ,rust-fs-extra-1.1))
+        ("rust-fs-extra" ,rust-fs-extra-1))
        #:phases
        (modify-phases %standard-phases
          (add-after 'configure 'override-jemalloc
@@ -17801,7 +17847,7 @@ space, and comparing differences in color.")
        ("rust-atty" ,rust-atty-0.2)
        ("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-diff" ,rust-diff-0.1)
-       ("rust-docopt" ,rust-docopt-1.1)
+       ("rust-docopt" ,rust-docopt-1)
        ("rust-ena" ,rust-ena-0.14)
        ("rust-itertools" ,rust-itertools-0.9)
        ("rust-lalrpop-util" ,rust-lalrpop-util-0.19)
@@ -17842,7 +17888,7 @@ grammars.")
        ("rust-atty" ,rust-atty-0.2)
        ("rust-bit-set" ,rust-bit-set-0.5)
        ("rust-diff" ,rust-diff-0.1)
-       ("rust-docopt" ,rust-docopt-1.1)
+       ("rust-docopt" ,rust-docopt-1)
        ("rust-ena" ,rust-ena-0.13)
        ("rust-itertools" ,rust-itertools-0.8)
        ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
@@ -17912,7 +17958,7 @@ generated by LALRPOP.")
      "This crate provides simple methods to cast from and into byte arrays.")
     (license license:boost1.0)))
 
-(define-public rust-lazy-static-1.4
+(define-public rust-lazy-static-1
   (package
     (name "rust-lazy-static")
     (version "1.4.0")
@@ -17940,27 +17986,9 @@ requires non-const function calls to be computed.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-lazy-static-1 rust-lazy-static-1.4)
-
-(define-public rust-lazy-static-1.3
-  (package
-    (inherit rust-lazy-static-1.4)
-    (name "rust-lazy-static")
-    (version "1.3.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "lazy_static" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw"))))
-    (arguments
-     `(#:cargo-inputs (("rust-spin" ,rust-spin-0.5))))))
-
 (define-public rust-lazy-static-0.2
   (package
-    (inherit rust-lazy-static-1.4)
+    (inherit rust-lazy-static-1)
     (name "rust-lazy-static")
     (version "0.2.11")
     (source
@@ -19519,7 +19547,7 @@ platform-independently.")
     "This package provides structs for handling malloc'd memory passed to Rust.")
    (license license:expat)))
 
-(define-public rust-maplit-1.0
+(define-public rust-maplit-1
   (package
     (name "rust-maplit")
     (version "1.0.2")
@@ -19726,7 +19754,7 @@ parallelize and optimize.")
      `(#:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.1))
        #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))))
 
-(define-public rust-maybe-uninit-2.0
+(define-public rust-maybe-uninit-2
   (package
     (name "rust-maybe-uninit")
     (version "2.0.0")
@@ -19908,7 +19936,7 @@ unstable -Z self-profile flag.")
 for searching bytes.")
     (license (list license:unlicense license:expat))))
 
-(define-public rust-memchr-1.0
+(define-public rust-memchr-1
   (package
     (inherit rust-memchr-2)
     (name "rust-memchr")
@@ -19925,7 +19953,7 @@ for searching bytes.")
 
 (define-public rust-memchr-0.1
   (package
-    (inherit rust-memchr-1.0)
+    (inherit rust-memchr-1)
     (name "rust-memchr")
     (version "0.1.11")
     (source
@@ -20201,7 +20229,7 @@ non-interactive protocols can be implemented as if they were interactive.")
 based on Rustls and Ring.")
     (license license:bsd-3)))
 
-(define-public rust-metadeps-1.1
+(define-public rust-metadeps-1
   (package
     (name "rust-metadeps")
     (version "1.1.2")
@@ -21200,7 +21228,7 @@ IO of Windows's named pipes.")
      "This package provides a wrapper over a platform's native TLS implementation.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-natord-1.0
+(define-public rust-natord-1
   (package
     (name "rust-natord")
     (version "1.0.9")
@@ -21789,7 +21817,7 @@ combinators library.")
                        (string-append jemalloc "/lib/libjemalloc_pic.a")))
              #t)))))))
 
-(define-public rust-nom-4.2
+(define-public rust-nom-4
   (package
     (inherit rust-nom-5)
     (name "rust-nom")
@@ -21816,7 +21844,7 @@ combinators library.")
 
 (define-public rust-nom-3
   (package
-    (inherit rust-nom-4.2)
+    (inherit rust-nom-4)
     (name "rust-nom")
     (version "3.2.1")
     (source
@@ -21834,12 +21862,12 @@ combinators library.")
        #:cargo-inputs
        (("rust-compiler-error" ,rust-compiler-error-0.1)
         ("rust-lazy-static" ,rust-lazy-static-0.2)
-        ("rust-memchr" ,rust-memchr-1.0)
+        ("rust-memchr" ,rust-memchr-1)
         ("rust-regex" ,rust-regex-0.2))))))
 
 (define-public rust-nom-2
   (package
-    (inherit rust-nom-4.2)
+    (inherit rust-nom-4)
     (name "rust-nom")
     (version "2.2.1")
     (source
@@ -21858,9 +21886,9 @@ combinators library.")
         ("rust-regex" ,rust-regex-0.2))
        #:tests? #f))))
 
-(define-public rust-nom-1.2
+(define-public rust-nom-1
   (package
-    (inherit rust-nom-4.2)
+    (inherit rust-nom-4)
     (name "rust-nom")
     (version "1.2.4")
     (source
@@ -23001,7 +23029,7 @@ Things in odds may move to more appropriate crates if we find them.")
 library.")
     (license license:expat)))
 
-(define-public rust-onig-5.0
+(define-public rust-onig-5
   (package
     (inherit rust-onig-6)
     (name "rust-onig")
@@ -23401,7 +23429,7 @@ system for OpenSSL.")
 PartialOrd types, like floats.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-ordered-float-1.0
+(define-public rust-ordered-float-1
   (package
     (name "rust-ordered-float")
     (version "1.0.2")
@@ -24549,7 +24577,7 @@ runtime support for rust-peg grammars.  To use rust-peg, see the peg crate.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-percent-encoding-1.0
+(define-public rust-percent-encoding-1
   (package
     (inherit rust-percent-encoding-2)
     (name "rust-percent-encoding")
@@ -24629,13 +24657,13 @@ algorithm.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-pest" ,rust-pest-2)
-        ("rust-pest-generator" ,rust-pest-generator-2.1))))
+        ("rust-pest-generator" ,rust-pest-generator-2))))
     (home-page "https://pest.rs/")
     (synopsis "Pest's derive macro")
     (description "Pest's derive macro.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-pest-generator-2.1
+(define-public rust-pest-generator-2
   (package
     (name "rust-pest-generator")
     (version "2.1.1")
@@ -24653,7 +24681,7 @@ algorithm.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-pest" ,rust-pest-2)
-        ("rust-pest-meta" ,rust-pest-meta-2.1)
+        ("rust-pest-meta" ,rust-pest-meta-2)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
@@ -24662,7 +24690,7 @@ algorithm.")
     (description "Pest code generator.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-pest-meta-2.1
+(define-public rust-pest-meta-2
   (package
     (name "rust-pest-meta")
     (version "2.1.2")
@@ -24679,7 +24707,7 @@ algorithm.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-maplit" ,rust-maplit-1.0)
+       (("rust-maplit" ,rust-maplit-1)
         ("rust-pest" ,rust-pest-2)
         ("rust-sha-1" ,rust-sha-1-0.8))))
     (home-page "https://pest.rs")
@@ -25379,7 +25407,7 @@ both WASM and native applications")
     (description "This package provides utils for proc-macro.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-pnacl-build-helper-1.4
+(define-public rust-pnacl-build-helper-1
   (package
     (name "rust-pnacl-build-helper")
     (version "1.4.11")
@@ -26251,7 +26279,7 @@ This library mimics the Git way of showing progress.")
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-rand" ,rust-rand-0.7)
         ("rust-rand-chacha" ,rust-rand-chacha-0.2)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
@@ -26287,7 +26315,7 @@ including most strategies and the testing framework itself.")
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-rand-chacha" ,rust-rand-chacha-0.1)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
@@ -26320,7 +26348,7 @@ including most strategies and the testing framework itself.")
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-rand" ,rust-rand-0.5)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
         ("rust-rusty-fork" ,rust-rusty-fork-0.2)
@@ -26348,7 +26376,7 @@ including most strategies and the testing framework itself.")
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-rand" ,rust-rand-0.4)
         ("rust-regex-syntax" ,rust-regex-syntax-0.4)
         ("rust-rusty-fork" ,rust-rusty-fork-0.2)
@@ -26374,7 +26402,7 @@ including most strategies and the testing framework itself.")
      `(#:cargo-inputs
        (("rust-bit-set" ,rust-bit-set-0.4)
         ("rust-lazy-static" ,rust-lazy-static-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-rand" ,rust-rand-0.3)
         ("rust-regex-syntax" ,rust-regex-syntax-0.4))
        #:cargo-development-inputs
@@ -26708,7 +26736,7 @@ compliant email address validation.")
     (description "This package provides a quasi-quoting macro system.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-quick-error-1.2
+(define-public rust-quick-error-1
   (package
     (name "rust-quick-error")
     (version "1.2.3")
@@ -27986,7 +28014,7 @@ accessors.")
         ("rust-either" ,rust-either-1)
         ("rust-rayon-core" ,rust-rayon-core-1))
        #:cargo-development-inputs
-       (("rust-docopt" ,rust-docopt-1.1)
+       (("rust-docopt" ,rust-docopt-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.7)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
@@ -28097,7 +28125,7 @@ reference counting.")
 @code{rdrand} and @code{rdseed} instructions")
     (license license:isc)))
 
-(define-public rust-read-color-1.0
+(define-public rust-read-color-1
   (package
     (name "rust-read-color")
     (version "1.0.0")
@@ -28726,7 +28754,7 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (arguments
      `(#:tests? #f  ; Not all test files included.
        #:cargo-inputs
-       (("rust-quick-error" ,rust-quick-error-1.2)
+       (("rust-quick-error" ,rust-quick-error-1)
         ("rust-hostname" ,rust-hostname-0.3))))
     (home-page "https://github.com/tailhook/resolv-conf")
     (synopsis "Parser for /etc/resolv.conf")
@@ -28768,7 +28796,7 @@ functionality as retain but gives mutable borrow to the predicate.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1.3)
+       (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-spin" ,rust-spin-0.5)
         ("rust-untrusted" ,rust-untrusted-0.7)
@@ -28903,7 +28931,7 @@ Rust Language Server.")
         ("rust-failure" ,rust-failure-0.1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-lmdb-rkv" ,rust-lmdb-rkv-0.14)
-        ("rust-ordered-float" ,rust-ordered-float-1.0)
+        ("rust-ordered-float" ,rust-ordered-float-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-url" ,rust-url-2)
@@ -28920,6 +28948,55 @@ Rust Language Server.")
     (description "This package provides a typed key-value storage solution.")
     (license license:asl2.0)))
 
+(define-public rust-rmp-0.8
+  (package
+    (name "rust-rmp")
+    (version "0.8.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rmp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0kqqq0m4bg1p1rsahbxqlhi0cb65qbxx595sqwdfxwacy5nv840g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/3Hren/msgpack-rust")
+    (synopsis "Pure Rust MessagePack serialization implementation")
+    (description
+     "RMP is a pure Rust MessagePack implementation of an efficient binary
+serialization format.  This crate provides low-level core functionality,
+writers and readers for primitive values with direct mapping between binary
+MessagePack format.")
+    (license license:expat)))
+
+(define-public rust-rmp-serde-0.14
+  (package
+    (name "rust-rmp-serde")
+    (version "0.14.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rmp-serde" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1n2jn3yj5zbjhz5lah98yylpzhfc1c0h5fcksjp75r3gj86dgrsc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-rmp" ,rust-rmp-0.8)
+        ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/3Hren/msgpack-rust")
+    (synopsis "Serde bindings for RMP")
+    (description "This crate provides Serde bindings for RMP.")
+    (license license:expat)))
+
 (define-public rust-ron-0.5
   (package
     (name "rust-ron")
@@ -29814,7 +29891,7 @@ It is automatically published using the compiler repository at
         ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.3))
        #:cargo-development-inputs
        (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-docopt" ,rust-docopt-1.1)
+        ("rust-docopt" ,rust-docopt-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
@@ -30326,7 +30403,7 @@ font rendering.")
         ("rust-libm" ,rust-libm-0.2)
         ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
         ("rust-num-cpus" ,rust-num-cpus-1)
-        ("rust-ordered-float" ,rust-ordered-float-1.0)
+        ("rust-ordered-float" ,rust-ordered-float-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1)
         ("rust-stb-truetype" ,rust-stb-truetype-0.3))))))
 
@@ -30422,7 +30499,7 @@ rustc compiler version.")
     (arguments
      `(#:cargo-inputs
        (("rust-fnv" ,rust-fnv-1)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
     (home-page "https://github.com/altsysrq/rusty-fork")
@@ -30448,7 +30525,7 @@ sub-processes using a fork-like interface.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-fnv" ,rust-fnv-1)
-        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-quick-error" ,rust-quick-error-1)
         ("rust-tempfile" ,rust-tempfile-3)
         ("rust-wait-timeout" ,rust-wait-timeout-0.2))))))
 
@@ -30475,13 +30552,13 @@ sub-processes using a fork-like interface.")
         ("rust-memchr" ,rust-memchr-2)
         ("rust-nix" ,rust-nix-0.18)
         ("rust-scopeguard" ,rust-scopeguard-1)
-        ("rust-skim" ,rust-skim-0.7)
         ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
         ("rust-unicode-width" ,rust-unicode-width-0.1)
         ("rust-utf8parse" ,rust-utf8parse-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("skim" ,skim-0.7))
        #:cargo-development-inputs
-       (("rust-assert-matches" ,rust-assert-matches-1.3)
+       (("rust-assert-matches" ,rust-assert-matches-1)
         ("rust-doc-comment" ,rust-doc-comment-0.3)
         ("rust-env-logger" ,rust-env-logger-0.7)
         ("rust-rustyline-derive" ,rust-rustyline-derive-0.3)
@@ -31513,7 +31590,7 @@ macOS and iOS.")
        #:cargo-inputs
        (("rust-pest" ,rust-pest-2))
        #:cargo-development-inputs
-       (("rust-pest-generator" ,rust-pest-generator-2.1))))
+       (("rust-pest-generator" ,rust-pest-generator-2))))
     (home-page "https://github.com/steveklabnik/semver-parser")
     (synopsis "Parsing of the Semver spec")
     (description "This package provides for parsing of the Semver spec.")
@@ -31911,6 +31988,36 @@ for the serde framework.")
      "Unstable AST representation used by Serde codegen.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serdeconv-0.4
+  (package
+    (name "rust-serdeconv")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serdeconv" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0cal6qkzps92g7csycqij4ik1df3ccxn5sxnjvfvm473phnwbvbi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rmp-serde" ,rust-rmp-serde-0.14)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-trackable" ,rust-trackable-1))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/sile/serdeconv")
+    (synopsis
+     "Convert between TOML/JSON/MessagePack strings and serializable values")
+    (description
+     "This crate provides traits and functions for converting between
+TOML/JSON/MessagePack strings and serializable values.")
+    (license license:expat)))
+
 (define-public rust-serde-derive-1
   (package
     (name "rust-serde-derive")
@@ -33154,7 +33261,7 @@ for additional details.")
      `(#:cargo-inputs
        (("rust-approx" ,rust-approx-0.3)
         ("rust-cordic" ,rust-cordic-0.1)
-        ("rust-decimal" ,rust-decimal-2.0)
+        ("rust-decimal" ,rust-decimal-2)
         ("rust-fixed" ,rust-fixed-1)
         ("rust-num-complex" ,rust-num-complex-0.2)
         ("rust-num-traits" ,rust-num-traits-0.2)
@@ -33390,44 +33497,6 @@ variants in pure Rust.")
      "Test your Rust markdown documentation via Cargo.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-skim-0.7
-  (package
-    (name "rust-skim")
-    (version "0.7.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "skim" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-chrono" ,rust-chrono-0.4)
-        ("rust-clap" ,rust-clap-2)
-        ("rust-derive-builder" ,rust-derive-builder-0.9)
-        ("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-rayon" ,rust-rayon-1)
-        ("rust-regex" ,rust-regex-1)
-        ("rust-shlex" ,rust-shlex-0.1)
-        ("rust-time" ,rust-time-0.1)
-        ("rust-timer" ,rust-timer-0.2)
-        ("rust-tuikit" ,rust-tuikit-0.2)
-        ("rust-unicode-width" ,rust-unicode-width-0.1)
-        ("rust-vte" ,rust-vte-0.3))))
-    (home-page "https://github.com/lotabout/skim")
-    (synopsis "Fuzzy Finder in Rust")
-    (description "This package provides a fuzzy finder in Rust.")
-    (license license:expat)))
-
 (define-public rust-slab-0.4
   (package
     (name "rust-slab")
@@ -33639,6 +33708,43 @@ crate.")
      "This package provides the Unix terminal drain and formatter for slog.")
     (license (list license:mpl2.0 license:expat license:asl2.0))))
 
+(define-public rust-sloggers-1
+  (package
+    (name "rust-sloggers")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sloggers" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0sbdflswmivykx5sx1f2hip905lvcgi733d0ry879wx6g983f7gh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-libflate" ,rust-libflate-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-slog" ,rust-slog-2)
+        ("rust-slog-async" ,rust-slog-async-2)
+        ("rust-slog-kvfilter" ,rust-slog-kvfilter-0.7)
+        ("rust-slog-scope" ,rust-slog-scope-4)
+        ("rust-slog-stdlog" ,rust-slog-stdlog-4)
+        ("rust-slog-term" ,rust-slog-term-2)
+        ("rust-trackable" ,rust-trackable-1))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-serdeconv" ,rust-serdeconv-0.4)
+        ("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://github.com/sile/sloggers")
+    (synopsis "Frequently used slog loggers and convenient functions")
+    (description
+     "This library provides frequently used slog loggers and convenient
+functions.")
+    (license license:expat)))
+
 (define-public rust-slug-0.1
   (package
     (name "rust-slug")
@@ -33735,7 +33841,7 @@ stack.")
          "1dl219vnfkmsfx28lm3f83lyw24zap6fdsli6rg8nnp1aa67bc7p"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
+       (("rust-maybe-uninit" ,rust-maybe-uninit-2)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
        (("rust-bincode" ,rust-bincode-1))))))
@@ -34304,7 +34410,7 @@ codebase.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-discard" ,rust-discard-1.0)
+       (("rust-discard" ,rust-discard-1)
         ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
         ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
         ("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3)
@@ -35475,7 +35581,7 @@ intelligence using Sublime Text's grammars.")
         ("rust-bincode" ,rust-bincode-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-walkdir" ,rust-walkdir-2)
-        ("rust-onig" ,rust-onig-5.0))))))
+        ("rust-onig" ,rust-onig-5))))))
 
 (define-public rust-syntex-0.58
  (package
@@ -36116,7 +36222,7 @@ template language.")
     (arguments
      `(#:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1)
-        ("rust-dirs" ,rust-dirs-1.0)
+        ("rust-dirs" ,rust-dirs-1)
         ("rust-winapi" ,rust-winapi-0.3))))))
 
 (define-public rust-term-0.4
@@ -36289,7 +36395,7 @@ writing colored text to a terminal.")
     (arguments
      `(#:cargo-inputs
        (("rust-fnv" ,rust-fnv-1)
-        ("rust-nom" ,rust-nom-4.2)
+        ("rust-nom" ,rust-nom-4)
         ("rust-phf" ,rust-phf-0.7)
         ("rust-phf-codegen" ,rust-phf-codegen-0.7))))
     (home-page "https://github.com/meh/rust-terminfo")
@@ -38857,6 +38963,55 @@ application authors using tracing to instrument their applications.")
         ("rust-tracing" ,rust-tracing-0.1)
         ("rust-tracing-log" ,rust-tracing-log-0.1))))))
 
+(define-public rust-trackable-1
+  (package
+    (name "rust-trackable")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "trackable" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1c5xqp2k9yf5is3pwc7xwf2kd3khdkan93s5072r5p99s49nxyrh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-trackable-derive" ,rust-trackable-derive-1))))
+    (home-page "https://github.com/sile/trackable")
+    (synopsis "Track objects manually as an alternative to backtracing")
+    (description
+     "This library provides a way to track objects manually as an alternative
+to mechanisms like backtracing.")
+    (license license:expat)))
+
+(define-public rust-trackable-derive-1
+  (package
+    (name "rust-trackable-derive")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "trackable_derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0bzqh11n1k29cghjmb4dn426hpqy3nbyn1qgzqngiqj7b1f27szb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/sile/trackable_derive")
+    (synopsis "Custom derive for @code{trackable} crate")
+    (description
+     "This crate provides @code{TrackableError} derive macro.  It should not
+be used directly.  See @code{rust-trackable} for more information.")
+    (license license:expat)))
+
 (define-public rust-traitobject-0.1
   (package
     (name "rust-traitobject")
@@ -39557,7 +39712,7 @@ extension for the Trust-DNS client to use rustls for TLS.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-dissimilar" ,rust-dissimilar-1.0)
+       (("rust-dissimilar" ,rust-dissimilar-1)
         ("rust-glob" ,rust-glob-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-serde" ,rust-serde-1)
@@ -39590,8 +39745,38 @@ extension for the Trust-DNS client to use rustls for TLS.")
 parser.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-tuikit-0.4
+  (package
+    (name "rust-tuikit")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tuikit" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1hf6pgclb2lj08jzb45q0mpjq2a9zw27h7kwyi5cibjz5skd054b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-term" ,rust-term-0.6)
+        ("rust-unicode-width" ,rust-unicode-width-0.1))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6))))
+    (home-page "https://github.com/lotabout/tuikit")
+    (synopsis "Toolkit for writing TUI applications")
+    (description
+     "This package provides a toolkit for writing TUI applications in Rust.")
+    (license license:expat)))
+
 (define-public rust-tuikit-0.2
   (package
+    (inherit rust-tuikit-0.4)
     (name "rust-tuikit")
     (version "0.2.9")
     (source
@@ -39603,7 +39788,6 @@ parser.")
         (sha256
          (base32
           "19f3jp12kqcx7aaykxbaj1j17zahd4drv049agpxaminr63w2sw4"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f  ; tests fail in the build environment.
        #:cargo-inputs
@@ -39614,12 +39798,7 @@ parser.")
         ("rust-term" ,rust-term-0.5)
         ("rust-unicode-width" ,rust-unicode-width-0.1))
        #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6))))
-    (home-page "https://github.com/lotabout/tuikit")
-    (synopsis "Toolkit for writing TUI applications")
-    (description
-     "This package provides a toolkit for writing TUI applications in Rust.")
-    (license license:expat)))
+       (("rust-env-logger" ,rust-env-logger-0.6))))))
 
 (define-public rust-typeable-0.1
   (package
@@ -40463,7 +40642,7 @@ untrusted inputs in Rust.")
         ("rust-heapsize" ,rust-heapsize-0.4)
         ("rust-idna" ,rust-idna-0.1)
         ("rust-matches" ,rust-matches-0.1)
-        ("rust-percent-encoding" ,rust-percent-encoding-1.0)
+        ("rust-percent-encoding" ,rust-percent-encoding-1)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-serde" ,rust-serde-1))
        #:cargo-development-inputs
@@ -40856,7 +41035,7 @@ first byte.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-piston-float" ,rust-piston-float-1.0))))
+       (("rust-piston-float" ,rust-piston-float-1))))
     (home-page "https://github.com/pistondevelopers/vecmath")
     (synopsis "Library for vector math designed for reexporting")
     (description
@@ -41938,7 +42117,7 @@ with webpki.")
          "0r0i2kllvkn9jil6cjzxdi1zsc6p1gjyk751w8lyclaii1q3zd1v"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-nom" ,rust-nom-4.2))))
+     `(#:cargo-inputs (("rust-nom" ,rust-nom-4))))
     (home-page "https://github.com/rustwasm/weedle")
     (synopsis "WebIDL Parser")
     (description
@@ -43160,6 +43339,127 @@ formatters with per-field documentation generated for each structure.
       "High performance inflection transformation library for changing properties of words like the case.")
     (license license:expat)))
 
+(define-public skim
+  (package
+    (name "skim")
+    (version "0.9.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "skim" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0qir6m4cpd63bnp0lqq4si1ccgd6rbv4m1662v771fkyynrdrj0s"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-beef" ,rust-beef-0.4)
+         ("rust-bitflags" ,rust-bitflags-1)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-clap" ,rust-clap-2)
+         ("rust-crossbeam" ,rust-crossbeam-0.7)
+         ("rust-defer-drop" ,rust-defer-drop-1)
+         ("rust-derive-builder" ,rust-derive-builder-0.9)
+         ("rust-env-logger" ,rust-env-logger-0.6)
+         ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
+         ("rust-lazy-static" ,rust-lazy-static-1)
+         ("rust-log" ,rust-log-0.4)
+         ("rust-nix" ,rust-nix-0.14)
+         ("rust-rayon" ,rust-rayon-1)
+         ("rust-regex" ,rust-regex-1)
+         ("rust-shlex" ,rust-shlex-0.1)
+         ("rust-time" ,rust-time-0.1)
+         ("rust-timer" ,rust-timer-0.2)
+         ("rust-tuikit" ,rust-tuikit-0.4)
+         ("rust-unicode-width" ,rust-unicode-width-0.1)
+         ("rust-vte" ,rust-vte-0.3))
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'install 'install-extras
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (bin (string-append out "/bin"))
+                     (share (string-append out "/share"))
+                     (man (string-append out "/share/man"))
+                     (vimfiles (string-append share "/vim/vimfiles/plugin"))
+                     (bash-completion
+                      (string-append share "/bash-completions/completions"))
+                     (zsh-site (string-append share "/zsh/site-functions"))
+                     (fish-vendor
+                      (string-append share "/fish/vendor-completions.d")))
+                ;; Binaries
+                (for-each
+                 (lambda (binary) (install-file binary bin))
+                 (find-files "bin"))
+                (mkdir-p share)
+                ;; Manpages
+                (copy-recursively "man" man)
+                ;; Vim plugins
+                (mkdir-p vimfiles)
+                (copy-recursively "plugin" vimfiles)
+                ;; Completions
+                (mkdir-p bash-completion)
+                (copy-file
+                 "shell/completion.bash"
+                 (string-append bash-completion "/skim"))
+                (copy-file
+                 "shell/key-bindings.bash"
+                 (string-append bash-completion "/skim-bindings"))
+                (mkdir-p zsh-site)
+                (copy-file
+                 "shell/completion.zsh"
+                 (string-append zsh-site "/_skim"))
+                (copy-file
+                 "shell/key-bindings.zsh"
+                 (string-append zsh-site "/_skim-bindings"))
+                (mkdir-p fish-vendor)
+                (copy-file
+                 "shell/key-bindings.fish"
+                 (string-append fish-vendor "/skim-bindings.fish"))))))))
+    (home-page "https://github.com/lotabout/skim")
+    (synopsis "Fuzzy Finder in Rust")
+    (description "This package provides a fuzzy finder in Rust.")
+    (license license:expat)))
+
+(define-public skim-0.7
+  (package
+    (inherit skim)
+    (name "skim")
+    (version "0.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "skim" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-derive-builder" ,rust-derive-builder-0.9)
+        ("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-shlex" ,rust-shlex-0.1)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-timer" ,rust-timer-0.2)
+        ("rust-tuikit" ,rust-tuikit-0.2)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-vte" ,rust-vte-0.3))))))
+
+(define-public rust-skim-0.7
+  (deprecated-package "rust-skim-0.7" skim-0.7))
+
 (define-public svd2rust
   (package
     (name "svd2rust")