gnu: qbittorrent: Update to 4.2.0.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
index 61681b1..b4bb599 100644 (file)
@@ -3,6 +3,7 @@
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages gcc)
-  #:use-module (gnu packages jemalloc)
-  #:use-module (gnu packages llvm)
-  #:use-module (gnu packages maths)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages web))
+  #:use-module (guix packages))
 
 ;;;
 ;;; Please: Try to add new module packages in alphabetic order.
 ;;;
 
 
 ;;;
 ;;; Please: Try to add new module packages in alphabetic order.
 ;;;
 
-(define-public rust-adler32
+(define-public rust-adler32-1.0
   (package
     (name "rust-adler32")
     (version "1.0.3")
   (package
     (name "rust-adler32")
     (version "1.0.3")
         (method url-fetch)
         (uri (crate-uri "adler32" version))
         (file-name
         (method url-fetch)
         (uri (crate-uri "adler32" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
           (base32
             "0p7fxlnks9l7p7rwfqi7aqgnk2bps5zc0rjiw00mdw19nnbjjlky"))))
     (build-system cargo-build-system)
         (sha256
           (base32
             "0p7fxlnks9l7p7rwfqi7aqgnk2bps5zc0rjiw00mdw19nnbjjlky"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs (("rust-rand" ,rust-rand))))
     (home-page "https://github.com/remram44/adler32-rs")
     (synopsis "Implementation of the Adler32 rolling hash algorithm")
     (description
      "This library is an implementation of the Adler32 rolling hash algorithm in
 the Rust programming language.")
     (home-page "https://github.com/remram44/adler32-rs")
     (synopsis "Implementation of the Adler32 rolling hash algorithm")
     (description
      "This library is an implementation of the Adler32 rolling hash algorithm in
 the Rust programming language.")
+    (properties '((hidden? . #t)))
     (license (list license:bsd-3
                    license:zlib))))
 
     (license (list license:bsd-3
                    license:zlib))))
 
-(define-public rust-ansi-term
+(define-public rust-ansi-term-0.11
   (package
     (name "rust-ansi-term")
     (version "0.11.0")
   (package
     (name "rust-ansi-term")
     (version "0.11.0")
@@ -68,31 +61,20 @@ the Rust programming language.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ansi_term" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "ansi_term" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           ;; https://github.com/ogham/rust-ansi-term/commit/5ff6af6f38790abcb3aafee1239286c10ef69576.patch
-           (lambda _
-             (substitute* "src/debug.rs"
-               (("^ *Blue") "        Blue,")
-               (("underline: false") "underline: false,"))
-             #t)))))
     (home-page "https://github.com/ogham/rust-ansi-term")
     (synopsis "Library for ANSI terminal colours and styles")
     (description
      "This is a library for controlling colours and formatting, such as red bold
 text or blue underlined text, on ANSI terminals.")
     (home-page "https://github.com/ogham/rust-ansi-term")
     (synopsis "Library for ANSI terminal colours and styles")
     (description
      "This is a library for controlling colours and formatting, such as red bold
 text or blue underlined text, on ANSI terminals.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-antidote
+(define-public rust-antidote-1.0
   (package
     (name "rust-antidote")
     (version "1.0.0")
   (package
     (name "rust-antidote")
     (version "1.0.0")
@@ -100,7 +82,7 @@ text or blue underlined text, on ANSI terminals.")
       (origin
         (method url-fetch)
         (uri (crate-uri "antidote" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "antidote" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l"))))
         (sha256
          (base32
           "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l"))))
@@ -110,10 +92,11 @@ text or blue underlined text, on ANSI terminals.")
     (description
     "These types expose identical APIs to the standard library @code{Mutex} and
 @code{RwLock} except that they do not return @code{PoisonError}s.")
     (description
     "These types expose identical APIs to the standard library @code{Mutex} and
 @code{RwLock} except that they do not return @code{PoisonError}s.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-atty
+(define-public rust-atty-0.2
   (package
     (name "rust-atty")
     (version "0.2.13")
   (package
     (name "rust-atty")
     (version "0.2.13")
@@ -121,34 +104,30 @@ text or blue underlined text, on ANSI terminals.")
       (origin
         (method url-fetch)
         (uri (crate-uri "atty" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "atty" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))
-       #:tests? #f)) ; tests fail in our sandbox
     (home-page "https://github.com/softprops/atty")
     (synopsis "A simple interface for querying atty")
     (description
      "This package provides a simple interface for querying atty.")
     (home-page "https://github.com/softprops/atty")
     (synopsis "A simple interface for querying atty")
     (description
      "This package provides a simple interface for querying atty.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-autocfg
+(define-public rust-autocfg-0.1
   (package
     (name "rust-autocfg")
   (package
     (name "rust-autocfg")
-    (version "0.1.5")
+    (version "0.1.7")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "autocfg" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "autocfg" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2"))))
+          "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/cuviper/autocfg")
     (synopsis "Automatic cfg for Rust compiler features")
     (build-system cargo-build-system)
     (home-page "https://github.com/cuviper/autocfg")
     (synopsis "Automatic cfg for Rust compiler features")
@@ -156,10 +135,32 @@ text or blue underlined text, on ANSI terminals.")
 code based on compiler support.  Code snippets are dynamically tested to see
 if the @code{rustc} will accept them, rather than hard-coding specific version
 support.")
 code based on compiler support.  Code snippets are dynamically tested to see
 if the @code{rustc} will accept them, rather than hard-coding specific version
 support.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-backtrace-sys-0.1
+  (package
+    (name "rust-backtrace-sys")
+    (version "0.1.31")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "backtrace-sys" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0as2pk77br4br04daywhivpi1ixxb8y2c7f726kj849dxys31a42"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/backtrace-rs")
+    (synopsis "Bindings to the libbacktrace gcc library")
+    (description
+     "This package provides bindings to the libbacktrace gcc library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-base-x
+(define-public rust-base-x-0.2
   (package
     (name "rust-base-x")
     (version "0.2.5")
   (package
     (name "rust-base-x")
     (version "0.2.5")
@@ -167,22 +168,18 @@ support.")
       (origin
         (method url-fetch)
         (uri (crate-uri "base-x" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "base-x" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0hv4y5cdhv6bk0ghk2434clw8v4mmk5cc9lsh6qrpri92zlfmx3n"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0hv4y5cdhv6bk0ghk2434clw8v4mmk5cc9lsh6qrpri92zlfmx3n"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher)
-        ("rust-json" ,rust-json)
-        ("rust-rand" ,rust-rand-0.3))))
     (home-page "https://github.com/OrKoN/base-x-rs")
     (synopsis "Encode/decode any base")
     (description "This library provides for encoding and decoding any base.")
     (home-page "https://github.com/OrKoN/base-x-rs")
     (synopsis "Encode/decode any base")
     (description "This library provides for encoding and decoding any base.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-bencher
+(define-public rust-bencher-0.1
   (package
     (name "rust-bencher")
     (version "0.1.5")
   (package
     (name "rust-bencher")
     (version "0.1.5")
@@ -190,7 +187,7 @@ support.")
       (origin
         (method url-fetch)
         (uri (crate-uri "bencher" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "bencher" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
         (sha256
          (base32
           "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
@@ -201,10 +198,11 @@ support.")
 benchmark runner to Rust stable releases.  Supports running benchmarks and
 filtering based on the name.  Benchmark execution works exactly the same way
 and no more (caveat: black_box is still missing!).")
 benchmark runner to Rust stable releases.  Supports running benchmarks and
 filtering based on the name.  Benchmark execution works exactly the same way
 and no more (caveat: black_box is still missing!).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-bitflags
+(define-public rust-bitflags-1
   (package
     (name "rust-bitflags")
     (version "1.1.0")
   (package
     (name "rust-bitflags")
     (version "1.1.0")
@@ -212,7 +210,7 @@ and no more (caveat: black_box is still missing!).")
       (origin
         (method url-fetch)
         (uri (crate-uri "bitflags" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "bitflags" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
         (sha256
          (base32
           "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
@@ -221,10 +219,11 @@ and no more (caveat: black_box is still missing!).")
     (synopsis "Macro to generate structures which behave like bitflags")
     (description "This package provides a macro to generate structures which
 behave like a set of bitflags.")
     (synopsis "Macro to generate structures which behave like bitflags")
     (description "This package provides a macro to generate structures which
 behave like a set of bitflags.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-blas-sys
+(define-public rust-blas-sys-0.7
   (package
     (name "rust-blas-sys")
     (version "0.7.1")
   (package
     (name "rust-blas-sys")
     (version "0.7.1")
@@ -232,21 +231,20 @@ behave like a set of bitflags.")
       (origin
         (method url-fetch)
         (uri (crate-uri "blas-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "blas-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
     (home-page "https://github.com/blas-lapack-rs/blas-sys")
     (synopsis "Bindings to BLAS (Fortran)")
     (description
      "Ths package provides bindings to BLAS (Fortran).")
     (home-page "https://github.com/blas-lapack-rs/blas-sys")
     (synopsis "Bindings to BLAS (Fortran)")
     (description
      "Ths package provides bindings to BLAS (Fortran).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cargon
+(define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
     (version "0.0.1")
   (package
     (name "rust-cargon")
     (version "0.0.1")
@@ -254,22 +252,20 @@ behave like a set of bitflags.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cargon" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "cargon" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1cszlab7jk736p0lb50ag4l9nv72m7j41bwrmygl0lr4iz0350w2"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1cszlab7jk736p0lb50ag4l9nv72m7j41bwrmygl0lr4iz0350w2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-gcc" ,rust-gcc))))
     (home-page "https://github.com/bryant/argon2rs")
     (synopsis "Thin wrapper around the Argon2 C library")
     (description
      "This package provides a thin wrapper around the Argon2 C library.  It is
 used in argon2rs' bench suite.")
     (home-page "https://github.com/bryant/argon2rs")
     (synopsis "Thin wrapper around the Argon2 C library")
     (description
      "This package provides a thin wrapper around the Argon2 C library.  It is
 used in argon2rs' bench suite.")
+    (properties '((hidden? . #t)))
     (license license:wtfpl2)))
 
     (license license:wtfpl2)))
 
-(define-public rust-cblas-sys
+(define-public rust-cblas-sys-0.1
   (package
     (name "rust-cblas-sys")
     (version "0.1.4")
   (package
     (name "rust-cblas-sys")
     (version "0.1.4")
@@ -277,21 +273,20 @@ used in argon2rs' bench suite.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cblas-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "cblas-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
     (home-page "https://github.com/blas-lapack-rs/cblas-sys")
     (synopsis "Bindings to CBLAS (C)")
     (description
      "The package provides bindings to CBLAS (C).")
     (home-page "https://github.com/blas-lapack-rs/cblas-sys")
     (synopsis "Bindings to CBLAS (C)")
     (description
      "The package provides bindings to CBLAS (C).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cc
+(define-public rust-cc-1.0
   (package
     (name "rust-cc")
     (version "1.0.41")
   (package
     (name "rust-cc")
     (version "1.0.41")
@@ -299,59 +294,44 @@ used in argon2rs' bench suite.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cc" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "cc" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1zxzd559dbbf1iwdzmkj7czapzccs17kqqmsj9ayijpdix5rrbld"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1zxzd559dbbf1iwdzmkj7czapzccs17kqqmsj9ayijpdix5rrbld"))))
     (build-system cargo-build-system)
-    (arguments
-     `(;#:cargo-inputs
-       ;(("rust-rayon" ,rust-rayon))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-optional-deps
-           (lambda _
-             (substitute* "Cargo.toml.orig"
-               ((".*optional.*") "\n")
-               ((".*features.*") "")
-               ((".*parallel.*") ""))
-             (delete-file "Cargo.toml")
-             (copy-file "Cargo.toml.orig" "Cargo.toml")
-             #t)))
-       #:tests? #f)) ; Tests require cc-test from git repo.
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Invoke the native C compiler")
     (description
      "This package provides a build-time dependency for Cargo build scripts to
 assist in invoking the native C compiler to compile native C code into a static
 archive to be linked into Rustcode.")
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Invoke the native C compiler")
     (description
      "This package provides a build-time dependency for Cargo build scripts to
 assist in invoking the native C compiler to compile native C code into a static
 archive to be linked into Rustcode.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-cfg-if
+(define-public rust-cfg-if-0.1
   (package
     (name "rust-cfg-if")
   (package
     (name "rust-cfg-if")
-    (version "0.1.9")
+    (version "0.1.10")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "cfg-if" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "cfg-if" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml"))))
+          "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/alexcrichton/cfg-if")
     (synopsis "Define an item depending on parameters")
     (description "This package provides a macro to ergonomically define an item
 depending on a large number of #[cfg] parameters.  Structured like an
 @code{if-else} chain, the first matching branch is the item that gets emitted.")
     (build-system cargo-build-system)
     (home-page "https://github.com/alexcrichton/cfg-if")
     (synopsis "Define an item depending on parameters")
     (description "This package provides a macro to ergonomically define an item
 depending on a large number of #[cfg] parameters.  Structured like an
 @code{if-else} chain, the first matching branch is the item that gets emitted.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-clang-sys
+(define-public rust-clang-sys-0.28
   (package
     (name "rust-clang-sys")
     (version "0.28.1")
   (package
     (name "rust-clang-sys")
     (version "0.28.1")
@@ -359,115 +339,86 @@ depending on a large number of #[cfg] parameters.  Structured like an
       (origin
         (method url-fetch)
         (uri (crate-uri "clang-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "clang-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ls8zcqi5bmmrvrk3b6r1ym4wlivinbv590d2dvg2xn9f44mbpl1"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0ls8zcqi5bmmrvrk3b6r1ym4wlivinbv590d2dvg2xn9f44mbpl1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-glob" ,rust-glob)
-        ("rust-libc" ,rust-libc)
-        ("rust-libloading" ,rust-libloading))
-       #:cargo-development-inputs
-       (("rust-glob" ,rust-glob))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-environmental-variable
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((clang (assoc-ref inputs "libclang")))
-               (setenv "LIBCLANG_PATH"
-                       (string-append clang "/lib")))
-             #t)))))
-    (inputs
-     `(("libclang" ,clang)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'set-environmental-variable
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((clang (assoc-ref inputs "libclang")))
+    ;           (setenv "LIBCLANG_PATH"
+    ;                   (string-append clang "/lib")))
+    ;         #t)))))
+    ;(inputs
+    ; `(("libclang" ,clang)))
     (home-page "https://github.com/KyleMayes/clang-sys")
     (synopsis "Rust bindings for libclang")
     (description
      "This package provides Rust bindings for @code{libclang}.")
     (home-page "https://github.com/KyleMayes/clang-sys")
     (synopsis "Rust bindings for libclang")
     (description
      "This package provides Rust bindings for @code{libclang}.")
+    (properties '((hidden? . #t)))
     (license license:asl2.0)))
 
 (define-public rust-clang-sys-0.26
   (package
     (license license:asl2.0)))
 
 (define-public rust-clang-sys-0.26
   (package
-    (inherit rust-clang-sys)
+    (inherit rust-clang-sys-0.28)
     (name "rust-clang-sys")
     (version "0.26.4")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "clang-sys" version))
     (name "rust-clang-sys")
     (version "0.26.4")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "clang-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-glob" ,rust-glob-0.2)
-        ("rust-libc" ,rust-libc)
-        ("rust-libloading" ,rust-libloading))
-       #:cargo-development-inputs
-       (("rust-glob" ,rust-glob-0.2))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-environmental-variable
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((clang (assoc-ref inputs "libclang")))
-               (setenv "LIBCLANG_PATH"
-                       (string-append clang "/lib")))
-            #t)))))))
-
-(define-public rust-clicolors-control
+          "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f"))))))
+
+(define-public rust-clap-2
   (package
   (package
-    (name "rust-clicolors-control")
-    (version "1.0.0")
+    (name "rust-clap")
+    (version "2.33.0")
     (source
       (origin
         (method url-fetch)
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "clicolors-control" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "clap" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk"))))
+          "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-atty" ,rust-atty)
-        ("rust-lazy-static" ,rust-lazy-static)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
-    (home-page "https://github.com/mitsuhiko/clicolors-control")
-    (synopsis "Common utility library to control CLI colorization")
+    (home-page "https://clap.rs/")
+    (synopsis "Command Line Argument Parser")
     (description
     (description
-     "This package provides a common utility library to control CLI
-colorization.")
+     "This package provides a simple to use, efficient, and full-featured
+Command Line Argument Parser.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-clippy
+(define-public rust-clicolors-control-1.0
   (package
   (package
-    (name "rust-clippy")
-    (version "0.0.302")
+    (name "rust-clicolors-control")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "clippy" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "clicolors-control" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
         (sha256
-          (base32
-            "1562x3sq9mgmc8j39gd34wqm7ybrdvpmj7cc1n450gwsawayw4fr"))))
+         (base32
+          "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs
-        (("rust-term" ,rust-term))))
-    (home-page "https://github.com/rust-lang/rust-clippy")
-    (synopsis
-      "A bunch of helpful lints to avoid common pitfalls in Rust.")
+    (home-page "https://github.com/mitsuhiko/clicolors-control")
+    (synopsis "Common utility library to control CLI colorization")
     (description
     (description
-      "This package provides a bunch of helpful lints to avoid common pitfalls in Rust.")
-    (license (list license:asl2.0
-                   license:expat))))
+     "This package provides a common utility library to control CLI
+colorization.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
 
 
-(define-public rust-cloudabi
+(define-public rust-cloudabi-0.0
   (package
     (name "rust-cloudabi")
     (version "0.0.3")
   (package
     (name "rust-cloudabi")
     (version "0.0.3")
@@ -475,21 +426,19 @@ colorization.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cloudabi" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "cloudabi" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags))))
     (home-page "https://nuxi.nl/cloudabi/")
     (synopsis "Low level interface to CloudABI")
     (description
      "Low level interface to CloudABI.  Contains all syscalls and related types.")
     (home-page "https://nuxi.nl/cloudabi/")
     (synopsis "Low level interface to CloudABI")
     (description
      "Low level interface to CloudABI.  Contains all syscalls and related types.")
+    (properties '((hidden? . #t)))
     (license license:bsd-2)))
 
     (license license:bsd-2)))
 
-(define-public rust-cmake
+(define-public rust-cmake-0.1
   (package
     (name "rust-cmake")
     (version "0.1.42")
   (package
     (name "rust-cmake")
     (version "0.1.42")
@@ -497,25 +446,24 @@ colorization.")
       (origin
         (method url-fetch)
         (uri (crate-uri "cmake" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "cmake" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0qkwibkvx5xjazvv9v8gvdlpky2jhjxvcz014nrixgzqfyv2byw1"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0qkwibkvx5xjazvv9v8gvdlpky2jhjxvcz014nrixgzqfyv2byw1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-cc" ,rust-cc))))
     (home-page "https://github.com/alexcrichton/cmake-rs")
     (synopsis "Rust build dependency for running cmake")
     (description
      "This package provides a build dependency for running @code{cmake} to build
 a native library.  The CMake executable is assumed to be @code{cmake} unless the
 CMAKE environmental variable is set.")
     (home-page "https://github.com/alexcrichton/cmake-rs")
     (synopsis "Rust build dependency for running cmake")
     (description
      "This package provides a build dependency for running @code{cmake} to build
 a native library.  The CMake executable is assumed to be @code{cmake} unless the
 CMAKE environmental variable is set.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
-(define-public rust-compiler-builtins
+(define-public rust-compiler-builtins-0.1
   (package
     (name "rust-compiler-builtins")
     (version "0.1.19")
   (package
     (name "rust-compiler-builtins")
     (version "0.1.19")
@@ -523,27 +471,22 @@ CMAKE environmental variable is set.")
       (origin
         (method url-fetch)
         (uri (crate-uri "compiler_builtins" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "compiler_builtins" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1fpabpmg8paj4r5a37vmidh1jx1b7a6ilxm4s3xsxczx27ybjcjf"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1fpabpmg8paj4r5a37vmidh1jx1b7a6ilxm4s3xsxczx27ybjcjf"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-rustc-std-workspace-core"
-         ,rust-rustc-std-workspace-core))))
     (home-page "https://github.com/rust-lang-nursery/compiler-builtins")
     (synopsis "Compiler intrinsics used by the Rust compiler")
     (description
      "This package provides compiler intrinsics used by the Rust compiler.  This
 package is primarily useful when building the @code{core} crate yourself and you
 need compiler-rt intrinsics.")
     (home-page "https://github.com/rust-lang-nursery/compiler-builtins")
     (synopsis "Compiler intrinsics used by the Rust compiler")
     (description
      "This package provides compiler intrinsics used by the Rust compiler.  This
 package is primarily useful when building the @code{core} crate yourself and you
 need compiler-rt intrinsics.")
-    (properties `((hidden? . #t)))
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-constant-time-eq
+(define-public rust-constant-time-eq-0.1
   (package
     (name "rust-constant-time-eq")
     (version "0.1.4")
   (package
     (name "rust-constant-time-eq")
     (version "0.1.4")
@@ -551,7 +494,7 @@ need compiler-rt intrinsics.")
      (origin
        (method url-fetch)
        (uri (crate-uri "constant_time_eq" version))
      (origin
        (method url-fetch)
        (uri (crate-uri "constant_time_eq" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
          "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr"))))
        (sha256
         (base32
          "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr"))))
@@ -562,9 +505,10 @@ need compiler-rt intrinsics.")
     (description
      "This package compares two equal-sized byte strings in constant time.
 It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description
      "This package compares two equal-sized byte strings in constant time.
 It is inspired by the Linux kernel's @code{crypto_memneq}.")
+    (properties '((hidden? . #t)))
     (license license:cc0)))
 
     (license license:cc0)))
 
-(define-public rust-core-foundation-sys
+(define-public rust-core-foundation-sys-0.6
   (package
     (name "rust-core-foundation-sys")
     (version "0.6.2")
   (package
     (name "rust-core-foundation-sys")
     (version "0.6.2")
@@ -572,7 +516,7 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "core-foundation-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "core-foundation-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7"))))
         (sha256
          (base32
           "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7"))))
@@ -581,10 +525,46 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (synopsis "Bindings to Core Foundation for OS X")
     (description
      "Bindings to Core Foundation for OS X.")
     (synopsis "Bindings to Core Foundation for OS X")
     (description
      "Bindings to Core Foundation for OS X.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-data-encoding
+(define-public rust-curl-sys-0.4
+  (package
+    (name "rust-curl-sys")
+    (version "0.4.20")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "curl-sys" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y"))))
+    (build-system cargo-build-system)
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;    (add-after 'unpack 'find-openssl
+    ;      (lambda* (#:key inputs #:allow-other-keys)
+    ;        (let ((openssl (assoc-ref inputs "openssl")))
+    ;          (setenv "OPENSSL_DIR" openssl))
+    ;        #t)))))
+    ;(native-inputs
+    ; `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("curl" ,curl)
+    ;   ("nghttp2" ,nghttp2)
+    ;   ("openssl" ,openssl)
+    ;   ("zlib" ,zlib)))
+    (home-page "https://github.com/alexcrichton/curl-rust")
+    (synopsis "Native bindings to the libcurl library")
+    (description
+     "This package provides native bindings to the @code{libcurl} library.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
+(define-public rust-data-encoding-2.1
   (package
     (name "rust-data-encoding")
     (version "2.1.2")
   (package
     (name "rust-data-encoding")
     (version "2.1.2")
@@ -592,7 +572,7 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "data-encoding" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "data-encoding" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l"))))
         (sha256
          (base32
           "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l"))))
@@ -601,10 +581,11 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (synopsis "Efficient and customizable data-encoding functions")
     (description
      "This library provides encodings for many different common cases, including
     (synopsis "Efficient and customizable data-encoding functions")
     (description
      "This library provides encodings for many different common cases, including
-hexadecimal, bas32, and base64.")
+hexadecimal, base32, and base64.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-defmac
+(define-public rust-defmac-0.2
   (package
     (name "rust-defmac")
     (version "0.2.0")
   (package
     (name "rust-defmac")
     (version "0.2.0")
@@ -612,7 +593,7 @@ hexadecimal, bas32, and base64.")
       (origin
         (method url-fetch)
         (uri (crate-uri "defmac" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "defmac" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv"))))
         (sha256
          (base32
           "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv"))))
@@ -620,24 +601,49 @@ hexadecimal, bas32, and base64.")
     (home-page "https://github.com/bluss/defmac")
     (synopsis "Macro to define lambda-like macros inline")
     (description "A macro to define lambda-like macros inline.")
     (home-page "https://github.com/bluss/defmac")
     (synopsis "Macro to define lambda-like macros inline")
     (description "A macro to define lambda-like macros inline.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-defmac-0.1
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-defmac-0.1
   (package
-    (inherit rust-defmac)
+    (inherit rust-defmac-0.2)
     (name "rust-defmac")
     (version "0.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "defmac" version))
     (name "rust-defmac")
     (version "0.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "defmac" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
         (sha256
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
-(define-public rust-discard
+(define-public rust-dirs-1.0
+  (package
+    (name "rust-dirs")
+    (version "1.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "dirs" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "02vigc566z5i6n9wr2x8sch39qp4arn89xhhrh18fhpm3jfc0ygn"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/soc/dirs-rs")
+    (synopsis "Abstractions for standard locations for various platforms")
+    (description
+     "This package provides a tiny low-level library that provides
+platform-specific standard locations of directories for config, cache and other
+data on Linux, Windows, macOS and Redox 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.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-discard-1.0
   (package
     (name "rust-discard")
     (version "1.0.4")
   (package
     (name "rust-discard")
     (version "1.0.4")
@@ -645,7 +651,7 @@ hexadecimal, bas32, and base64.")
       (origin
         (method url-fetch)
         (uri (crate-uri "discard" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "discard" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
         (sha256
          (base32
           "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
@@ -655,9 +661,10 @@ hexadecimal, bas32, and base64.")
     (description "There are situations where you need to intentionally leak some
 memory but not other memory.  This package provides a discard trait which allows
 for intentionally leaking memory")
     (description "There are situations where you need to intentionally leak some
 memory but not other memory.  This package provides a discard trait which allows
 for intentionally leaking memory")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-doc-comment
+(define-public rust-doc-comment-0.3
   (package
     (name "rust-doc-comment")
     (version "0.3.1")
   (package
     (name "rust-doc-comment")
     (version "0.3.1")
@@ -665,7 +672,7 @@ for intentionally leaking memory")
       (origin
         (method url-fetch)
         (uri (crate-uri "doc-comment" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "doc-comment" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
         (sha256
          (base32
           "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
@@ -674,9 +681,10 @@ for intentionally leaking memory")
     (synopsis "Macro to generate doc comments")
     (description "This package provides a way to generate doc comments
 from macros.")
     (synopsis "Macro to generate doc comments")
     (description "This package provides a way to generate doc comments
 from macros.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-dtoa
+(define-public rust-dtoa-0.4
   (package
     (name "rust-dtoa")
     (version "0.4.4")
   (package
     (name "rust-dtoa")
     (version "0.4.4")
@@ -684,7 +692,7 @@ from macros.")
       (origin
         (method url-fetch)
         (uri (crate-uri "dtoa" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "dtoa" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza"))))
         (sha256
          (base32
           "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza"))))
@@ -693,24 +701,25 @@ from macros.")
     (synopsis "Fast functions for printing floating-point primitives")
     (description "This crate provides fast functions for printing
 floating-point primitives to an @code{io::Write}.")
     (synopsis "Fast functions for printing floating-point primitives")
     (description "This crate provides fast functions for printing
 floating-point primitives to an @code{io::Write}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-dtoa-0.2
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-dtoa-0.2
   (package
-    (inherit rust-dtoa)
+    (inherit rust-dtoa-0.4)
     (name "rust-dtoa")
     (version "0.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "dtoa" version))
     (name "rust-dtoa")
     (version "0.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "dtoa" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d"))))))
 
         (sha256
          (base32
           "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d"))))))
 
-(define-public rust-fallible-iterator
+(define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
     (version "0.2.0")
   (package
     (name "rust-fallible-iterator")
     (version "0.2.0")
@@ -718,7 +727,7 @@ floating-point primitives to an @code{io::Write}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fallible-iterator" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fallible-iterator" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
         (sha256
          (base32
           "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
@@ -729,10 +738,11 @@ floating-point primitives to an @code{io::Write}.")
 crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
 @code{BTreeSet}.  If the @code{std} feature is enabled, this crate additionally
 provides implementations for @code{HashMap} and @code{HashSet}.")
 crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
 @code{BTreeSet}.  If the @code{std} feature is enabled, this crate additionally
 provides implementations for @code{HashMap} and @code{HashSet}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-filetime
+(define-public rust-filetime-0.2
   (package
     (name "rust-filetime")
     (version "0.2.7")
   (package
     (name "rust-filetime")
     (version "0.2.7")
@@ -740,19 +750,11 @@ provides implementations for @code{HashMap} and @code{HashSet}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "filetime" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "filetime" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0sflihq2l77xjrza7yjalnxsc7dxzg25rhzcfbd9vmyfah5kimvb"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0sflihq2l77xjrza7yjalnxsc7dxzg25rhzcfbd9vmyfah5kimvb"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))))
     (home-page "https://github.com/alexcrichton/filetime")
     (synopsis "Platform-agnostic accessors of timestamps in File metadata")
     (description
     (home-page "https://github.com/alexcrichton/filetime")
     (synopsis "Platform-agnostic accessors of timestamps in File metadata")
     (description
@@ -761,10 +763,11 @@ various timestamps of files in Rust.  This library takes into account
 cross-platform differences in terms of where the timestamps are located, what
 they are called, and how to convert them into a platform-independent
 representation.")
 cross-platform differences in terms of where the timestamps are located, what
 they are called, and how to convert them into a platform-independent
 representation.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-findshlibs
+(define-public rust-findshlibs-0.5
   (package
     (name "rust-findshlibs")
     (version "0.5.0")
   (package
     (name "rust-findshlibs")
     (version "0.5.0")
@@ -772,24 +775,21 @@ representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "findshlibs" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "findshlibs" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static)
-        ("rust-libc" ,rust-libc))))
     (home-page "https://github.com/gimli-rs/findshlibs")
     (synopsis "Find the set of shared libraries loaded in the current process")
     (description
      "Find the set of shared libraries loaded in the current process with a
 cross platform API.")
     (home-page "https://github.com/gimli-rs/findshlibs")
     (synopsis "Find the set of shared libraries loaded in the current process")
     (description
      "Find the set of shared libraries loaded in the current process with a
 cross platform API.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fixedbitset
+(define-public rust-fixedbitset-0.1
   (package
     (name "rust-fixedbitset")
     (version "0.1.9")
   (package
     (name "rust-fixedbitset")
     (version "0.1.9")
@@ -797,7 +797,7 @@ cross platform API.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fixedbitset" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fixedbitset" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))
         (sha256
          (base32
           "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))
@@ -805,10 +805,11 @@ cross platform API.")
     (home-page "https://github.com/petgraph/fixedbitset")
     (synopsis "FixedBitSet is a simple bitset collection")
     (description "FixedBitSet is a simple bitset collection.")
     (home-page "https://github.com/petgraph/fixedbitset")
     (synopsis "FixedBitSet is a simple bitset collection")
     (description "FixedBitSet is a simple bitset collection.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fnv
+(define-public rust-fnv-1.0
   (package
     (name "rust-fnv")
     (version "1.0.6")
   (package
     (name "rust-fnv")
     (version "1.0.6")
@@ -816,7 +817,7 @@ cross platform API.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fnv" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fnv" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
         (sha256
          (base32
           "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
@@ -825,10 +826,11 @@ cross platform API.")
     (synopsis "implementation of the Fowler-Noll-Vo hash function")
     (description "The @code{fnv} hash function is a custom @code{Hasher}
 implementation that is more efficient for smaller hash keys.")
     (synopsis "implementation of the Fowler-Noll-Vo hash function")
     (description "The @code{fnv} hash function is a custom @code{Hasher}
 implementation that is more efficient for smaller hash keys.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-foreign-types-shared
+(define-public rust-foreign-types-shared-0.2
   (package
     (name "rust-foreign-types-shared")
     (version "0.2.0")
   (package
     (name "rust-foreign-types-shared")
     (version "0.2.0")
@@ -836,7 +838,7 @@ implementation that is more efficient for smaller hash keys.")
       (origin
         (method url-fetch)
         (uri (crate-uri "foreign-types-shared" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "foreign-types-shared" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))
         (sha256
          (base32
           "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))
@@ -845,10 +847,11 @@ implementation that is more efficient for smaller hash keys.")
     (synopsis "An internal crate used by foreign-types")
     (description
      "An internal crate used by foreign-types.")
     (synopsis "An internal crate used by foreign-types")
     (description
      "An internal crate used by foreign-types.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-fs-extra
+(define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
     (version "1.1.0")
   (package
     (name "rust-fs-extra")
     (version "1.1.0")
@@ -856,7 +859,7 @@ implementation that is more efficient for smaller hash keys.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fs_extra" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fs_extra" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
         (sha256
          (base32
           "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
@@ -866,9 +869,10 @@ implementation that is more efficient for smaller hash keys.")
     (description "Expanding opportunities standard library @code{std::fs} and
 @code{std::io}.  Recursively copy folders with recept information about
 process and much more.")
     (description "Expanding opportunities standard library @code{std::fs} and
 @code{std::io}.  Recursively copy folders with recept information about
 process and much more.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-fuchsia-cprng
+(define-public rust-fuchsia-cprng-0.1
   (package
     (name "rust-fuchsia-cprng")
     (version "0.1.1")
   (package
     (name "rust-fuchsia-cprng")
     (version "0.1.1")
@@ -876,20 +880,19 @@ process and much more.")
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-cprng" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-cprng" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f)) ; tests require zircon
     (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
     (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
     (description "Rust crate for the Fuchsia cryptographically secure
 pseudorandom number generator")
     (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
     (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
     (description "Rust crate for the Fuchsia cryptographically secure
 pseudorandom number generator")
+    (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
     (license license:bsd-3)))
 
-(define-public rust-fuchsia-zircon
+(define-public rust-fuchsia-zircon-0.3
   (package
     (name "rust-fuchsia-zircon")
     (version "0.3.3")
   (package
     (name "rust-fuchsia-zircon")
     (version "0.3.3")
@@ -897,22 +900,18 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-zircon" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-zircon" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags)
-        ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys))
-       #:tests? #f)) ; tests require zircon
     (home-page "https://fuchsia.googlesource.com/garnet/")
     (synopsis "Rust bindings for the Zircon kernel")
     (description "Rust bindings for the Zircon kernel.")
     (home-page "https://fuchsia.googlesource.com/garnet/")
     (synopsis "Rust bindings for the Zircon kernel")
     (description "Rust bindings for the Zircon kernel.")
+    (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
     (license license:bsd-3)))
 
-(define-public rust-fuchsia-zircon-sys
+(define-public rust-fuchsia-zircon-sys-0.3
   (package
     (name "rust-fuchsia-zircon-sys")
     (version "0.3.3")
   (package
     (name "rust-fuchsia-zircon-sys")
     (version "0.3.3")
@@ -920,19 +919,18 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-zircon-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "fuchsia-zircon-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f)) ; tests require zircon
     (home-page "https://fuchsia.googlesource.com/garnet/")
     (synopsis "Low-level Rust bindings for the Zircon kernel")
     (description "Low-level Rust bindings for the Zircon kernel.")
     (home-page "https://fuchsia.googlesource.com/garnet/")
     (synopsis "Low-level Rust bindings for the Zircon kernel")
     (description "Low-level Rust bindings for the Zircon kernel.")
+    (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
     (license license:bsd-3)))
 
-(define-public rust-futures
+(define-public rust-futures-0.1
   (package
     (name "rust-futures")
     (version "0.1.28")
   (package
     (name "rust-futures")
     (version "0.1.28")
@@ -940,7 +938,7 @@ pseudorandom number generator")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "futures" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25"))))
         (sha256
          (base32
           "0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25"))))
@@ -949,10 +947,32 @@ pseudorandom number generator")
     (synopsis "Implementation of zero-cost futures in Rust")
     (description "An implementation of @code{futures} and @code{streams}
 featuring zero allocations, composability, and iterator-like interfaces.")
     (synopsis "Implementation of zero-cost futures in Rust")
     (description "An implementation of @code{futures} and @code{streams}
 featuring zero allocations, composability, and iterator-like interfaces.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-futures-core-preview-0.3
+  (package
+    (name "rust-futures-core-preview")
+    (version "0.3.0-alpha.17")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "futures-core-preview" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1xaq8m609k6cz8xydwhwp8xxyxigabcw1w9ngycfy0bnkg7iq52b"))))
+    (build-system cargo-build-system)
+    (home-page "https://rust-lang-nursery.github.io/futures-rs/")
+    (synopsis "Core traits and types in for the @code{futures} library.")
+    (description "This crate provides the core traits and types in for the
+@code{futures} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-futures-cpupool
+(define-public rust-futures-cpupool-0.1
   (package
     (name "rust-futures-cpupool")
     (version "0.1.8")
   (package
     (name "rust-futures-cpupool")
     (version "0.1.8")
@@ -960,24 +980,21 @@ featuring zero allocations, composability, and iterator-like interfaces.")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-cpupool" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-cpupool" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-futures" ,rust-futures)
-        ("rust-num-cpus" ,rust-num-cpus))))
     (home-page "https://github.com/rust-lang-nursery/futures-rs")
     (synopsis "Implementation of thread pools which hand out futures")
     (description
      "An implementation of thread pools which hand out futures to the results of
 the computation on the threads themselves.")
     (home-page "https://github.com/rust-lang-nursery/futures-rs")
     (synopsis "Implementation of thread pools which hand out futures")
     (description
      "An implementation of thread pools which hand out futures to the results of
 the computation on the threads themselves.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-futures-io-preview
+(define-public rust-futures-io-preview-0.3
   (package
     (name "rust-futures-io-preview")
     (version "0.3.0-alpha.17")
   (package
     (name "rust-futures-io-preview")
     (version "0.3.0-alpha.17")
@@ -985,7 +1002,7 @@ the computation on the threads themselves.")
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-io-preview" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "futures-io-preview" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8"))))
         (sha256
          (base32
           "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8"))))
@@ -994,50 +1011,57 @@ the computation on the threads themselves.")
     (synopsis "Async read and write traits for the futures library")
     (description "This crate provides the @code{AsyncRead} and
 @code{AsyncWrite} traits for the @code{futures-rs} library.")
     (synopsis "Async read and write traits for the futures library")
     (description "This crate provides the @code{AsyncRead} and
 @code{AsyncWrite} traits for the @code{futures-rs} library.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-futures-sink-preview-0.3
+  (package
+    (name "rust-futures-sink-preview")
+    (version "0.3.0-alpha.17")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "futures-sink-preview" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1r4d0gy73hdxkh5g1lrhl1kjnwp6mywjgcj70v0z78b921da42a3"))))
+    (build-system cargo-build-system)
+    (home-page "https://rust-lang-nursery.github.io/futures-rs/")
+    (synopsis  "Asynchronous `Sink` trait for the futures-rs library")
+    (description
+     "This package provides the asynchronous @code{Sink} trait for the
+futures-rs library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-gcc
+(define-public rust-gcc-0.3
   (package
   (package
-    (inherit rust-cc)
+    (inherit rust-cc-1.0)
     (name "rust-gcc")
     (version "0.3.55")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "gcc" version))
     (name "rust-gcc")
     (version "0.3.55")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "gcc" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg"))))
     (build-system cargo-build-system)
-    (arguments
-     `(;#:cargo-inputs
-       ;(("rust-rayon" ,rust-rayon))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-optional-deps
-           (lambda _
-             (substitute* "Cargo.toml.orig"
-               ((".*optional.*") "\n")
-               ((".*features.*") "")
-               ((".*parallel.*") ""))
-             (delete-file "Cargo.toml")
-             (copy-file "Cargo.toml.orig" "Cargo.toml")
-             #t)))
-       #:tests? #f))
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Library to compile C/C++ code into a Rust library/application")
     (description
      "This package provides a build-time dependency for Cargo build scripts to
 assist in invoking the native C compiler to compile native C code into a static
 archive to be linked into Rustcode.")
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Library to compile C/C++ code into a Rust library/application")
     (description
      "This package provides a build-time dependency for Cargo build scripts to
 assist in invoking the native C compiler to compile native C code into a static
 archive to be linked into Rustcode.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-getopts
+(define-public rust-getopts-0.2
   (package
     (name "rust-getopts")
     (version "0.2.17")
   (package
     (name "rust-getopts")
     (version "0.2.17")
@@ -1045,21 +1069,19 @@ archive to be linked into Rustcode.")
       (origin
         (method url-fetch)
         (uri (crate-uri "getopts" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "getopts" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "018yhq97zgcrcxwhj3pxh31h83704sgaiijdnpl0r1ir366c005r"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "018yhq97zgcrcxwhj3pxh31h83704sgaiijdnpl0r1ir366c005r"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-log" ,rust-log))))
     (home-page "https://github.com/rust-lang-nursery/getopts")
     (synopsis "Rust library for option parsing for CLI utilities")
     (description "This library provides getopts-like option parsing.")
     (home-page "https://github.com/rust-lang-nursery/getopts")
     (synopsis "Rust library for option parsing for CLI utilities")
     (description "This library provides getopts-like option parsing.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-glob
+(define-public rust-glob-0.3
   (package
     (name "rust-glob")
     (version "0.3.0")
   (package
     (name "rust-glob")
     (version "0.3.0")
@@ -1067,56 +1089,35 @@ archive to be linked into Rustcode.")
       (origin
         (method url-fetch)
         (uri (crate-uri "glob" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "glob" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           ;; This test assumes /root exists but is unreadable by the user.
-           (lambda _
-             (substitute* "src/lib.rs"
-               (("cfg\\(all\\(unix,.*") "cfg(windows)]\n"))
-             #t)))))
     (home-page "https://github.com/rust-lang-nursery/glob")
     (synopsis "Match file paths against Unix shell style patterns")
     (description
      "This package provides support for matching file paths against Unix
 shell style patterns.")
     (home-page "https://github.com/rust-lang-nursery/glob")
     (synopsis "Match file paths against Unix shell style patterns")
     (description
      "This package provides support for matching file paths against Unix
 shell style patterns.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-glob-0.2
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-glob-0.2
   (package
-    (inherit rust-glob)
+    (inherit rust-glob-0.3)
     (name "rust-glob")
     (version "0.2.11")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "glob" version))
     (name "rust-glob")
     (version "0.2.11")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "glob" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           ;; This test assumes /root exists but is unreadable by the user.
-           (lambda _
-             (substitute* "src/lib.rs"
-               (("cfg\\(unix") "cfg(windows"))
-             #t)))))))
-
-(define-public rust-heapsize
+          "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))))
+
+(define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
     (version "0.4.2")
   (package
     (name "rust-heapsize")
     (version "0.4.2")
@@ -1124,43 +1125,36 @@ shell style patterns.")
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-winapi" ,rust-winapi))
-       ;; Tests assume rust is built with jemalloc.
-       ;; https://github.com/servo/heapsize/issues/74
-       #:cargo-test-flags '("--features" "flexible-tests")))
     (home-page "https://github.com/servo/heapsize")
     (synopsis "Measure the total runtime size of an object on the heap")
     (description
      "Infrastructure for measuring the total runtime size of an object on the
 heap.")
     (home-page "https://github.com/servo/heapsize")
     (synopsis "Measure the total runtime size of an object on the heap")
     (description
      "Infrastructure for measuring the total runtime size of an object on the
 heap.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-heapsize-0.3
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-heapsize-0.3
   (package
-    (inherit rust-heapsize)
+    (inherit rust-heapsize-0.4)
     (name "rust-heapsize")
     (version "0.3.9")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize" version))
     (name "rust-heapsize")
     (version "0.3.9")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m"))))
-    (arguments
-     `(#:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys))
-       #:tests? #f)))) ;; No flexible-tests feature flags on this release.
+          "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m"))))))
 
 ;; This package makes use of removed features
 
 ;; This package makes use of removed features
-(define-public rust-heapsize-plugin
+(define-public rust-heapsize-plugin-0.1
   (package
     (name "rust-heapsize-plugin")
     (version "0.1.6")
   (package
     (name "rust-heapsize-plugin")
     (version "0.1.6")
@@ -1168,20 +1162,11 @@ heap.")
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize_plugin" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "heapsize_plugin" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1i72isf699q9jl167g2kg4xd6h3cd05rc79zaph58aqjy0g0m9y9"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1i72isf699q9jl167g2kg4xd6h3cd05rc79zaph58aqjy0g0m9y9"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs (("rust-heapsize" ,rust-heapsize-0.3))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               (("path = \"..\", ") ""))
-             #t)))))
     (home-page "https://github.com/servo/heapsize")
     (synopsis "Measure runtime size of an object on the heap")
     (description
     (home-page "https://github.com/servo/heapsize")
     (synopsis "Measure runtime size of an object on the heap")
     (description
@@ -1190,7 +1175,7 @@ total runtime size of an object on the heap")
     (properties `((hidden? . #t)))
     (license license:mpl2.0)))
 
     (properties `((hidden? . #t)))
     (license license:mpl2.0)))
 
-(define-public rust-hex
+(define-public rust-hex-0.3
   (package
     (name "rust-hex")
     (version "0.3.2")
   (package
     (name "rust-hex")
     (version "0.3.2")
@@ -1198,7 +1183,7 @@ total runtime size of an object on the heap")
       (origin
         (method url-fetch)
         (uri (crate-uri "hex" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "hex" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))
         (sha256
          (base32
           "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))
@@ -1207,10 +1192,11 @@ total runtime size of an object on the heap")
     (synopsis "Encode and decode data to/from hexadecimals")
     (description "This crate allows for encoding and decoding data into/from
 hexadecimal representation.")
     (synopsis "Encode and decode data to/from hexadecimals")
     (description "This crate allows for encoding and decoding data into/from
 hexadecimal representation.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-hostname
+(define-public rust-hostname-0.1
   (package
     (name "rust-hostname")
     (version "0.1.5")
   (package
     (name "rust-hostname")
     (version "0.1.5")
@@ -1218,22 +1204,19 @@ hexadecimal representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "hostname" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "hostname" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winutil" ,rust-winutil))))
     (home-page "https://github.com/fengcen/hostname")
     (synopsis "Get hostname for Rust")
     (description
      "Get hostname for Rust.")
     (home-page "https://github.com/fengcen/hostname")
     (synopsis "Get hostname for Rust")
     (description
      "Get hostname for Rust.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-iovec
+(define-public rust-iovec-0.1
   (package
     (name "rust-iovec")
     (version "0.1.2")
   (package
     (name "rust-iovec")
     (version "0.1.2")
@@ -1241,23 +1224,20 @@ hexadecimal representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "iovec" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "iovec" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi-0.2))))
     (home-page "https://github.com/carllerche/iovec")
     (synopsis "Portable buffer type for scatter/gather I/O operations")
     (description
      "Portable buffer type for scatter/gather I/O operations.")
     (home-page "https://github.com/carllerche/iovec")
     (synopsis "Portable buffer type for scatter/gather I/O operations")
     (description
      "Portable buffer type for scatter/gather I/O operations.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-itoa
+(define-public rust-itoa-0.4
   (package
     (name "rust-itoa")
     (version "0.4.4")
   (package
     (name "rust-itoa")
     (version "0.4.4")
@@ -1265,7 +1245,7 @@ hexadecimal representation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "itoa" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "itoa" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
         (sha256
          (base32
           "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
@@ -1274,24 +1254,25 @@ hexadecimal representation.")
     (synopsis "Fast functions for printing integer primitives")
     (description "This crate provides fast functions for printing integer
 primitives to an @code{io::Write}.")
     (synopsis "Fast functions for printing integer primitives")
     (description "This crate provides fast functions for printing integer
 primitives to an @code{io::Write}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-itoa-0.1
  (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-itoa-0.1
  (package
-   (inherit rust-itoa)
+   (inherit rust-itoa-0.4)
    (name "rust-itoa")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itoa" version))
    (name "rust-itoa")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "itoa" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
          "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f"))))))
 
        (sha256
         (base32
          "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f"))))))
 
-(define-public rust-jemalloc-sys
+(define-public rust-jemalloc-sys-0.3
   (package
     (name "rust-jemalloc-sys")
     (version "0.3.2")
   (package
     (name "rust-jemalloc-sys")
     (version "0.3.2")
@@ -1299,34 +1280,31 @@ primitives to an @code{io::Write}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "jemalloc-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "jemalloc-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-cc" ,rust-cc)
-        ("rust-fs-extra" ,rust-fs-extra))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-jemalloc
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((jemalloc (assoc-ref inputs "jemalloc")))
-               (delete-file-recursively "jemalloc")
-               (setenv "JEMALLOC_OVERRIDE"
-                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
-             #t)))))
-    (inputs
-     `(("jemalloc" ,jemalloc)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'override-jemalloc
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((jemalloc (assoc-ref inputs "jemalloc")))
+    ;           (delete-file-recursively "jemalloc")
+    ;           (setenv "JEMALLOC_OVERRIDE"
+    ;                   (string-append jemalloc "/lib/libjemalloc_pic.a")))
+    ;         #t)))))
+    ;(inputs
+    ; `(("jemalloc" ,jemalloc)))
     (home-page "https://github.com/gnzlbg/jemallocator")
     (synopsis "Rust FFI bindings to jemalloc")
     (description "This package provides Rust FFI bindings to jemalloc.")
     (home-page "https://github.com/gnzlbg/jemallocator")
     (synopsis "Rust FFI bindings to jemalloc")
     (description "This package provides Rust FFI bindings to jemalloc.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-json
+(define-public rust-json-0.11
   (package
     (name "rust-json")
     (version "0.11.14")
   (package
     (name "rust-json")
     (version "0.11.14")
@@ -1334,7 +1312,7 @@ primitives to an @code{io::Write}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "json" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "json" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1"))))
         (sha256
          (base32
           "1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1"))))
@@ -1343,10 +1321,11 @@ primitives to an @code{io::Write}.")
     (synopsis "JSON implementation in Rust")
     (description "This crate provides a JSON implementation in Rust, reducing
 friction with idiomatic Rust structs to ease interopability.")
     (synopsis "JSON implementation in Rust")
     (description "This crate provides a JSON implementation in Rust, reducing
 friction with idiomatic Rust structs to ease interopability.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-kernel32-sys
+(define-public rust-kernel32-sys-0.2
   (package
     (name "rust-kernel32-sys")
     (version "0.2.2")
   (package
     (name "rust-kernel32-sys")
     (version "0.2.2")
@@ -1354,29 +1333,19 @@ friction with idiomatic Rust structs to ease interopability.")
       (origin
         (method url-fetch)
         (uri (crate-uri "kernel32-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "kernel32-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2)
-        ("rust-winapi-build" ,rust-winapi-build))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.* }") "}\n"))
-             #t)))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Function definitions for the Windows API library kernel32")
     (description "Contains function definitions for the Windows API library
 kernel32.")
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Function definitions for the Windows API library kernel32")
     (description "Contains function definitions for the Windows API library
 kernel32.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-language-tags
+(define-public rust-language-tags-0.2
   (package
     (name "rust-language-tags")
     (version "0.2.2")
   (package
     (name "rust-language-tags")
     (version "0.2.2")
@@ -1384,16 +1353,11 @@ kernel32.")
       (origin
         (method url-fetch)
         (uri (crate-uri "language-tags" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "language-tags" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-heapsize" ,rust-heapsize-0.3))
-       #:cargo-development-inputs
-       (("rust-heapsize-plugin" ,rust-heapsize-plugin))))
     (home-page "https://github.com/pyfisch/rust-language-tags")
     (synopsis "Language tags for Rust")
     (description
     (home-page "https://github.com/pyfisch/rust-language-tags")
     (synopsis "Language tags for Rust")
     (description
@@ -1402,9 +1366,10 @@ script, countries and other regions.  They are commonly used in HTML and HTTP
 @code{Content-Language} and @code{Accept-Language} header fields.  This package
 currently supports parsing (fully conformant parser), formatting and comparing
 language tags.")
 @code{Content-Language} and @code{Accept-Language} header fields.  This package
 currently supports parsing (fully conformant parser), formatting and comparing
 language tags.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-lazy-static
+(define-public rust-lazy-static-1.3
   (package
     (name "rust-lazy-static")
     (version "1.3.0")
   (package
     (name "rust-lazy-static")
     (version "1.3.0")
@@ -1412,13 +1377,11 @@ language tags.")
       (origin
         (method url-fetch)
         (uri (crate-uri "lazy_static" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "lazy_static" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-spin" ,rust-spin))))
     (home-page  "https://github.com/rust-lang-nursery/lazy-static.rs")
     (synopsis "Macro for declaring lazily evaluated statics in Rust")
     (description
     (home-page  "https://github.com/rust-lang-nursery/lazy-static.rs")
     (synopsis "Macro for declaring lazily evaluated statics in Rust")
     (description
@@ -1427,26 +1390,23 @@ Rust.  Using this macro, it is possible to have @code{static}s that require code
 to be executed at runtime in order to be initialized.  This includes anything
 requiring heap allocations, like vectors or hash maps, as well as anything that
 requires non-const function calls to be computed.")
 to be executed at runtime in order to be initialized.  This includes anything
 requiring heap allocations, like vectors or hash maps, as well as anything that
 requires non-const function calls to be computed.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-libc
+(define-public rust-libc-0.2
   (package
     (name "rust-libc")
   (package
     (name "rust-libc")
-    (version "0.2.62")
+    (version "0.2.65")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libc" version))
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "libc" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
        (sha256
         (base32
-         "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l"))))
+         "1s14bjxnz6haw0gr1h3j4sr7s2s407hpgm8dxhwnl7yzgxia0c8s"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core))))
     (home-page "https://github.com/rust-lang/libc")
     (synopsis "Raw FFI bindings to platform libraries like libc")
     (description
     (home-page "https://github.com/rust-lang/libc")
     (synopsis "Raw FFI bindings to platform libraries like libc")
     (description
@@ -1459,26 +1419,76 @@ This crate exports all underlying platform types, functions, and
 constants under the crate root, so all items are accessible as
 @samp{libc::foo}.  The types and values of all the exported APIs match
 the platform that libc is compiled for.")
 constants under the crate root, so all items are accessible as
 @samp{libc::foo}.  The types and values of all the exported APIs match
 the platform that libc is compiled for.")
+    (properties '((hidden? . #t)))
     (license (list license:expat
                    license:asl2.0))))
 
     (license (list license:expat
                    license:asl2.0))))
 
-(define-public rust-libloading
+(define-public rust-libgit2-sys-0.8
   (package
   (package
-    (name "rust-libloading")
-    (version "0.5.2")
+    (name "rust-libgit2-sys")
+    (version "0.8.2")
     (source
       (origin
         (method url-fetch)
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "libloading" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "libgit2-sys" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0y2mibmx7wy91s2kmb2gfb29mrqlqaxpy5wcwr8s1lwws7b9w5sc")) ))
+    (build-system cargo-build-system)
+    ;(arguments
+    ; `(#:phases
+    ;  (modify-phases %standard-phases
+    ;    (add-after 'unpack 'find-openssl
+    ;      (lambda* (#:key inputs #:allow-other-keys)
+    ;        (let ((openssl (assoc-ref inputs "openssl")))
+    ;          (setenv "OPENSSL_DIR" openssl))
+    ;        (delete-file-recursively "libgit2")
+    ;        (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
+    ;        (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+    ;        #t)))))
+    ;(native-inputs
+    ; `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("libgit2" ,libgit2)
+    ;   ("openssl" ,openssl)
+    ;   ("zlib" ,zlib)))
+    (home-page "https://github.com/rust-lang/git2-rs")
+    (synopsis "Native bindings to the libgit2 library")
+    (description
+     "This package provides native rust bindings to the @code{libgit2} library.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-libgit2-sys-0.7
+  (package
+    (inherit rust-libgit2-sys-0.8)
+    (name "rust-libgit2-sys")
+    (version "0.7.11")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "libgit2-sys" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28"))))
+    (build-system cargo-build-system)))
+
+(define-public rust-libloading-0.5
+  (package
+    (name "rust-libloading")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "libloading" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0lyply8rcqc8agajzxs7bq6ivba9dnn1i68kgb9z2flnfjh13cgj"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0lyply8rcqc8agajzxs7bq6ivba9dnn1i68kgb9z2flnfjh13cgj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/nagisa/rust_libloading/")
     (synopsis "Rust library for loading dynamic libraries")
     (description
     (home-page "https://github.com/nagisa/rust_libloading/")
     (synopsis "Rust library for loading dynamic libraries")
     (description
@@ -1487,9 +1497,48 @@ The most important safety guarantee by this library is prevention of
 dangling-Symbols that may occur after a Library is unloaded.  Using this library
 allows loading dynamic libraries (also known as shared libraries) as well as use
 functions and static variables these libraries contain.")
 dangling-Symbols that may occur after a Library is unloaded.  Using this library
 allows loading dynamic libraries (also known as shared libraries) as well as use
 functions and static variables these libraries contain.")
+    (properties '((hidden? . #t)))
     (license license:isc)))
 
     (license license:isc)))
 
-(define-public rust-lock-api
+(define-public rust-libssh2-sys-0.2
+  (package
+    (name "rust-libssh2-sys")
+    (version "0.2.12")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "libssh2-sys" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1zb6gsw795nq848nk5x2smzpfnn1s15wjlzjnvr8ihlz2l5x2549"))))
+    (build-system cargo-build-system)
+    ;(arguments
+    ; `(#:phases
+    ;  (modify-phases %standard-phases
+    ;    (add-after 'unpack 'find-openssl
+    ;      (lambda* (#:key inputs #:allow-other-keys)
+    ;        (let ((openssl (assoc-ref inputs "openssl")))
+    ;          (setenv "OPENSSL_DIR" openssl))
+    ;        (delete-file-recursively "libssh2")
+    ;        (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+    ;        #t)))))
+    ;(native-inputs
+    ; `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("libssh2" ,libssh2)
+    ;   ("openssl" ,openssl)
+    ;   ("zlib" ,zlib)))
+    (home-page "https://github.com/alexcrichton/ssh2-rs")
+    (synopsis "Native bindings to the libssh2 library")
+    (description
+     "This package provides native rust bindings to the @code{libssh2} library.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+
+(define-public rust-lock-api-0.1
   (package
     (name "rust-lock-api")
     (version "0.1.5")
   (package
     (name "rust-lock-api")
     (version "0.1.5")
@@ -1497,44 +1546,55 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "lock_api" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "lock_api" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0b24q9mh258xa52ap636q1sxz0j5vrnp0hwbbh7ddjka3wwz3sv2"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0b24q9mh258xa52ap636q1sxz0j5vrnp0hwbbh7ddjka3wwz3sv2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-owning-ref" ,rust-owning-ref)
-        ("rust-scopeguard" ,rust-scopeguard-0.3))))
     (home-page "https://github.com/Amanieu/parking_lot")
     (synopsis "Wrappers to create fully-featured Mutex and RwLock types")
     (description
      "This package provides wrappers to create fully-featured @code{Mutex} and
 @code{RwLock} types.  It is compatible with @code{no_std}.")
     (home-page "https://github.com/Amanieu/parking_lot")
     (synopsis "Wrappers to create fully-featured Mutex and RwLock types")
     (description
      "This package provides wrappers to create fully-featured @code{Mutex} and
 @code{RwLock} types.  It is compatible with @code{no_std}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-log
+(define-public rust-log-0.4
   (package
     (name "rust-log")
   (package
     (name "rust-log")
-    (version "0.3.8")
+    (version "0.4.8")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "log" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "log" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))
+          "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (home-page "https://github.com/rust-lang-nursery/log")
-    (synopsis "Lightweight logging")
+    (home-page "https://github.com/rust-lang/log")
+    (synopsis "Lightweight logging facade for Rust")
     (description
     (description
-     "This package provides a lightweight logging facade for Rust")
-    (license (list license:asl2.0
-                   license:expat))))
+     "This package provides a lightweight logging facade for Rust.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
 
 
-(define-public rust-lzma-sys
+(define-public rust-log-0.3
+  (package
+    (inherit rust-log-0.4)
+    (name "rust-log")
+    (version "0.3.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "log" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))))
+
+(define-public rust-lzma-sys-0.1
   (package
     (name "rust-lzma-sys")
     (version "0.1.15")
   (package
     (name "rust-lzma-sys")
     (version "0.1.15")
@@ -1542,35 +1602,32 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "lzma-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "lzma-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "14gyj256yh0wm77jbvmlc39v7lfn0navpfrja4alczarzlc8ir2k"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "14gyj256yh0wm77jbvmlc39v7lfn0navpfrja4alczarzlc8ir2k"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-libc" ,rust-libc)
-        ("rust-pkg-config" ,rust-pkg-config))
-        #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'unbundle-xz
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((xz (assoc-ref inputs "xz")))
-               (delete-file-recursively "xz-5.2"))
-             #t)))))
-    (inputs
-     `(("pkg-config" ,pkg-config)
-       ("xz" ,xz)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'unbundle-xz
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((xz (assoc-ref inputs "xz")))
+    ;           (delete-file-recursively "xz-5.2"))
+    ;         #t)))))
+    ;(inputs
+    ; `(("pkg-config" ,pkg-config)
+    ;   ("xz" ,xz)))
     (home-page "https://github.com/alexcrichton/xz2-rs")
     (synopsis "Bindings to liblzma for lzma and xz stream encoding/decoding")
     (description
      "This package contains the raw bindings to liblzma which contains an
 implementation of LZMA and xz stream encoding/decoding.")
     (home-page "https://github.com/alexcrichton/xz2-rs")
     (synopsis "Bindings to liblzma for lzma and xz stream encoding/decoding")
     (description
      "This package contains the raw bindings to liblzma which contains an
 implementation of LZMA and xz stream encoding/decoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-maplit
+(define-public rust-maplit-1.0
   (package
     (name "rust-maplit")
     (version "1.0.1")
   (package
     (name "rust-maplit")
     (version "1.0.1")
@@ -1578,7 +1635,7 @@ implementation of LZMA and xz stream encoding/decoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "maplit" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "maplit" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8"))))
         (sha256
          (base32
           "0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8"))))
@@ -1587,10 +1644,11 @@ implementation of LZMA and xz stream encoding/decoding.")
     (synopsis "Collection of Map macros")
     (description "This crate provides a collection of @code{literal} macros for
 @code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
     (synopsis "Collection of Map macros")
     (description "This crate provides a collection of @code{literal} macros for
 @code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-matches
+(define-public rust-matches-0.1
   (package
     (name "rust-matches")
     (version "0.1.8")
   (package
     (name "rust-matches")
     (version "0.1.8")
@@ -1598,7 +1656,7 @@ implementation of LZMA and xz stream encoding/decoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "matches" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "matches" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"))))
         (sha256
          (base32
           "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"))))
@@ -1607,9 +1665,10 @@ implementation of LZMA and xz stream encoding/decoding.")
     (synopsis "Macro to evaluate whether an expression matches a pattern.")
     (description "This package provides a macro to evaluate, as a boolean,
 whether an expression matches a pattern.")
     (synopsis "Macro to evaluate whether an expression matches a pattern.")
     (description "This package provides a macro to evaluate, as a boolean,
 whether an expression matches a pattern.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-md5
+(define-public rust-md5-0.6
   (package
     (name "rust-md5")
     (version "0.6.1")
   (package
     (name "rust-md5")
     (version "0.6.1")
@@ -1617,7 +1676,7 @@ whether an expression matches a pattern.")
       (origin
         (method url-fetch)
         (uri (crate-uri "md5" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "md5" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy"))))
         (sha256
          (base32
           "17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy"))))
@@ -1625,10 +1684,11 @@ whether an expression matches a pattern.")
     (home-page "https://github.com/stainless-steel/md5")
     (synopsis "MD5 hash function in Rust")
     (description "The package provides the MD5 hash function.")
     (home-page "https://github.com/stainless-steel/md5")
     (synopsis "MD5 hash function in Rust")
     (description "The package provides the MD5 hash function.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-memmap
+(define-public rust-memmap-0.7
   (package
     (name "rust-memmap")
     (version "0.7.0")
   (package
     (name "rust-memmap")
     (version "0.7.0")
@@ -1636,46 +1696,35 @@ whether an expression matches a pattern.")
       (origin
         (method url-fetch)
         (uri (crate-uri "memmap" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "memmap" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))))
     (home-page "https://github.com/danburkert/memmap-rs")
     (synopsis "Rust library for cross-platform memory mapped IO")
     (description
      "This package provides a cross-platform Rust API for memory-mapped
 file IO.")
     (home-page "https://github.com/danburkert/memmap-rs")
     (synopsis "Rust library for cross-platform memory mapped IO")
     (description
      "This package provides a cross-platform Rust API for memory-mapped
 file IO.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-memmap-0.6
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-memmap-0.6
   (package
-    (inherit rust-memmap)
+    (inherit rust-memmap-0.7)
     (name "rust-memmap")
     (version "0.6.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "memmap" version))
     (name "rust-memmap")
     (version "0.6.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "memmap" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))))))
+          "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))))
 
 
-(define-public rust-mime
+(define-public rust-mime-0.3
   (package
     (name "rust-mime")
     (version "0.3.13")
   (package
     (name "rust-mime")
     (version "0.3.13")
@@ -1683,53 +1732,41 @@ file IO.")
       (origin
         (method url-fetch)
         (uri (crate-uri "mime" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "mime" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-unicase" ,rust-unicase))))
     (home-page "https://github.com/hyperium/mime")
     (synopsis "Strongly Typed Mimes")
     (description
      "Support MIME (HTTP Media Types) as strong types in Rust.")
     (home-page "https://github.com/hyperium/mime")
     (synopsis "Strongly Typed Mimes")
     (description
      "Support MIME (HTTP Media Types) as strong types in Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-miniz-oxide
+(define-public rust-miniz-oxide-0.3
   (package
     (name "rust-miniz-oxide")
   (package
     (name "rust-miniz-oxide")
-    (version "0.3.2")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz_oxide" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz_oxide" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
         (sha256
-         (base32
-          "041s41l5w7z8pkp93pdzn8rngxr93q4wxp034pr0cvc7bgway23i"))))
+         (base32 "1bmanbbcdmssfbgik3fs323g7vljc5wkjz7s61jsbbz2kg0nckrh"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-adler32" ,rust-adler32))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-           (lambda _
-             (substitute* "tests/test.rs"
-               (("../miniz/miniz.c") "Cargo.toml"))
-             #t)))))
     (home-page  "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide")
     (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder")
     (description
      "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder.  Using
 @code{flate2} with the @code{rust_backend} feature provides an easy to use
 streaming API for miniz_oxide.")
     (home-page  "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide")
     (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder")
     (description
      "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder.  Using
 @code{flate2} with the @code{rust_backend} feature provides an easy to use
 streaming API for miniz_oxide.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-miniz-sys
+(define-public rust-miniz-sys-0.1
   (package
     (name "rust-miniz-sys")
     (version "0.1.12")
   (package
     (name "rust-miniz-sys")
     (version "0.1.12")
@@ -1737,23 +1774,20 @@ streaming API for miniz_oxide.")
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "00l2r4anm8g35x0js2zfdnwfbrih9m43vphdpb77c5ga3kjkm7hy"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "00l2r4anm8g35x0js2zfdnwfbrih9m43vphdpb77c5ga3kjkm7hy"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cc" ,rust-cc)
-        ("rust-libc" ,rust-libc))))
     (home-page "https://github.com/alexcrichton/flate2-rs")
     (synopsis "Bindings to the miniz.c library")
     (description
      "This package provides bindings to the @code{miniz.c} library.")
     (home-page "https://github.com/alexcrichton/flate2-rs")
     (synopsis "Bindings to the miniz.c library")
     (description
      "This package provides bindings to the @code{miniz.c} library.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-miow
+(define-public rust-miow-0.3
   (package
     (name "rust-miow")
     (version "0.3.3")
   (package
     (name "rust-miow")
     (version "0.3.3")
@@ -1761,48 +1795,35 @@ streaming API for miniz_oxide.")
       (origin
         (method url-fetch)
         (uri (crate-uri "miow" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "miow" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09ljvx6wg30f2xlv7b7hhpkw7k312n3hjgmrbhwzhz9x03ra0sir"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "09ljvx6wg30f2xlv7b7hhpkw7k312n3hjgmrbhwzhz9x03ra0sir"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-socket2" ,rust-socket2)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand))))
     (home-page "https://github.com/alexcrichton/miow")
     (synopsis "Rust I/O library for Windows")
     (description
      "This package provides a zero overhead I/O library for Windows, focusing on
 IOCP and Async I/O abstractions.")
     (home-page "https://github.com/alexcrichton/miow")
     (synopsis "Rust I/O library for Windows")
     (description
      "This package provides a zero overhead I/O library for Windows, focusing on
 IOCP and Async I/O abstractions.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-miow-0.2
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-miow-0.2
   (package
-    (inherit rust-miow)
+    (inherit rust-miow-0.3)
     (name "rust-miow")
     (version "0.2.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "miow" version))
     (name "rust-miow")
     (version "0.2.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "miow" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys)
-        ("rust-net2" ,rust-net2)
-        ("rust-winapi" ,rust-winapi-0.2)
-        ("rust-ws2-32-sys" ,rust-ws2-32-sys))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3))))))
+          "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc"))))))
 
 
-(define-public rust-modifier
+(define-public rust-modifier-0.1
   (package
     (name "rust-modifier")
     (version "0.1.0")
   (package
     (name "rust-modifier")
     (version "0.1.0")
@@ -1810,7 +1831,7 @@ IOCP and Async I/O abstractions.")
       (origin
         (method url-fetch)
         (uri (crate-uri "modifier" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "modifier" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1"))))
         (sha256
          (base32
           "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1"))))
@@ -1820,9 +1841,10 @@ IOCP and Async I/O abstractions.")
       "Chaining APIs for both self -> Self and &mut self methods.")
     (description
       "Chaining APIs for both self -> Self and &mut self methods.")
       "Chaining APIs for both self -> Self and &mut self methods.")
     (description
       "Chaining APIs for both self -> Self and &mut self methods.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-net2
+(define-public rust-net2-0.2
   (package
     (name "rust-net2")
     (version "0.2.33")
   (package
     (name "rust-net2")
     (version "0.2.33")
@@ -1830,25 +1852,21 @@ IOCP and Async I/O abstractions.")
       (origin
         (method url-fetch)
         (uri (crate-uri "net2" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "net2" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/rust-lang-nursery/net2-rs")
     (synopsis "Extensions to the standard library's networking types")
     (description
      "This library contains extensions to the standard library's networking
 types as proposed in RFC 1158.")
     (home-page "https://github.com/rust-lang-nursery/net2-rs")
     (synopsis "Extensions to the standard library's networking types")
     (description
      "This library contains extensions to the standard library's networking
 types as proposed in RFC 1158.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-netlib-src
+(define-public rust-netlib-src-0.7
   (package
     (name "rust-netlib-src")
     (version "0.7.4")
   (package
     (name "rust-netlib-src")
     (version "0.7.4")
@@ -1856,35 +1874,23 @@ types as proposed in RFC 1158.")
       (origin
         (method url-fetch)
         (uri (crate-uri "netlib-src" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "netlib-src" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "112hwfw1zzdj10h3j213xxqjrq38iygb3nb3ijay65ycmrg819s4"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "112hwfw1zzdj10h3j213xxqjrq38iygb3nb3ijay65ycmrg819s4"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-cmake" ,rust-cmake)
-        ("rust-libc" ,rust-libc))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'use-system-lapack
-           (lambda _
-             (delete-file-recursively "source")
-             (substitute* "Cargo.toml"
-               (("default .*")
-                "default = [\"system\"]\n"))
-             #t)))))
-    (inputs
-     `(("gfortran:lib" ,gfortran "lib")
-       ("lapack" ,lapack)))
+    ;(inputs
+    ; `(("gfortran:lib" ,gfortran "lib")
+    ;   ("lapack" ,lapack)))
     (home-page "https://github.com/blas-lapack-rs/netlib-src")
     (synopsis "Source of BLAS and LAPACK via Netlib")
     (description
      "The package provides a source of BLAS and LAPACK via Netlib.")
     (home-page "https://github.com/blas-lapack-rs/netlib-src")
     (synopsis "Source of BLAS and LAPACK via Netlib")
     (description
      "The package provides a source of BLAS and LAPACK via Netlib.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-libnghttp2-sys
+(define-public rust-libnghttp2-sys-0.1
   (package
     (name "rust-libnghttp2-sys")
     (version "0.1.2")
   (package
     (name "rust-libnghttp2-sys")
     (version "0.1.2")
@@ -1892,26 +1898,22 @@ types as proposed in RFC 1158.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libnghttp2-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "libnghttp2-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc))))
-    (inputs
-     `(("nghttp2" ,nghttp2)))
+    ;(inputs
+    ; `(("nghttp2" ,nghttp2)))
     (home-page "https://github.com/alexcrichton/nghttp2-rs")
     (synopsis "FFI bindings for libnghttp2 (nghttp2)")
     (description
      "This package provides FFI bindings for libnghttp2 (nghttp2).")
     (home-page "https://github.com/alexcrichton/nghttp2-rs")
     (synopsis "FFI bindings for libnghttp2 (nghttp2)")
     (description
      "This package provides FFI bindings for libnghttp2 (nghttp2).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-libz-sys
+(define-public rust-libz-sys-1.0
   (package
     (name "rust-libz-sys")
     (version "1.0.25")
   (package
     (name "rust-libz-sys")
     (version "1.0.25")
@@ -1919,35 +1921,31 @@ types as proposed in RFC 1158.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libz-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "libz-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-cc" ,rust-cc)
-        ("rust-pkg-config" ,rust-pkg-config)
-        ("rust-vcpkg" ,rust-vcpkg))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'delete-vendored-zlib
-           (lambda _
-             (delete-file-recursively "src/zlib")
-             #t)))))
-    (inputs
-     `(("pkg-config" ,pkg-config)
-       ("zlib" ,zlib)))
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'delete-vendored-zlib
+    ;       (lambda _
+    ;         (delete-file-recursively "src/zlib")
+    ;         #t)))))
+    ;(inputs
+    ; `(("pkg-config" ,pkg-config)
+    ;   ("zlib" ,zlib)))
     (home-page "https://github.com/rust-lang/libz-sys")
     (synopsis "Bindings to the system libz library")
     (description
      "This package provides bindings to the system @code{libz} library (also
 known as zlib).")
     (home-page "https://github.com/rust-lang/libz-sys")
     (synopsis "Bindings to the system libz library")
     (description
      "This package provides bindings to the system @code{libz} library (also
 known as zlib).")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-nodrop
+(define-public rust-nodrop-0.1
   (package
     (name "rust-nodrop")
     (version "0.1.13")
   (package
     (name "rust-nodrop")
     (version "0.1.13")
@@ -1955,24 +1953,22 @@ known as zlib).")
       (origin
         (method url-fetch)
         (uri (crate-uri "nodrop" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "nodrop" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-nodrop-union" ,rust-nodrop-union))))
     (home-page "https://github.com/bluss/arrayvec")
     (synopsis "Wrapper type to inhibit drop (destructor)")
     (description "This package provides a wrapper type to inhibit drop
 (destructor).  Use @code{std::mem::ManuallyDrop} instead!")
     (home-page "https://github.com/bluss/arrayvec")
     (synopsis "Wrapper type to inhibit drop (destructor)")
     (description "This package provides a wrapper type to inhibit drop
 (destructor).  Use @code{std::mem::ManuallyDrop} instead!")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
     (license (list license:asl2.0
                    license:expat))))
 
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
-(define-public rust-nodrop-union
+(define-public rust-nodrop-union-0.1
   (package
     (name "rust-nodrop-union")
     (version "0.1.10")
   (package
     (name "rust-nodrop-union")
     (version "0.1.10")
@@ -1980,7 +1976,7 @@ known as zlib).")
       (origin
         (method url-fetch)
         (uri (crate-uri "nodrop-union" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "nodrop-union" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7"))))
         (sha256
          (base32
           "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7"))))
@@ -1994,7 +1990,7 @@ implementation (which is unstable / requires nightly).")
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-cpus
+(define-public rust-num-cpus-1.10
   (package
     (name "rust-num-cpus")
     (version "1.10.1")
   (package
     (name "rust-num-cpus")
     (version "1.10.1")
@@ -2002,24 +1998,20 @@ implementation (which is unstable / requires nightly).")
       (origin
         (method url-fetch)
         (uri (crate-uri "num_cpus" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "num_cpus" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment))))
     (home-page "https://github.com/seanmonstar/num_cpus")
     (synopsis "Get the number of CPUs on a machine")
     (description
      "Get the number of CPUs on a machine.")
     (home-page "https://github.com/seanmonstar/num_cpus")
     (synopsis "Get the number of CPUs on a machine")
     (description
      "Get the number of CPUs on a machine.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-integer
+(define-public rust-num-integer-0.1
   (package
     (name "rust-num-integer")
     (version "0.1.41")
   (package
     (name "rust-num-integer")
     (version "0.1.41")
@@ -2028,23 +2020,20 @@ implementation (which is unstable / requires nightly).")
        (method url-fetch)
        (uri (crate-uri "num-integer" version))
        (file-name
        (method url-fetch)
        (uri (crate-uri "num-integer" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq"))))
     (build-system cargo-build-system)
        (sha256
         (base32
          "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-autocfg" ,rust-autocfg)
-        ("rust-num-traits" ,rust-num-traits))))
     (home-page "https://github.com/rust-num/num-integer")
     (synopsis "Integer traits and functions")
     (description "Integer traits and functions.")
     (home-page "https://github.com/rust-num/num-integer")
     (synopsis "Integer traits and functions")
     (description "Integer traits and functions.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0
                    license:expat))))
 
     ;; Dual licensed.
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-iter
+(define-public rust-num-iter-0.1
   (package
     (name "rust-num-iter")
     (version "0.1.39")
   (package
     (name "rust-num-iter")
     (version "0.1.39")
@@ -2052,25 +2041,20 @@ implementation (which is unstable / requires nightly).")
       (origin
         (method url-fetch)
         (uri (crate-uri "num-iter" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "num-iter" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-integer" ,rust-num-integer)
-        ("rust-num-traits" ,rust-num-traits))
-       #:cargo-development-inputs
-       (("rust-autocfg" ,rust-autocfg))))
     (home-page "https://github.com/rust-num/num-iter")
     (synopsis "External iterators for generic mathematics")
     (description
      "This crate provides external iterators for generic mathematics.")
     (home-page "https://github.com/rust-num/num-iter")
     (synopsis "External iterators for generic mathematics")
     (description
      "This crate provides external iterators for generic mathematics.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-num-traits
+(define-public rust-num-traits-0.2
   (package
     (name "rust-num-traits")
     (version "0.2.8")
   (package
     (name "rust-num-traits")
     (version "0.2.8")
@@ -2079,40 +2063,55 @@ implementation (which is unstable / requires nightly).")
        (method url-fetch)
        (uri (crate-uri "num-traits" version))
        (file-name
        (method url-fetch)
        (uri (crate-uri "num-traits" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
     (build-system cargo-build-system)
        (sha256
         (base32
          "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-autocfg" ,rust-autocfg))))
     (home-page "https://github.com/rust-num/num-traits")
     (synopsis "Numeric traits for generic mathematics")
     (description "Numeric traits for generic mathematics.")
     (home-page "https://github.com/rust-num/num-traits")
     (synopsis "Numeric traits for generic mathematics")
     (description "Numeric traits for generic mathematics.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-num-traits-0.1
   (package
     ;; Dual licensed.
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-num-traits-0.1
   (package
-    (inherit rust-num-traits)
+    (inherit rust-num-traits-0.2)
     (name "rust-num-traits")
     (version "0.1.43")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "num-traits" version))
     (name "rust-num-traits")
     (version "0.1.43")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "num-traits" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
         (sha256
          (base32
           "0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
+    (build-system cargo-build-system)))
+
+(define-public rust-numtoa-0.1
+  (package
+    (name "rust-numtoa")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "numtoa" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vs9rhggqbql1p26x8nkha1j06wawwgb2jp5fs88b5gi7prvvy5q"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-traits" ,rust-num-traits))))))
+    (home-page "https://gitlab.com/mmstick/numtoa")
+    (synopsis "Convert numbers into stack-allocated byte arrays")
+    (description
+     "This package can convert numbers into stack-allocated byte arrays.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
 
 
-(define-public rust-openssl-probe
+(define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
     (version "0.1.2")
   (package
     (name "rust-openssl-probe")
     (version "0.1.2")
@@ -2120,7 +2119,7 @@ implementation (which is unstable / requires nightly).")
       (origin
         (method url-fetch)
         (uri (crate-uri "openssl-probe" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "openssl-probe" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp"))))
         (sha256
          (base32
           "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp"))))
@@ -2130,10 +2129,62 @@ implementation (which is unstable / requires nightly).")
     (description
      "This package provides a tool to find SSL certificate locations on the
 system for OpenSSL.")
     (description
      "This package provides a tool to find SSL certificate locations on the
 system for OpenSSL.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-openssl-src-111
+  (package
+    (name "rust-openssl-src")
+    (version "111.6.0+1.1.1d")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "openssl-src" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "172xh95hp7aygahah1940kg1dnx60c5m80cwj5hgi8x7x0fxmhmr"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/openssl-src-rs")
+    (synopsis "Source of OpenSSL for rust crates")
+    (description
+     "This package contains the source of OpenSSL and logic to build it.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-owning-ref
+(define-public rust-openssl-sys-0.9
+  (package
+    (name "rust-openssl-sys")
+    (version "0.9.50")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "openssl-sys" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32 "1dn3capgiz77s6rpmc2sf8gadwkmhwgfd6mw4rcnnm9jp36dqhic"))))
+    (build-system cargo-build-system)
+    ;(arguments
+    ; `(#:phases
+    ;   (modify-phases %standard-phases
+    ;     (add-after 'unpack 'find-openssl
+    ;       (lambda* (#:key inputs #:allow-other-keys)
+    ;         (let ((openssl (assoc-ref inputs "openssl")))
+    ;           (setenv "OPENSSL_DIR" openssl))
+    ;         #t)))))
+    ;(inputs
+    ; `(("openssl" ,openssl)
+    ;   ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/sfackler/rust-openssl")
+    (synopsis "FFI bindings to OpenSSL")
+    (description
+     "This package provides FFI bindings to OpenSSL for use in rust crates.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
+(define-public rust-owning-ref-0.4
   (package
     (name "rust-owning-ref")
     (version "0.4.0")
   (package
     (name "rust-owning-ref")
     (version "0.4.0")
@@ -2141,23 +2192,21 @@ system for OpenSSL.")
       (origin
         (method url-fetch)
         (uri (crate-uri "owning_ref" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "owning_ref" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-stable-deref-trait" ,rust-stable-deref-trait))))
     (home-page "https://github.com/Kimundi/owning-ref-rs")
     (synopsis "Create references that carry their owner with them")
     (description
      "This package provides a library for creating references that carry their
 owner with them.  This can sometimes be useful because Rust borrowing rules
 normally prevent moving a type that has been borrowed from.")
     (home-page "https://github.com/Kimundi/owning-ref-rs")
     (synopsis "Create references that carry their owner with them")
     (description
      "This package provides a library for creating references that carry their
 owner with them.  This can sometimes be useful because Rust borrowing rules
 normally prevent moving a type that has been borrowed from.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-parity-wasm
+(define-public rust-parity-wasm-0.40
   (package
     (name "rust-parity-wasm")
     (version "0.40.1")
   (package
     (name "rust-parity-wasm")
     (version "0.40.1")
@@ -2165,24 +2214,21 @@ normally prevent moving a type that has been borrowed from.")
       (origin
         (method url-fetch)
         (uri (crate-uri "parity-wasm" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "parity-wasm" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1p84f0k36q05j18jy66n122lyali794cj78hbxgy9wj6si84plqd"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1p84f0k36q05j18jy66n122lyali794cj78hbxgy9wj6si84plqd"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-time" ,rust-time))
-       #:tests? #f)) ; Test files are not included in release.
     (home-page "https://github.com/paritytech/parity-wasm")
     (synopsis "Low-level WebAssembly format library")
     (description
      "This package provides a WebAssembly binary format serialization,
 deserialization, and interpreter in Rust.")
     (home-page "https://github.com/paritytech/parity-wasm")
     (synopsis "Low-level WebAssembly format library")
     (description
      "This package provides a WebAssembly binary format serialization,
 deserialization, and interpreter in Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-peeking-take-while
+(define-public rust-peeking-take-while-0.1
   (package
     (name "rust-peeking-take-while")
     (version "0.1.2")
   (package
     (name "rust-peeking-take-while")
     (version "0.1.2")
@@ -2190,7 +2236,7 @@ deserialization, and interpreter in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "peeking_take_while" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "peeking_take_while" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
         (sha256
          (base32
           "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
@@ -2202,10 +2248,11 @@ deserialization, and interpreter in Rust.")
 value.  This allows you to use @code{Iterator::by_ref} and
 @code{Iterator::take_while} together, and still get the first value for which
 the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
 value.  This allows you to use @code{Iterator::by_ref} and
 @code{Iterator::take_while} together, and still get the first value for which
 the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-percent-encoding
+(define-public rust-percent-encoding-2.1
   (package
     (name "rust-percent-encoding")
     (version "2.1.0")
   (package
     (name "rust-percent-encoding")
     (version "2.1.0")
@@ -2213,7 +2260,7 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
       (origin
         (method url-fetch)
         (uri (crate-uri "percent-encoding" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "percent-encoding" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl"))))
         (sha256
          (base32
           "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl"))))
@@ -2221,24 +2268,25 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (home-page "https://github.com/servo/rust-url/")
     (synopsis "Percent encoding and decoding")
     (description "This crate provides percent encoding and decoding.")
     (home-page "https://github.com/servo/rust-url/")
     (synopsis "Percent encoding and decoding")
     (description "This crate provides percent encoding and decoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-percent-encoding-1
+(define-public rust-percent-encoding-1.0
   (package
   (package
-    (inherit rust-percent-encoding)
+    (inherit rust-percent-encoding-2.1)
     (name "rust-percent-encoding")
     (version "1.0.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "percent-encoding" version))
     (name "rust-percent-encoding")
     (version "1.0.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "percent-encoding" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i"))))))
 
         (sha256
          (base32
           "0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i"))))))
 
-(define-public rust-permutohedron
+(define-public rust-permutohedron-0.2
   (package
     (name "rust-permutohedron")
     (version "0.2.4")
   (package
     (name "rust-permutohedron")
     (version "0.2.4")
@@ -2246,7 +2294,7 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
       (origin
         (method url-fetch)
         (uri (crate-uri "permutohedron" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "permutohedron" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn"))))
         (sha256
          (base32
           "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn"))))
@@ -2257,10 +2305,11 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
      "Generate permutations of sequences.  Either lexicographical order
 permutations, or a minimal swaps permutation sequence implemented using Heap's
 algorithm.")
      "Generate permutations of sequences.  Either lexicographical order
 permutations, or a minimal swaps permutation sequence implemented using Heap's
 algorithm.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-pico-sys
+(define-public rust-pico-sys-0.0
   (package
     (name "rust-pico-sys")
     (version "0.0.1")
   (package
     (name "rust-pico-sys")
     (version "0.0.1")
@@ -2268,22 +2317,19 @@ algorithm.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pico-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "pico-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1q5pg0ms6szz6b5h26h4k40zb76zbwwjgyigac4wly9qngdj4yl5"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1q5pg0ms6szz6b5h26h4k40zb76zbwwjgyigac4wly9qngdj4yl5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-gcc" ,rust-gcc)
-        ("rust-libc" ,rust-libc))))
     (home-page "https://github.com/reem/rust-pico-sys")
     (synopsis "Bindings to the PicoHTTPParser")
     (description
      "This package provides bindings to the PicoHTTPParser.")
     (home-page "https://github.com/reem/rust-pico-sys")
     (synopsis "Bindings to the PicoHTTPParser")
     (description
      "This package provides bindings to the PicoHTTPParser.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-pin-utils
+(define-public rust-pin-utils-0.1
   (package
     (name "rust-pin-utils")
     (version "0.1.0-alpha.4")
   (package
     (name "rust-pin-utils")
     (version "0.1.0-alpha.4")
@@ -2291,7 +2337,7 @@ algorithm.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pin-utils" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "pin-utils" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q"))))
         (sha256
          (base32
           "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q"))))
@@ -2299,10 +2345,11 @@ algorithm.")
     (home-page "https://github.com/rust-lang-nursery/pin-utils")
     (synopsis "Utilities for pinning")
     (description "This crate provides utilities for pinning values on the stack.")
     (home-page "https://github.com/rust-lang-nursery/pin-utils")
     (synopsis "Utilities for pinning")
     (description "This crate provides utilities for pinning values on the stack.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-pkg-config
+(define-public rust-pkg-config-0.3
   (package
     (name "rust-pkg-config")
     (version "0.3.14")
   (package
     (name "rust-pkg-config")
     (version "0.3.14")
@@ -2310,25 +2357,23 @@ algorithm.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pkg-config" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "pkg-config" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static))))
-    (inputs
-     `(("pkg-config" ,pkg-config)))
+    ;(inputs
+    ; `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/rust-lang/pkg-config-rs")
     (synopsis "Library to run the pkg-config system tool")
     (description
      "A library to run the pkg-config system tool at build time in order to be
 used in Cargo build scripts.")
     (home-page "https://github.com/rust-lang/pkg-config-rs")
     (synopsis "Library to run the pkg-config system tool")
     (description
      "A library to run the pkg-config system tool at build time in order to be
 used in Cargo build scripts.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-plain
+(define-public rust-plain-0.2
   (package
     (name "rust-plain")
     (version "0.2.3")
   (package
     (name "rust-plain")
     (version "0.2.3")
@@ -2336,7 +2381,7 @@ used in Cargo build scripts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "plain" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "plain" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
         (sha256
          (base32
           "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
@@ -2345,10 +2390,11 @@ used in Cargo build scripts.")
     (synopsis "Rust library that allows reinterpreting data safely")
     (description "This package provides a small Rust library that allows users
  to reinterpret data of certain types safely.")
     (synopsis "Rust library that allows reinterpreting data safely")
     (description "This package provides a small Rust library that allows users
  to reinterpret data of certain types safely.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-plugin
+(define-public rust-plugin-0.2
   (package
     (name "rust-plugin")
     (version "0.2.6")
   (package
     (name "rust-plugin")
     (version "0.2.6")
@@ -2356,23 +2402,19 @@ used in Cargo build scripts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "plugin" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "plugin" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-typemap" ,rust-typemap))
-       #:cargo-development-inputs
-       (("rust-void" ,rust-void))))
     (home-page "https://github.com/reem/rust-plugin")
     (synopsis "Lazily evaluated, order-independent plugins for extensible types")
     (description
      "Lazily evaluated, order-independent plugins for extensible types.")
     (home-page "https://github.com/reem/rust-plugin")
     (synopsis "Lazily evaluated, order-independent plugins for extensible types")
     (description
      "Lazily evaluated, order-independent plugins for extensible types.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-pocket-resources
+(define-public rust-pocket-resources-0.3
   (package
     (name "rust-pocket-resources")
     (version "0.3.2")
   (package
     (name "rust-pocket-resources")
     (version "0.3.2")
@@ -2380,7 +2422,7 @@ used in Cargo build scripts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "pocket-resources" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "pocket-resources" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
         (sha256
          (base32
           "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
@@ -2389,9 +2431,10 @@ used in Cargo build scripts.")
     (synopsis "Include resources in your applications")
     (description "This crate allows you to include resources in your
 applications.")
     (synopsis "Include resources in your applications")
     (description "This crate allows you to include resources in your
 applications.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-ppv-lite86
+(define-public rust-ppv-lite86-0.2
   (package
     (name "rust-ppv-lite86")
     (version "0.2.5")
   (package
     (name "rust-ppv-lite86")
     (version "0.2.5")
@@ -2399,7 +2442,7 @@ applications.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ppv-lite86" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "ppv-lite86" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3"))))
         (sha256
          (base32
           "06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3"))))
@@ -2408,35 +2451,46 @@ applications.")
     (synopsis "Implementation of the crypto-simd API for x86")
     (description "This crate provides an implementation of the crypto-simd API
 for x86.")
     (synopsis "Implementation of the crypto-simd API for x86")
     (description "This crate provides an implementation of the crypto-simd API
 for x86.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-proc-macro2
+(define-public rust-proc-macro2-1.0
   (package
     (name "rust-proc-macro2")
   (package
     (name "rust-proc-macro2")
-    (version "0.4.30")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "proc-macro2" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "proc-macro2" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
         (sha256
-          (base32
-            "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
+         (base32
+          "09rgb5ab0jgw39kyad0lgqs4nb9yaf7mwcrgxqnsxbn4il54g7lw"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid-0.1))
-        #:cargo-development-inputs (("rust-quote" ,rust-quote))))
     (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
 `proc_macro` API.  Comes with an option, off by default, to also reimplement itself
 in terms of the upstream unstable API.")
     (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
 `proc_macro` API.  Comes with an option, off by default, to also reimplement itself
 in terms of the upstream unstable API.")
-    ;; Dual licensed.
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0 license:expat))))
 
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-quick-error
+(define-public rust-proc-macro2-0.4
+  (package
+    (inherit rust-proc-macro2-1.0)
+    (name "rust-proc-macro2")
+    (version "0.4.30")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "proc-macro2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))))
+
+(define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
     (version "1.2.2")
   (package
     (name "rust-quick-error")
     (version "1.2.2")
@@ -2444,7 +2498,7 @@ in terms of the upstream unstable API.")
       (origin
         (method url-fetch)
         (uri (crate-uri "quick-error" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "quick-error" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j"))))
         (sha256
          (base32
           "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j"))))
@@ -2453,76 +2507,278 @@ in terms of the upstream unstable API.")
     (synopsis "Macro which makes error types pleasant to write")
     (description "This crate provides a macro which makes error types pleasant
 to write.")
     (synopsis "Macro which makes error types pleasant to write")
     (description "This crate provides a macro which makes error types pleasant
 to write.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-quote
+(define-public rust-quote-1.0
   (package
     (name "rust-quote")
   (package
     (name "rust-quote")
-    (version "0.6.12")
+    (version "1.0.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "quote" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "quote" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
         (sha256
-          (base32
-            "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))
+         (base32
+          "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2))))
     (home-page "https://github.com/dtolnay/quote")
     (synopsis "Quasi-quoting macro quote!(...)")
     (description "Quasi-quoting macro quote!(...)")
     (home-page "https://github.com/dtolnay/quote")
     (synopsis "Quasi-quoting macro quote!(...)")
     (description "Quasi-quoting macro quote!(...)")
-    ;; Dual licensed.
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0 license:expat))))
 
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rand
+(define-public rust-quote-0.6
+  (package
+    (inherit rust-quote-1.0)
+    (name "rust-quote")
+    (version "0.6.12")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quote" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))))
+
+(define-public rust-rand-0.6
   (package
     (name "rust-rand")
   (package
     (name "rust-rand")
-    (version "0.4.3")
+    (version "0.6.5")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "rand" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3"))))
+          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-fuchsia-zircon" ,rust-fuchsia-zircon)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://crates.io/crates/rand")
     (synopsis "Random number generators and other randomness functionality")
     (description
      "Rand provides utilities to generate random numbers, to convert them to
 useful types and distributions, and some randomness-related algorithms.")
     (home-page "https://crates.io/crates/rand")
     (synopsis "Random number generators and other randomness functionality")
     (description
      "Rand provides utilities to generate random numbers, to convert them to
 useful types and distributions, and some randomness-related algorithms.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-0.4
+  (package
+    (inherit rust-rand-0.6)
+    (name "rust-rand")
+    (version "0.4.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3"))))))
+
 (define-public rust-rand-0.3
   (package
 (define-public rust-rand-0.3
   (package
-    (inherit rust-rand)
+    (inherit rust-rand-0.6)
     (name "rust-rand")
     (version "0.3.23")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "rand" version))
     (name "rust-rand")
     (version "0.3.23")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))))
+
+(define-public rust-rand-chacha-0.1
+  (package
+    (name "rust-rand-chacha")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_chacha" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_chacha")
+    (synopsis "ChaCha random number generator")
+    (description "ChaCha random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-core-0.4
+  (package
+    (name "rust-rand-core")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))
+          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_core")
+    (synopsis
+      "Core random number generator traits and tools for implementation.")
+    (description
+      "Core random number generator traits and tools for implementation.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-core-0.3
+  (package
+    (inherit rust-rand-core-0.4)
+    (name "rust-rand-core")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
+    ;; This version is a 0.3 API wrapper around the 0.4 version.
     (arguments
     (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-rand" ,rust-rand))))))
+     `(#:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
+
+(define-public rust-rand-hc-0.1
+  (package
+    (name "rust-rand-hc")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_hc" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_hc")
+    (synopsis "HC128 random number generator")
+    (description "HC128 random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-isaac-0.1
+  (package
+    (name "rust-rand-isaac")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_isaac" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_isaac")
+    (synopsis "ISAAC random number generator")
+    (description "ISAAC random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-jitter-0.1
+  (package
+    (name "rust-rand-jitter")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_jitter" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-random/rand")
+    (synopsis
+      "Random number generator based on timing jitter")
+    (description
+      "Random number generator based on timing jitter")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-os-0.1
+  (package
+    (name "rust-rand-os")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_os" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_os")
+    (synopsis "OS backed Random Number Generator")
+    (description "OS backed Random Number Generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-pcg-0.1
+  (package
+    (name "rust-rand-pcg")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_pcg" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_pcg")
+    (synopsis
+      "Selected PCG random number generators")
+    (description
+      "Selected PCG random number generators")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-xorshift-0.1
+  (package
+    (name "rust-rand-xorshift")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_xorshift" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/rand_xorshift")
+    (synopsis "Xorshift random number generator")
+    (description
+      "Xorshift random number generator")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
 
 
-(define-public rust-rawpointer
+(define-public rust-rawpointer-0.1
   (package
     (name "rust-rawpointer")
     (version "0.1.0")
   (package
     (name "rust-rawpointer")
     (version "0.1.0")
@@ -2530,7 +2786,7 @@ useful types and distributions, and some randomness-related algorithms.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rawpointer" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "rawpointer" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))
         (sha256
          (base32
           "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))
@@ -2540,12 +2796,34 @@ useful types and distributions, and some randomness-related algorithms.")
     (description "Extra methods for raw pointers.  For example
 @code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
 and @code{ptrdistance}.")
     (description "Extra methods for raw pointers.  For example
 @code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
 and @code{ptrdistance}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rdrand-0.4
+  (package
+    (name "rust-rdrand")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rdrand" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/nagisa/rust_rdrand/")
+    (synopsis "Random number generator")
+    (description
+     "This package is an implementation of random number generator based on
+@code{rdrand} and @cpde{rdseed} instructions")
+    (properties '((hidden? . #t)))
+    (license license:isc)))
+
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
-(define-public rust-redox-syscall ; guix upstreamable
+(define-public rust-redox-syscall-0.1
   (package
     (name "rust-redox-syscall")
     (version "0.1.56")
   (package
     (name "rust-redox-syscall")
     (version "0.1.56")
@@ -2553,7 +2831,7 @@ and @code{ptrdistance}.")
       (origin
         (method url-fetch)
         (uri (crate-uri "redox_syscall" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "redox_syscall" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
         (sha256
          (base32
           "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
@@ -2565,7 +2843,27 @@ system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
     (properties '((hidden? . #t)))
     (license license:expat)))
 
-(define-public rust-regex-syntax
+(define-public rust-redox-termios-0.1
+  (package
+    (name "rust-redox-termios")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "redox-termios" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/redox-os/termios")
+    (synopsis "Rust library to access Redox termios functions")
+    (description
+     "This package provides a Rust library to access Redox termios functions.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
+(define-public rust-regex-syntax-0.6
   (package
     (name "rust-regex-syntax")
     (version "0.6.10")
   (package
     (name "rust-regex-syntax")
     (version "0.6.10")
@@ -2573,22 +2871,20 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "regex-syntax" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "regex-syntax" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-ucd-util" ,rust-ucd-util))))
     (home-page "https://github.com/rust-lang/regex")
     (synopsis "Regular expression parser")
     (description
      "This package provides a regular expression parser.")
     (home-page "https://github.com/rust-lang/regex")
     (synopsis "Regular expression parser")
     (description
      "This package provides a regular expression parser.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-remove-dir-all
+(define-public rust-remove-dir-all-0.5
   (package
     (name "rust-remove-dir-all")
     (version "0.5.2")
   (package
     (name "rust-remove-dir-all")
     (version "0.5.2")
@@ -2596,31 +2892,21 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "remove_dir_all" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "remove_dir_all" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-source
-           ;; The test phase expects there to be a README.md in the root directory.
-           (lambda _
-             (invoke "touch" "README.md"))))))
     (home-page "https://github.com/XAMPPRocky/remove_dir_all")
     (synopsis "Implementation of remove_dir_all for Windows")
     (description
      "This package provides a safe, reliable implementation of
 @code{remove_dir_all} for Windows")
     (home-page "https://github.com/XAMPPRocky/remove_dir_all")
     (synopsis "Implementation of remove_dir_all for Windows")
     (description
      "This package provides a safe, reliable implementation of
 @code{remove_dir_all} for Windows")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-resolv-conf
+(define-public rust-resolv-conf-0.6
   (package
     (name "rust-resolv-conf")
     (version "0.6.2")
   (package
     (name "rust-resolv-conf")
     (version "0.6.2")
@@ -2628,24 +2914,20 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "resolv-conf" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "resolv-conf" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-quick-error" ,rust-quick-error)
-        ("rust-hostname" ,rust-hostname))
-       #:cargo-test-flags '("--release" "--lib" "--examples"))) ; doc tests fail
     (home-page "https://github.com/tailhook/resolv-conf")
     (synopsis "/etc/resolv.conf parser")
     (description
      "An /etc/resolv.conf parser crate for Rust.")
     (home-page "https://github.com/tailhook/resolv-conf")
     (synopsis "/etc/resolv.conf parser")
     (description
      "An /etc/resolv.conf parser crate for Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-demangle
+(define-public rust-rustc-demangle-0.1
   (package
     (name "rust-rustc-demangle")
     (version "0.1.16")
   (package
     (name "rust-rustc-demangle")
     (version "0.1.16")
@@ -2653,25 +2935,20 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-demangle" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-demangle" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-compiler-builtins"
-         ,rust-compiler-builtins)
-        ("rust-rustc-std-workspace-core"
-         ,rust-rustc-std-workspace-core))))
     (home-page "https://github.com/alexcrichton/rustc-demangle")
     (synopsis "Rust compiler symbol demangling")
     (description
      "This package demanges the symbols from the Rust compiler.")
     (home-page "https://github.com/alexcrichton/rustc-demangle")
     (synopsis "Rust compiler symbol demangling")
     (description
      "This package demanges the symbols from the Rust compiler.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-hash
+(define-public rust-rustc-hash-1.0
   (package
     (name "rust-rustc-hash")
     (version "1.0.0")
   (package
     (name "rust-rustc-hash")
     (version "1.0.0")
@@ -2679,7 +2956,7 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-hash" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-hash" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "114bf72466bl63i5hh8fgqfnhihs0w1m9c9jz505095agfixnvg0"))))
         (sha256
          (base32
           "114bf72466bl63i5hh8fgqfnhihs0w1m9c9jz505095agfixnvg0"))))
@@ -2688,10 +2965,11 @@ system calls.")
     (synopsis "Speedy, non-cryptographic hash used in rustc")
     (description
      "This package provides a speedy, non-cryptographic hash used in rustc.")
     (synopsis "Speedy, non-cryptographic hash used in rustc")
     (description
      "This package provides a speedy, non-cryptographic hash used in rustc.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-serialize
+(define-public rust-rustc-serialize-0.3
   (package
     (name "rust-rustc-serialize")
     (version "0.3.24")
   (package
     (name "rust-rustc-serialize")
     (version "0.3.24")
@@ -2699,14 +2977,11 @@ system calls.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-serialize" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-serialize" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1nkg3vasg7nk80ffkazizgiyv3hb1l9g3d8h17cajbkx538jiwfw"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1nkg3vasg7nk80ffkazizgiyv3hb1l9g3d8h17cajbkx538jiwfw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3))))
     (home-page "https://github.com/rust-lang-deprecated/rustc-serialize")
     (synopsis "Generic serialization/deserialization support")
     (description
     (home-page "https://github.com/rust-lang-deprecated/rustc-serialize")
     (synopsis "Generic serialization/deserialization support")
     (description
@@ -2714,10 +2989,11 @@ system calls.")
 corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the
 compiler.  Also includes support for hex, base64, and json encoding and
 decoding.")
 corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the
 compiler.  Also includes support for hex, base64, and json encoding and
 decoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rustc-std-workspace-core
+(define-public rust-rustc-std-workspace-core-1.0
   (package
     (name "rust-rustc-std-workspace-core")
     (version "1.0.0")
   (package
     (name "rust-rustc-std-workspace-core")
     (version "1.0.0")
@@ -2725,7 +3001,7 @@ decoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-std-workspace-core" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "rustc-std-workspace-core" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
         (sha256
          (base32
           "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
@@ -2734,10 +3010,32 @@ decoding.")
     (synopsis "Explicitly empty crate for rust-lang/rust integration")
     (description "This crate provides an explicitly empty crate for
 rust-lang/rust integration.")
     (synopsis "Explicitly empty crate for rust-lang/rust integration")
     (description "This crate provides an explicitly empty crate for
 rust-lang/rust integration.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-safemem
+(define-public rust-ryu-1.0
+  (package
+    (name "rust-ryu")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ryu" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/ryu")
+    (synopsis
+      "Fast floating point to string conversion")
+    (description
+      "Fast floating point to string conversion")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0 license:boost1.0))))
+
+(define-public rust-safemem-0.3
   (package
     (name "rust-safemem")
     (version "0.3.2")
   (package
     (name "rust-safemem")
     (version "0.3.2")
@@ -2745,7 +3043,7 @@ rust-lang/rust integration.")
       (origin
         (method url-fetch)
         (uri (crate-uri "safemem" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "safemem" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j"))))
         (sha256
          (base32
           "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j"))))
@@ -2754,10 +3052,11 @@ rust-lang/rust integration.")
     (synopsis "Safe wrappers for memory-accessing functions")
     (description
      "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.")
     (synopsis "Safe wrappers for memory-accessing functions")
     (description
      "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-same-file
+(define-public rust-same-file-1.0
   (package
     (name "rust-same-file")
     (version "1.0.5")
   (package
     (name "rust-same-file")
     (version "1.0.5")
@@ -2765,23 +3064,21 @@ rust-lang/rust integration.")
       (origin
         (method url-fetch)
         (uri (crate-uri "same-file" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "same-file" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-winapi-util" ,rust-winapi-util))))
     (home-page "https://github.com/BurntSushi/same-file")
     (synopsis "Determine whether two file paths point to the same file")
     (description
      "This package provides a simple crate for determining whether two file
 paths point to the same file.")
     (home-page "https://github.com/BurntSushi/same-file")
     (synopsis "Determine whether two file paths point to the same file")
     (description
      "This package provides a simple crate for determining whether two file
 paths point to the same file.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-schannel
+(define-public rust-schannel-0.1
   (package
     (name "rust-schannel")
     (version "0.1.15")
   (package
     (name "rust-schannel")
     (version "0.1.15")
@@ -2789,23 +3086,20 @@ paths point to the same file.")
       (origin
         (method url-fetch)
         (uri (crate-uri "schannel" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "schannel" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/steffengy/schannel-rs")
     (synopsis "Rust bindings to the Windows SChannel APIs")
     (description
      "Rust bindings to the Windows SChannel APIs providing TLS client and
 server functionality.")
     (home-page "https://github.com/steffengy/schannel-rs")
     (synopsis "Rust bindings to the Windows SChannel APIs")
     (description
      "Rust bindings to the Windows SChannel APIs providing TLS client and
 server functionality.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-scoped-threadpool
+(define-public rust-scoped-threadpool-0.1
   (package
     (name "rust-scoped-threadpool")
     (version "0.1.9")
   (package
     (name "rust-scoped-threadpool")
     (version "0.1.9")
@@ -2813,14 +3107,11 @@ server functionality.")
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped_threadpool" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped_threadpool" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://github.com/Kimundi/scoped-threadpool-rs")
     (synopsis "library for scoped and cached threadpools")
     (description
     (home-page "https://github.com/Kimundi/scoped-threadpool-rs")
     (synopsis "library for scoped and cached threadpools")
     (description
@@ -2830,10 +3121,11 @@ the underlying threads.  Jobs are runnable by borrowing the pool for a given
 scope, during which an arbitrary number of them can be executed. These jobs can
 access data of any lifetime outside of the pools scope, which allows working on
 non-'static references in parallel.")
 scope, during which an arbitrary number of them can be executed. These jobs can
 access data of any lifetime outside of the pools scope, which allows working on
 non-'static references in parallel.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-scoped-tls
+(define-public rust-scoped-tls-1.0
   (package
     (name "rust-scoped-tls")
     (version "1.0.0")
   (package
     (name "rust-scoped-tls")
     (version "1.0.0")
@@ -2841,7 +3133,7 @@ non-'static references in parallel.")
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped-tls" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped-tls" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
         (sha256
          (base32
           "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
@@ -2851,24 +3143,25 @@ non-'static references in parallel.")
     (description "This crate provides a library implementation of the standard
 library's old @code{scoped_thread_local!} macro for providing scoped access to
 @dfn{thread local storage} (TLS) so any type can be stored into TLS.")
     (description "This crate provides a library implementation of the standard
 library's old @code{scoped_thread_local!} macro for providing scoped access to
 @dfn{thread local storage} (TLS) so any type can be stored into TLS.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-scoped-tls-0.1
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-scoped-tls-0.1
   (package
-    (inherit rust-scoped-tls)
+    (inherit rust-scoped-tls-1.0)
     (name "rust-scoped-tls")
     (version "0.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped-tls" version))
     (name "rust-scoped-tls")
     (version "0.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "scoped-tls" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
 
         (sha256
          (base32
           "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
 
-(define-public rust-scopeguard
+(define-public rust-scopeguard-1.0
   (package
     (name "rust-scopeguard")
     (version "1.0.0")
   (package
     (name "rust-scopeguard")
     (version "1.0.0")
@@ -2876,7 +3169,7 @@ library's old @code{scoped_thread_local!} macro for providing scoped access to
       (origin
         (method url-fetch)
         (uri (crate-uri "scopeguard" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "scopeguard" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
         (sha256
          (base32
           "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
@@ -2888,12 +3181,13 @@ given closure when it goes out of scope, even if the code between panics
 (assuming unwinding panic).  Defines the macros @code{defer!},
 @code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
 with one of the implemented strategies.")
 (assuming unwinding panic).  Defines the macros @code{defer!},
 @code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
 with one of the implemented strategies.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-scopeguard-0.3
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-scopeguard-0.3
   (package
-    (inherit rust-scopeguard)
+    (inherit rust-scopeguard-1.0)
     (name "rust-scopeguard")
     (version "0.3.3")
     (source
     (name "rust-scopeguard")
     (version "0.3.3")
     (source
@@ -2901,12 +3195,12 @@ with one of the implemented strategies.")
         (method url-fetch)
         (uri (crate-uri "scopeguard" version))
         (file-name
         (method url-fetch)
         (uri (crate-uri "scopeguard" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
 
         (sha256
          (base32
           "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
 
-(define-public rust-security-framework-sys
+(define-public rust-security-framework-sys-0.3
   (package
     (name "rust-security-framework-sys")
     (version "0.3.1")
   (package
     (name "rust-security-framework-sys")
     (version "0.3.1")
@@ -2914,23 +3208,20 @@ with one of the implemented strategies.")
       (origin
         (method url-fetch)
         (uri (crate-uri "security-framework-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "security-framework-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-core-foundation-sys"
-         ,rust-core-foundation-sys))))
     (home-page "https://lib.rs/crates/security-framework-sys")
     (synopsis "Apple `Security.framework` low-level FFI bindings")
     (description
      "Apple `Security.framework` low-level FFI bindings.")
     (home-page "https://lib.rs/crates/security-framework-sys")
     (synopsis "Apple `Security.framework` low-level FFI bindings")
     (description
      "Apple `Security.framework` low-level FFI bindings.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-semver-parser
+(define-public rust-semver-parser-0.9
   (package
     (name "rust-semver-parser")
     (version "0.9.0")
   (package
     (name "rust-semver-parser")
     (version "0.9.0")
@@ -2938,7 +3229,7 @@ with one of the implemented strategies.")
       (origin
         (method url-fetch)
         (uri (crate-uri "semver-parser" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "semver-parser" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
         (sha256
          (base32
           "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
@@ -2946,24 +3237,86 @@ with one of the implemented strategies.")
     (home-page "https://github.com/steveklabnik/semver-parser")
     (synopsis "Parsing of the semver spec")
     (description "This package provides for parsing of the semver spec.")
     (home-page "https://github.com/steveklabnik/semver-parser")
     (synopsis "Parsing of the semver spec")
     (description "This package provides for parsing of the semver spec.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-semver-parser-0.7
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-semver-parser-0.7
   (package
-    (inherit rust-semver-parser)
+    (inherit rust-semver-parser-0.9)
     (name "rust-semver-parser")
     (version "0.7.0")
     (source
       (origin
         (method url-fetch)
     (name "rust-semver-parser")
     (version "0.7.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "semver-parser" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "semver-parser" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
+
+(define-public rust-serde-1.0
+  (package
+    (name "rust-serde")
+    (version "1.0.101")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1p8r24hagcsrl92w5z32nfrg9040qkgqf8iwwnf7mzigpavwk5lp"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis "Generic serialization/deserialization framework")
+    (description
+     "This package provides a generic serialization/deserialization framework.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-derive-1.0
+  (package
+    (name "rust-serde-derive")
+    (version "1.0.101")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde-derive" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0bn0wz3j48248187mfmypyqnh73mq734snxxhr05vmgcl51kl4sb"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (description
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-json-1.0
+  (package
+    (name "rust-serde-json")
+    (version "1.0.41")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde-json" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
+          "1hipk84x40454mf599752mi7l08wb8qakz8vd6d3zp57d0mfnwig"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/serde-rs/json")
+    (synopsis "A JSON serialization file format")
+    (description
+     "This package provides a JSON serialization file format.")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
 
 
-(define-public rust-shlex
+(define-public rust-shlex-0.1
   (package
     (name "rust-shlex")
     (version "0.1.1")
   (package
     (name "rust-shlex")
     (version "0.1.1")
@@ -2971,7 +3324,7 @@ with one of the implemented strategies.")
       (origin
         (method url-fetch)
         (uri (crate-uri "shlex" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "shlex" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
         (sha256
          (base32
           "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
@@ -2980,10 +3333,11 @@ with one of the implemented strategies.")
     (synopsis "Split a string into shell words, like Python's shlex")
     (description "This crate provides a method to split a string into shell
 words, like Python's shlex.")
     (synopsis "Split a string into shell words, like Python's shlex")
     (description "This crate provides a method to split a string into shell
 words, like Python's shlex.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-slab
+(define-public rust-slab-0.4
   (package
     (name "rust-slab")
     (version "0.4.2")
   (package
     (name "rust-slab")
     (version "0.4.2")
@@ -2991,7 +3345,7 @@ words, like Python's shlex.")
       (origin
         (method url-fetch)
         (uri (crate-uri "slab" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "slab" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
         (sha256
          (base32
           "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
@@ -3000,9 +3354,10 @@ words, like Python's shlex.")
     (synopsis "Pre-allocated storage for a uniform data type")
     (description "This create provides a pre-allocated storage for a uniform
 data type.")
     (synopsis "Pre-allocated storage for a uniform data type")
     (description "This create provides a pre-allocated storage for a uniform
 data type.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-socket2
+(define-public rust-socket2-0.3
   (package
     (name "rust-socket2")
     (version "0.3.11")
   (package
     (name "rust-socket2")
     (version "0.3.11")
@@ -3010,29 +3365,21 @@ data type.")
       (origin
         (method url-fetch)
         (uri (crate-uri "socket2" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "socket2" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "11bdcz04i106g4q7swkll0qxrb4287srqd2k3aq2q6i22zjlvdz8"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "11bdcz04i106g4q7swkll0qxrb4287srqd2k3aq2q6i22zjlvdz8"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:tests? #f)) ; Tests expect network connectivity.
     (home-page "https://github.com/alexcrichton/socket2-rs")
     (synopsis "Networking sockets in Rust")
     (description
      "This package provides utilities for handling networking sockets with a
 maximal amount of configuration possible intended.")
     (home-page "https://github.com/alexcrichton/socket2-rs")
     (synopsis "Networking sockets in Rust")
     (description
      "This package provides utilities for handling networking sockets with a
 maximal amount of configuration possible intended.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-sourcefile
+(define-public rust-sourcefile-0.1
   (package
     (name "rust-sourcefile")
     (version "0.1.4")
   (package
     (name "rust-sourcefile")
     (version "0.1.4")
@@ -3040,23 +3387,21 @@ maximal amount of configuration possible intended.")
       (origin
         (method url-fetch)
         (uri (crate-uri "sourcefile" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "sourcefile" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lwa6973zs4bgj29my7agfjgk4nw9hp6j7dfnr13nid85fw7rxsb"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1lwa6973zs4bgj29my7agfjgk4nw9hp6j7dfnr13nid85fw7rxsb"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile))))
     (home-page "https://github.com/derekdreery/sourcefile-rs")
     (synopsis "Concatenate source from multiple files")
     (description
      "A library for concatenating source from multiple files, whilst keeping
 track of where each new file and line starts.")
     (home-page "https://github.com/derekdreery/sourcefile-rs")
     (synopsis "Concatenate source from multiple files")
     (description
      "A library for concatenating source from multiple files, whilst keeping
 track of where each new file and line starts.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-spin
+(define-public rust-spin-0.5
   (package
     (name "rust-spin")
     (version "0.5.0")
   (package
     (name "rust-spin")
     (version "0.5.0")
@@ -3064,7 +3409,7 @@ track of where each new file and line starts.")
       (origin
         (method url-fetch)
         (uri (crate-uri "spin" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "spin" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4"))))
         (sha256
          (base32
           "0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4"))))
@@ -3074,9 +3419,10 @@ track of where each new file and line starts.")
     (description "This crate provides synchronization primitives based on
 spinning.  They may contain data, are usable without @code{std},and static
 initializers are available.")
     (description "This crate provides synchronization primitives based on
 spinning.  They may contain data, are usable without @code{std},and static
 initializers are available.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-stable-deref-trait
+(define-public rust-stable-deref-trait-1.1
   (package
     (name "rust-stable-deref-trait")
     (version "1.1.1")
   (package
     (name "rust-stable-deref-trait")
     (version "1.1.1")
@@ -3084,7 +3430,7 @@ initializers are available.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stable_deref_trait" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "stable_deref_trait" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
         (sha256
          (base32
           "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
@@ -3097,10 +3443,11 @@ types which deref to a fixed address which is valid even when the containing
 type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
 Additionally, it defines CloneStableDeref for types like Rc where clones deref
 to the same address.")
 type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
 Additionally, it defines CloneStableDeref for types like Rc where clones deref
 to the same address.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-stacker
+(define-public rust-stacker-0.1
   (package
     (name "rust-stacker")
     (version "0.1.5")
   (package
     (name "rust-stacker")
     (version "0.1.5")
@@ -3108,26 +3455,21 @@ to the same address.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stacker" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "stacker" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0js0axz5nla1mkr2dm2vrv9rj964ng1lrv4l43sqlnfgawplhygv"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0js0axz5nla1mkr2dm2vrv9rj964ng1lrv4l43sqlnfgawplhygv"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if)
-        ("rust-libc" ,rust-libc)
-        ("rust-winapi" ,rust-winapi)
-        ("rust-cc" ,rust-cc))))
     (home-page "https://github.com/rust-lang/stacker")
     (synopsis "Manual segmented stacks for Rust")
     (description
      "This package provides a stack growth library useful when implementing
 deeply recursive algorithms that may accidentally blow the stack.")
     (home-page "https://github.com/rust-lang/stacker")
     (synopsis "Manual segmented stacks for Rust")
     (description
      "This package provides a stack growth library useful when implementing
 deeply recursive algorithms that may accidentally blow the stack.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-static-assertions
+(define-public rust-static-assertions-0.3
   (package
     (name "rust-static-assertions")
     (version "0.3.4")
   (package
     (name "rust-static-assertions")
     (version "0.3.4")
@@ -3135,7 +3477,7 @@ deeply recursive algorithms that may accidentally blow the stack.")
       (origin
         (method url-fetch)
         (uri (crate-uri "static-assertions" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "static-assertions" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
         (sha256
          (base32
           "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
@@ -3145,9 +3487,10 @@ deeply recursive algorithms that may accidentally blow the stack.")
     (description
      "This package provides compile-time assertions to ensure that invariants
 are met.")
     (description
      "This package provides compile-time assertions to ensure that invariants
 are met.")
+    (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-stdweb-internal-runtime
+(define-public rust-stdweb-internal-runtime-0.1
   (package
     (name "rust-stdweb-internal-runtime")
     (version "0.1.4")
   (package
     (name "rust-stdweb-internal-runtime")
     (version "0.1.4")
@@ -3155,7 +3498,7 @@ are met.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stdweb-internal-runtime" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "stdweb-internal-runtime" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym"))))
         (sha256
          (base32
           "1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym"))))
@@ -3164,10 +3507,11 @@ are met.")
     (synopsis "Internal runtime for the @code{stdweb} crate")
     (description "This crate provides internal runtime for the @code{stdweb}
 crate.")
     (synopsis "Internal runtime for the @code{stdweb} crate")
     (description "This crate provides internal runtime for the @code{stdweb}
 crate.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-stdweb-internal-test-macro
+(define-public rust-stdweb-internal-test-macro-0.1
   (package
     (name "rust-stdweb-internal-test-macro")
     (version "0.1.0")
   (package
     (name "rust-stdweb-internal-test-macro")
     (version "0.1.0")
@@ -3175,23 +3519,20 @@ crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "stdweb-internal-test-macro" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "stdweb-internal-test-macro" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2)
-        ("rust-quote" ,rust-quote))))
     (home-page "https://github.com/koute/stdweb")
     (synopsis "Internal crate of the `stdweb` crate")
     (description
      "Internal crate of the @code{stdweb} crate.")
     (home-page "https://github.com/koute/stdweb")
     (synopsis "Internal crate of the `stdweb` crate")
     (description
      "Internal crate of the @code{stdweb} crate.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-streaming-stats
+(define-public rust-streaming-stats-0.2
   (package
     (name "rust-streaming-stats")
     (version "0.2.2")
   (package
     (name "rust-streaming-stats")
     (version "0.2.2")
@@ -3199,22 +3540,20 @@ crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "streaming-stats" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "streaming-stats" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-traits" ,rust-num-traits))))
     (home-page "https://github.com/BurntSushi/rust-stats")
     (synopsis "Compute basic statistics on streams")
     (description
      "Experimental crate for computing basic statistics on streams.")
     (home-page "https://github.com/BurntSushi/rust-stats")
     (synopsis "Compute basic statistics on streams")
     (description
      "Experimental crate for computing basic statistics on streams.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-strsim
+(define-public rust-strsim-0.9
   (package
     (name "rust-strsim")
     (version "0.9.2")
   (package
     (name "rust-strsim")
     (version "0.9.2")
@@ -3222,7 +3561,7 @@ crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "strsim" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03"))))
         (sha256
          (base32
           "1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03"))))
@@ -3232,23 +3571,43 @@ crate.")
     (description "This crate includes implementations of string similarity
 metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
 and Jaro-Winkler.")
     (description "This crate includes implementations of string similarity
 metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
 and Jaro-Winkler.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
 (define-public rust-strsim-0.8
   (package
     (license license:expat)))
 
 (define-public rust-strsim-0.8
   (package
-    (inherit rust-strsim)
+    (inherit rust-strsim-0.9)
     (name "rust-strsim")
     (version "0.8.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "strsim" version))
     (name "rust-strsim")
     (version "0.8.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
 
         (sha256
          (base32
           "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
 
-(define-public rust-synstructure-test-traits
+(define-public rust-syn-1.0
+  (package
+    (name "rust-syn")
+    (version "1.0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "syn" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dtolnay/syn")
+    (synopsis "Parser for Rust source code")
+    (description "Parser for Rust source code")
+    (properties '((hidden? . #t)))
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-synstructure-test-traits-0.1
   (package
     (name "rust-synstructure-test-traits")
     (version "0.1.0")
   (package
     (name "rust-synstructure-test-traits")
     (version "0.1.0")
@@ -3256,7 +3615,7 @@ and Jaro-Winkler.")
       (origin
         (method url-fetch)
         (uri (crate-uri "synstructure_test_traits" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "synstructure_test_traits" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
         (sha256
          (base32
           "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
@@ -3265,9 +3624,10 @@ and Jaro-Winkler.")
     (synopsis "Helper test traits for synstructure doctests")
     (description
      "This package provides helper test traits for synstructure doctests.")
     (synopsis "Helper test traits for synstructure doctests")
     (description
      "This package provides helper test traits for synstructure doctests.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-tar
+(define-public rust-tar-0.4
   (package
     (name "rust-tar")
     (version "0.4.26")
   (package
     (name "rust-tar")
     (version "0.4.26")
@@ -3275,20 +3635,11 @@ and Jaro-Winkler.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tar" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "tar" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-filetime" ,rust-filetime)
-        ("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-xattr" ,rust-xattr))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir))
-       #:tests? #f)) ; Test archives are not distributed in the crate tarball.
     (home-page "https://github.com/alexcrichton/tar-rs")
     (synopsis "Tar file reading/writing for Rust")
     (description
     (home-page "https://github.com/alexcrichton/tar-rs")
     (synopsis "Tar file reading/writing for Rust")
     (description
@@ -3297,10 +3648,11 @@ writer.  This library does not currently handle compression, but it is abstract
 over all I/O readers and writers.  Additionally, great lengths are taken to
 ensure that the entire contents are never required to be entirely resident in
 memory all at once.")
 over all I/O readers and writers.  Additionally, great lengths are taken to
 ensure that the entire contents are never required to be entirely resident in
 memory all at once.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tempdir
+(define-public rust-tempdir-0.3
   (package
     (name "rust-tempdir")
     (version "0.3.7")
   (package
     (name "rust-tempdir")
     (version "0.3.7")
@@ -3308,52 +3660,43 @@ memory all at once.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tempdir" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "tempdir" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rand" ,rust-rand)
-        ("rust-remove-dir-all" ,rust-remove-dir-all))))
     (home-page "https://github.com/rust-lang-deprecated/tempdir")
     (synopsis "Temporary directory management for Rust")
     (description
      "This package provides a library for managing a temporary directory and
 deleting all contents when it's dropped.")
     (home-page "https://github.com/rust-lang-deprecated/tempdir")
     (synopsis "Temporary directory management for Rust")
     (description
      "This package provides a library for managing a temporary directory and
 deleting all contents when it's dropped.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tempfile
+(define-public rust-tempfile-3.0
   (package
     (name "rust-tempfile")
   (package
     (name "rust-tempfile")
-    (version "3.0.2")
+    (version "3.0.8")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "tempfile" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "tempfile" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "0ny1cdbcsrmwjpy4k9366xm6p0jqkrmrvr0cln2djxspp1inyxs7"))))
+          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
     (build-system cargo-build-system)
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-rand" ,rust-rand)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-remove-dir-all" ,rust-remove-dir-all)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "http://stebalien.com/projects/tempfile-rs")
     (synopsis "Library for managing temporary files and directories")
     (description
      "This package provides a library for managing temporary files and
 directories.")
     (home-page "http://stebalien.com/projects/tempfile-rs")
     (synopsis "Library for managing temporary files and directories")
     (description
      "This package provides a library for managing temporary files and
 directories.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-term
+(define-public rust-term-0.4
   (package
     (name "rust-term")
     (version "0.4.6")
   (package
     (name "rust-term")
     (version "0.4.6")
@@ -3361,23 +3704,20 @@ directories.")
       (origin
         (method url-fetch)
         (uri (crate-uri "term" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "term" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/Stebalien/term")
     (synopsis "Terminal formatting library")
     (description
      "This package provides a terminal formatting library in rust.")
     (home-page "https://github.com/Stebalien/term")
     (synopsis "Terminal formatting library")
     (description
      "This package provides a terminal formatting library in rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-termcolor
+(define-public rust-termcolor-1.0
   (package
     (name "rust-termcolor")
     (version "1.0.5")
   (package
     (name "rust-termcolor")
     (version "1.0.5")
@@ -3385,22 +3725,40 @@ directories.")
       (origin
         (method url-fetch)
         (uri (crate-uri "termcolor" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "termcolor" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-wincolor" ,rust-wincolor))))
     (home-page "https://github.com/BurntSushi/termcolor")
     (synopsis "Library for writing colored text to a terminal")
     (description "This package provides a simple cross platform library for
 writing colored text to a terminal.")
     (home-page "https://github.com/BurntSushi/termcolor")
     (synopsis "Library for writing colored text to a terminal")
     (description "This package provides a simple cross platform library for
 writing colored text to a terminal.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-termios
+(define-public rust-termion-1.5
+  (package
+    (name "rust-termion")
+    (version "1.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "termion" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0c634rg520zjjfhwnxrc2jbfjz7db0rcpsjs1qici0nyghpv53va"))))
+    (build-system cargo-build-system)
+    (home-page "https://gitlab.redox-os.org/redox-os/termion")
+    (synopsis "Library for manipulating terminals")
+    (description
+     "This package provides a bindless library for manipulating terminals.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
+(define-public rust-termios-0.3
   (package
     (name "rust-termios")
     (version "0.3.1")
   (package
     (name "rust-termios")
     (version "0.3.1")
@@ -3408,13 +3766,11 @@ writing colored text to a terminal.")
       (origin
         (method url-fetch)
         (uri (crate-uri "termios" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "termios" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
     (home-page  "https://github.com/dcuddeback/termios-rs")
     (synopsis "Safe bindings for the termios library")
     (description
     (home-page  "https://github.com/dcuddeback/termios-rs")
     (synopsis "Safe bindings for the termios library")
     (description
@@ -3422,9 +3778,33 @@ writing colored text to a terminal.")
 to the terminal I/O interface implemented by Unix operating systems.  The safe
 bindings are a small wrapper around the raw C functions, which converts integer
 return values to @code{std::io::Result} to indicate success or failure.")
 to the terminal I/O interface implemented by Unix operating systems.  The safe
 bindings are a small wrapper around the raw C functions, which converts integer
 return values to @code{std::io::Result} to indicate success or failure.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
+
+(define-public rust-textwrap-0.11
+  (package
+    (name "rust-textwrap")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "textwrap" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/mgeisler/textwrap")
+    (synopsis "Library for word wrapping, indenting, and dedenting strings")
+    (description
+     "Textwrap is a small library for word wrapping, indenting, and dedenting
+strings.  You can use it to format strings (such as help and error messages)
+for display in commandline applications.  It is designed to be efficient and
+handle Unicode characters correctly.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-thread-id
+(define-public rust-thread-id-3.3
   (package
     (name "rust-thread-id")
     (version "3.3.0")
   (package
     (name "rust-thread-id")
     (version "3.3.0")
@@ -3432,25 +3812,21 @@ return values to @code{std::io::Result} to indicate success or failure.")
       (origin
         (method url-fetch)
         (uri (crate-uri "thread-id" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "thread-id" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/ruuda/thread-id")
     (synopsis "Get a unique ID for the current thread in Rust")
     (description
      "For diagnostics and debugging it can often be useful to get an ID that is
 different for every thread.")
     (home-page "https://github.com/ruuda/thread-id")
     (synopsis "Get a unique ID for the current thread in Rust")
     (description
      "For diagnostics and debugging it can often be useful to get an ID that is
 different for every thread.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-thread-local
+(define-public rust-thread-local-0.3
   (package
     (name "rust-thread-local")
     (version "0.3.6")
   (package
     (name "rust-thread-local")
     (version "0.3.6")
@@ -3458,21 +3834,19 @@ different for every thread.")
       (origin
         (method url-fetch)
         (uri (crate-uri "thread_local" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "thread_local" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://github.com/Amanieu/thread_local-rs")
     (synopsis "Per-object thread-local storage")
     (description "Per-object thread-local storage")
     (home-page "https://github.com/Amanieu/thread_local-rs")
     (synopsis "Per-object thread-local storage")
     (description "Per-object thread-local storage")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-threadpool
+(define-public rust-threadpool-1.7
   (package
     (name "rust-threadpool")
     (version "1.7.1")
   (package
     (name "rust-threadpool")
     (version "1.7.1")
@@ -3480,23 +3854,21 @@ different for every thread.")
       (origin
         (method url-fetch)
         (uri (crate-uri "threadpool" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "threadpool" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-cpus" ,rust-num-cpus))))
     (home-page "https://github.com/rust-threadpool/rust-threadpool")
     (synopsis "Thread pool for running jobs on a fixed set of worker threads")
     (description
      "This package provides a thread pool for running a number of jobs on a
 fixed set of worker threads.")
     (home-page "https://github.com/rust-threadpool/rust-threadpool")
     (synopsis "Thread pool for running jobs on a fixed set of worker threads")
     (description
      "This package provides a thread pool for running a number of jobs on a
 fixed set of worker threads.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-time
+(define-public rust-time-0.1
   (package
     (name "rust-time")
     (version "0.1.39")
   (package
     (name "rust-time")
     (version "0.1.39")
@@ -3504,30 +3876,21 @@ fixed set of worker threads.")
       (origin
         (method url-fetch)
         (uri (crate-uri "time" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "time" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "161hqx0gw722ikydanpahky447vaxqncwmkj66rny282vzqpalx1"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "161hqx0gw722ikydanpahky447vaxqncwmkj66rny282vzqpalx1"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc)
-        ("rust-redox-syscall" ,rust-redox-syscall)
-        ("rust-rustc-serialize" ,rust-rustc-serialize)
-        ("rust-winapi" ,rust-winapi))
-       #:cargo-development-inputs
-       (("rust-log" ,rust-log)
-        ("rust-winapi" ,rust-winapi))
-       #:tests? #f)) ; Tests have difficulty with the timezones.
     (home-page "https://github.com/rust-lang-deprecated/time")
     (synopsis "Simple time handling in Rust")
     (description
      "This package provides utilities for working with time-related functions
 in Rust.")
     (home-page "https://github.com/rust-lang-deprecated/time")
     (synopsis "Simple time handling in Rust")
     (description
      "This package provides utilities for working with time-related functions
 in Rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tokio-mock-task
+(define-public rust-tokio-mock-task-0.1
   (package
     (name "rust-tokio-mock-task")
     (version "0.1.1")
   (package
     (name "rust-tokio-mock-task")
     (version "0.1.1")
@@ -3535,19 +3898,42 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tokio-mock-task" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "tokio-mock-task" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-futures" ,rust-futures))))
     (home-page  "https://github.com/carllerche/tokio-mock-task")
     (synopsis "Mock a Tokio task")
     (description "Mock a Tokio task")
     (home-page  "https://github.com/carllerche/tokio-mock-task")
     (synopsis "Mock a Tokio task")
     (description "Mock a Tokio task")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-tracing-core
+(define-public rust-toml-0.5
+  (package
+    (name "rust-toml")
+    (version "0.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "toml" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "093p48vpqm4bb8q3514xsij0dkljxlr3jp9ypxr4p48xjisvxan7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/toml-rs")
+    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
+    (description
+     "This package provides a native Rust encoder and decoder of TOML-formatted
+files and streams.  Provides implementations of the standard
+Serialize/Deserialize traits for TOML data to facilitate deserializing and
+serializing Rust structures.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-tracing-core-0.1
   (package
     (name "rust-tracing-core")
     (version "0.1.2")
   (package
     (name "rust-tracing-core")
     (version "0.1.2")
@@ -3555,22 +3941,20 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "tracing-core" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "tracing-core" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://tokio.rs")
     (synopsis "Core primitives for application-level tracing")
     (description
      "Core primitives for application-level tracing.")
     (home-page "https://tokio.rs")
     (synopsis "Core primitives for application-level tracing")
     (description
      "Core primitives for application-level tracing.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-traitobject
+(define-public rust-traitobject-0.1
   (package
     (name "rust-traitobject")
     (version "0.1.0")
   (package
     (name "rust-traitobject")
     (version "0.1.0")
@@ -3578,7 +3962,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "traitobject" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "traitobject" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
         (sha256
          (base32
           "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
@@ -3586,10 +3970,11 @@ in Rust.")
     (home-page "https://github.com/reem/rust-traitobject")
     (synopsis "Unsafe helpers for dealing with raw trait objects")
     (description "Unsafe helpers for dealing with raw trait objects.")
     (home-page "https://github.com/reem/rust-traitobject")
     (synopsis "Unsafe helpers for dealing with raw trait objects")
     (description "Unsafe helpers for dealing with raw trait objects.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-try-from
+(define-public rust-try-from-0.3
   (package
     (name "rust-try-from")
     (version "0.3.2")
   (package
     (name "rust-try-from")
     (version "0.3.2")
@@ -3597,21 +3982,19 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "try_from" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "try_from" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-cfg-if" ,rust-cfg-if))))
     (home-page "https://github.com/derekjw/try_from")
     (synopsis "TryFrom and TryInto traits for failable conversions")
     (description
       "TryFrom and TryInto traits for failable conversions that return a Result.")
     (home-page "https://github.com/derekjw/try_from")
     (synopsis "TryFrom and TryInto traits for failable conversions")
     (description
       "TryFrom and TryInto traits for failable conversions that return a Result.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-try-lock
+(define-public rust-try-lock-0.2
   (package
     (name "rust-try-lock")
     (version "0.2.2")
   (package
     (name "rust-try-lock")
     (version "0.2.2")
@@ -3619,7 +4002,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "try-lock" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "try-lock" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
         (sha256
          (base32
           "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
@@ -3628,9 +4011,10 @@ in Rust.")
     (synopsis "Lightweight atomic lock")
     (description
      "This package provides a lightweight atomic lock.")
     (synopsis "Lightweight atomic lock")
     (description
      "This package provides a lightweight atomic lock.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-typeable
+(define-public rust-typeable-0.1
   (package
     (name "rust-typeable")
     (version "0.1.2")
   (package
     (name "rust-typeable")
     (version "0.1.2")
@@ -3638,7 +4022,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "typeable" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "typeable" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
         (sha256
          (base32
           "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
@@ -3646,9 +4030,10 @@ in Rust.")
     (home-page "https://github.com/reem/rust-typeable")
     (synopsis "Exposes Typeable, for getting TypeIds at runtime")
     (description "Exposes Typeable, for getting TypeIds at runtime.")
     (home-page "https://github.com/reem/rust-typeable")
     (synopsis "Exposes Typeable, for getting TypeIds at runtime")
     (description "Exposes Typeable, for getting TypeIds at runtime.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-typemap
+(define-public rust-typemap-0.3
   (package
     (name "rust-typemap")
     (version "0.3.3")
   (package
     (name "rust-typemap")
     (version "0.3.3")
@@ -3656,21 +4041,19 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "typemap" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "typemap" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-unsafe-any" ,rust-unsafe-any))))
     (home-page "https://github.com/reem/rust-typemap")
     (synopsis "Typesafe store for many value types")
     (description
      "A typesafe store for many value types.")
     (home-page "https://github.com/reem/rust-typemap")
     (synopsis "Typesafe store for many value types")
     (description
      "A typesafe store for many value types.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-typenum
+(define-public rust-typenum-1.10
   (package
     (name "rust-typenum")
     (version "1.10.0")
   (package
     (name "rust-typenum")
     (version "1.10.0")
@@ -3678,7 +4061,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "typenum" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "typenum" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
         (sha256
          (base32
           "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
@@ -3689,10 +4072,11 @@ in Rust.")
 compile time.  It currently supports bits, unsigned integers, and signed
 integers.  It also provides a type-level array of type-level numbers, but its
 implementation is incomplete.")
 compile time.  It currently supports bits, unsigned integers, and signed
 integers.  It also provides a type-level array of type-level numbers, but its
 implementation is incomplete.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-ucd-trie
+(define-public rust-ucd-trie-0.1
   (package
     (name "rust-ucd-trie")
     (version "0.1.2")
   (package
     (name "rust-ucd-trie")
     (version "0.1.2")
@@ -3700,22 +4084,20 @@ implementation is incomplete.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ucd-trie" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "ucd-trie" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-      (("rust-lazy-static" ,rust-lazy-static))))
     (home-page "https://github.com/BurntSushi/ucd-generate")
     (synopsis "Trie for storing Unicode codepoint sets and maps")
     (description
      "This package provides a trie for storing Unicode codepoint sets and maps.")
     (home-page "https://github.com/BurntSushi/ucd-generate")
     (synopsis "Trie for storing Unicode codepoint sets and maps")
     (description
      "This package provides a trie for storing Unicode codepoint sets and maps.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-ucd-util
+(define-public rust-ucd-util-0.1
   (package
     (name "rust-ucd-util")
     (version "0.1.5")
   (package
     (name "rust-ucd-util")
     (version "0.1.5")
@@ -3723,7 +4105,7 @@ implementation is incomplete.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ucd-util" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "ucd-util" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs"))))
         (sha256
          (base32
           "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs"))))
@@ -3732,10 +4114,11 @@ implementation is incomplete.")
     (synopsis "library for working with the Unicode character database")
     (description "This package provides a small utility library for working
 with the Unicode character database.")
     (synopsis "library for working with the Unicode character database")
     (description "This package provides a small utility library for working
 with the Unicode character database.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unicase
+(define-public rust-unicase-2.4
   (package
     (name "rust-unicase")
     (version "2.4.0")
   (package
     (name "rust-unicase")
     (version "2.4.0")
@@ -3743,41 +4126,41 @@ with the Unicode character database.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unicase" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "unicase" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1))))
     (home-page "https://github.com/seanmonstar/unicase")
     (synopsis "Case-insensitive wrapper around strings")
     (description
      "A case-insensitive wrapper around strings.")
     (home-page "https://github.com/seanmonstar/unicase")
     (synopsis "Case-insensitive wrapper around strings")
     (description
      "A case-insensitive wrapper around strings.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unicode-width
+(define-public rust-unicode-width-0.1
   (package
     (name "rust-unicode-width")
   (package
     (name "rust-unicode-width")
-    (version "0.1.5")
+    (version "0.1.6")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unicode-width" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unicode-width" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
         (sha256
          (base32
-          "09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8"))))
+          "082f9hv1r3gcd1xl33whjhrm18p0w9i77zhhhkiccb5r47adn1vh"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/unicode-rs/unicode-width")
     (synopsis "Determine displayed width according to Unicode rules")
     (description "This crate allows you to determine displayed width of
 @code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
     (build-system cargo-build-system)
     (home-page "https://github.com/unicode-rs/unicode-width")
     (synopsis "Determine displayed width according to Unicode rules")
     (description "This crate allows you to determine displayed width of
 @code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unicode-xid
+(define-public rust-unicode-xid-0.2
   (package
     (name "rust-unicode-xid")
     (version "0.2.0")
   (package
     (name "rust-unicode-xid")
     (version "0.2.0")
@@ -3786,7 +4169,7 @@ with the Unicode character database.")
         (method url-fetch)
         (uri (crate-uri "unicode-xid" version))
         (file-name
         (method url-fetch)
         (uri (crate-uri "unicode-xid" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
         (sha256
          (base32
           "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
@@ -3796,44 +4179,66 @@ with the Unicode character database.")
     (synopsis "Determine Unicode XID related properties")
     (description "Determine whether characters have the XID_Start
 or XID_Continue properties according to Unicode Standard Annex #31.")
     (synopsis "Determine Unicode XID related properties")
     (description "Determine whether characters have the XID_Start
 or XID_Continue properties according to Unicode Standard Annex #31.")
+    (properties '((hidden? . #t)))
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
 (define-public rust-unicode-xid-0.1
   (package
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
 (define-public rust-unicode-xid-0.1
   (package
-    (inherit rust-unicode-xid)
+    (inherit rust-unicode-xid-0.2)
     (name "rust-unicode-xid")
     (version "0.1.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unicode-xid" version))
     (name "rust-unicode-xid")
     (version "0.1.0")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unicode-xid" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
 
         (sha256
          (base32
           "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
 
-(define-public rust-unindent
+(define-public rust-unindent-0.1
   (package
     (name "rust-unindent")
   (package
     (name "rust-unindent")
-    (version "0.1.3")
+    (version "0.1.5")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unindent" version))
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "unindent" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
         (sha256
-         (base32
-          "1x21ilf78aqcq9xzb9b7i628wm10rhk0jp0chlv06rkc690l8jw3"))))
+         (base32 "14s97blyqgf9hzxk22iazrghj60midajkw2801dfspz3n2iqmwb3"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/dtolnay/indoc")
     (synopsis "Remove a column of leading whitespace from a string")
     (description "This crate allows you to remove a column of leading
 whitespace from a string.")
     (build-system cargo-build-system)
     (home-page "https://github.com/dtolnay/indoc")
     (synopsis "Remove a column of leading whitespace from a string")
     (description "This crate allows you to remove a column of leading
 whitespace from a string.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-unreachable-1.0
+  (package
+    (name "rust-unreachable")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "unreachable" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-unreachable")
+    (synopsis "Unreachable code optimization hint in rust")
+    (description
+     "This package provides an unreachable code optimization hint in rust.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-unsafe-any
+(define-public rust-unsafe-any-0.4
   (package
     (name "rust-unsafe-any")
     (version "0.4.2")
   (package
     (name "rust-unsafe-any")
     (version "0.4.2")
@@ -3841,21 +4246,19 @@ whitespace from a string.")
       (origin
         (method url-fetch)
         (uri (crate-uri "unsafe-any" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "unsafe-any" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-traitobject" ,rust-traitobject))))
     (home-page "https://tokio.rs")
     (synopsis "Traits and implementations for unchecked downcasting")
     (description
      "Traits and implementations for unchecked downcasting.")
     (home-page "https://tokio.rs")
     (synopsis "Traits and implementations for unchecked downcasting")
     (description
      "Traits and implementations for unchecked downcasting.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-untrusted
+(define-public rust-untrusted-0.7
   (package
     (name "rust-untrusted")
     (version "0.7.0")
   (package
     (name "rust-untrusted")
     (version "0.7.0")
@@ -3863,7 +4266,7 @@ whitespace from a string.")
       (origin
         (method url-fetch)
         (uri (crate-uri "untrusted" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "untrusted" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
         (sha256
          (base32
           "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
@@ -3873,9 +4276,10 @@ whitespace from a string.")
     (description
      "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
 untrusted inputs in Rust.")
     (description
      "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
 untrusted inputs in Rust.")
+    (properties '((hidden? . #t)))
     (license license:isc)))
 
     (license license:isc)))
 
-(define-public rust-vcpkg
+(define-public rust-vcpkg-0.2
   (package
     (name "rust-vcpkg")
     (version "0.2.7")
   (package
     (name "rust-vcpkg")
     (version "0.2.7")
@@ -3883,25 +4287,42 @@ untrusted inputs in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "vcpkg" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "vcpkg" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "15dzk1b96q946v9aisbd1bbhi33n93wvgziwh1shmscn1xflbp9k"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "15dzk1b96q946v9aisbd1bbhi33n93wvgziwh1shmscn1xflbp9k"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static)
-        ("rust-tempdir" ,rust-tempdir))
-       #:tests? #f)) ; tests try to link libmysql, graphite2, harfbuzz
     (home-page "https://github.com/mcgoo/vcpkg-rs")
     (synopsis "Find native dependencies in a vcpkg tree at build time")
     (description
      "This package provides a library to find native dependencies in a
 @code{vcpkg} tree at build time in order to be used in Cargo build scripts.")
     (home-page "https://github.com/mcgoo/vcpkg-rs")
     (synopsis "Find native dependencies in a vcpkg tree at build time")
     (description
      "This package provides a library to find native dependencies in a
 @code{vcpkg} tree at build time in order to be used in Cargo build scripts.")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-vec-map-0.8
+  (package
+    (name "rust-vec-map")
+    (version "0.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "vec_map" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/contain-rs/vec-map")
+    (synopsis "Simple map based on a vector for small integer keys")
+    (description
+     "This package provides a simple map based on a vector for small integer keys.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-version-check
+(define-public rust-version-check-0.9
   (package
     (name "rust-version-check")
     (version "0.9.1")
   (package
     (name "rust-version-check")
     (version "0.9.1")
@@ -3909,7 +4330,7 @@ untrusted inputs in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
         (sha256
          (base32
           "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
@@ -3922,24 +4343,25 @@ version requirements.  The version is queried by calling the Rust compiler with
 @code{--version}.  The path to the compiler is determined first via the
 @code{RUSTC} environment variable.  If it is not set, then @code{rustc} is used.
 If that fails, no determination is made, and calls return None.")
 @code{--version}.  The path to the compiler is determined first via the
 @code{RUSTC} environment variable.  If it is not set, then @code{rustc} is used.
 If that fails, no determination is made, and calls return None.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-version-check-0.1
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-version-check-0.1
   (package
-    (inherit rust-version-check)
+    (inherit rust-version-check-0.9)
     (name "rust-version-check")
     (version "0.1.5")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
     (name "rust-version-check")
     (version "0.1.5")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
 
         (sha256
          (base32
           "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
 
-(define-public rust-void
+(define-public rust-void-1.0
   (package
     (name "rust-void")
     (version "1.0.2")
   (package
     (name "rust-void")
     (version "1.0.2")
@@ -3947,7 +4369,7 @@ If that fails, no determination is made, and calls return None.")
       (origin
         (method url-fetch)
         (uri (crate-uri "void" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "void" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
         (sha256
          (base32
           "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
@@ -3956,9 +4378,10 @@ If that fails, no determination is made, and calls return None.")
     (synopsis "Void type for use in statically impossible cases")
     (description
      "The uninhabited void type for use in statically impossible cases.")
     (synopsis "Void type for use in statically impossible cases")
     (description
      "The uninhabited void type for use in statically impossible cases.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-walkdir
+(define-public rust-walkdir-2.2
   (package
     (name "rust-walkdir")
     (version "2.2.9")
   (package
     (name "rust-walkdir")
     (version "2.2.9")
@@ -3966,25 +4389,19 @@ If that fails, no determination is made, and calls return None.")
       (origin
         (method url-fetch)
         (uri (crate-uri "walkdir" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "walkdir" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-same-file" ,rust-same-file)
-        ("rust-winapi" ,rust-winapi)
-        ("rust-winapi-util" ,rust-winapi-util))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment))))
     (home-page  "https://github.com/BurntSushi/walkdir")
     (synopsis "Recursively walk a directory")
     (description "Recursively walk a directory.")
     (home-page  "https://github.com/BurntSushi/walkdir")
     (synopsis "Recursively walk a directory")
     (description "Recursively walk a directory.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-wasi
+(define-public rust-wasi-0.5
   (package
     (name "rust-wasi")
     (version "0.5.0")
   (package
     (name "rust-wasi")
     (version "0.5.0")
@@ -3993,7 +4410,7 @@ If that fails, no determination is made, and calls return None.")
        (method url-fetch)
        (uri (crate-uri "wasi" version))
        (file-name
        (method url-fetch)
        (uri (crate-uri "wasi" version))
        (file-name
-        (string-append name "-" version ".tar.gz"))
+        (string-append name "-" version ".crate"))
        (sha256
         (base32
          "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
        (sha256
         (base32
          "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
@@ -4002,9 +4419,10 @@ If that fails, no determination is made, and calls return None.")
     (synopsis "Experimental WASI API bindings for Rust")
     (description "This package contains experimental WASI API bindings
 in Rust.")
     (synopsis "Experimental WASI API bindings for Rust")
     (description "This package contains experimental WASI API bindings
 in Rust.")
+    (properties '((hidden? . #t)))
     (license license:asl2.0)))
 
     (license license:asl2.0)))
 
-(define-public rust-wasm-bindgen-shared
+(define-public rust-wasm-bindgen-shared-0.2
   (package
     (name "rust-wasm-bindgen-shared")
     (version "0.2.48")
   (package
     (name "rust-wasm-bindgen-shared")
     (version "0.2.48")
@@ -4012,7 +4430,7 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "wasm-bindgen-shared" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "wasm-bindgen-shared" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
         (sha256
          (base32
           "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
@@ -4021,10 +4439,11 @@ in Rust.")
     (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
     (description "This package provides shared support between
 @code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
     (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
     (description "This package provides shared support between
 @code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-wasm-bindgen-test-macro
+(define-public rust-wasm-bindgen-test-macro-0.2
   (package
     (name "rust-wasm-bindgen-test-macro")
     (version "0.2.48")
   (package
     (name "rust-wasm-bindgen-test-macro")
     (version "0.2.48")
@@ -4032,23 +4451,20 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "wasm-bindgen-test-macro" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "wasm-bindgen-test-macro" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2)
-        ("rust-quote" ,rust-quote))))
     (home-page "https://github.com/rustwasm/wasm-bindgen")
     (synopsis "Internal testing macro for wasm-bindgen")
     (description
      "This library contains the internal testing macro for wasm-bindgen.")
     (home-page "https://github.com/rustwasm/wasm-bindgen")
     (synopsis "Internal testing macro for wasm-bindgen")
     (description
      "This library contains the internal testing macro for wasm-bindgen.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-widestring
+(define-public rust-widestring-0.4
   (package
     (name "rust-widestring")
     (version "0.4.0")
   (package
     (name "rust-widestring")
     (version "0.4.0")
@@ -4056,24 +4472,22 @@ in Rust.")
       (origin
         (method url-fetch)
         (uri (crate-uri "widestring" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "widestring" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/starkat99/widestring-rs")
     (synopsis "Wide string Rust FFI library")
     (description
      "A wide string Rust FFI library for converting to and from wide strings,
     (home-page "https://github.com/starkat99/widestring-rs")
     (synopsis "Wide string Rust FFI library")
     (description
      "A wide string Rust FFI library for converting to and from wide strings,
-such as those often used in Windows API or other FFI libaries.  Both UTF-16 and
+such as those often used in Windows API or other FFI libraries.  Both UTF-16 and
 UTF-32 types are provided, including support for malformed encoding.")
 UTF-32 types are provided, including support for malformed encoding.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi
+(define-public rust-winapi-0.3
   (package
     (name "rust-winapi")
     (version "0.3.8")
   (package
     (name "rust-winapi")
     (version "0.3.8")
@@ -4081,46 +4495,40 @@ UTF-32 types are provided, including support for malformed encoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
     (build-system cargo-build-system)
+    ;; This package depends unconditionally on these two crates.
     (arguments
      `(#:cargo-inputs
     (arguments
      `(#:cargo-inputs
-       (("rust-winapi-i686-pc-windows-gnu"
-         ,rust-winapi-i686-pc-windows-gnu)
-        ("rust-winapi-x86-64-pc-windows-gnu"
-         ,rust-winapi-x86-64-pc-windows-gnu))))
+       (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
+        ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Raw FFI bindings for all of Windows API.")
     (description
      "Raw FFI bindings for all of Windows API.")
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Raw FFI bindings for all of Windows API.")
     (description
      "Raw FFI bindings for all of Windows API.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-winapi-0.2
   (package
     (license (list license:asl2.0
                    license:expat))))
 
 (define-public rust-winapi-0.2
   (package
-    (inherit rust-winapi)
+    (inherit rust-winapi-0.3)
     (name "rust-winapi")
     (version "0.2.8")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi" version))
     (name "rust-winapi")
     (version "0.2.8")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
         (sha256
          (base32
           "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
-    ;; We do not want to package 48 -sys crates for a package we do not want.
-    ;; They are all dev dependencies, so we skip building and testing.
-    (arguments
-     `(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build))))))
+    (arguments '())))
 
 
-(define-public rust-winapi-build
+(define-public rust-winapi-build-0.1
   (package
     (name "rust-winapi-build")
     (version "0.1.1")
   (package
     (name "rust-winapi-build")
     (version "0.1.1")
@@ -4128,7 +4536,7 @@ UTF-32 types are provided, including support for malformed encoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-build" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-build" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
         (sha256
          (base32
           "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
@@ -4137,9 +4545,10 @@ UTF-32 types are provided, including support for malformed encoding.")
     (synopsis "Common code for build.rs in WinAPI -sys crates")
     (description
      "Common code for build.rs in WinAPI -sys crates.")
     (synopsis "Common code for build.rs in WinAPI -sys crates")
     (description
      "Common code for build.rs in WinAPI -sys crates.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-winapi-i686-pc-windows-gnu
+(define-public rust-winapi-i686-pc-windows-gnu-0.4
   (package
     (name "rust-winapi-i686-pc-windows-gnu")
     (version "0.4.0")
   (package
     (name "rust-winapi-i686-pc-windows-gnu")
     (version "0.4.0")
@@ -4147,7 +4556,7 @@ UTF-32 types are provided, including support for malformed encoding.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
         (sha256
          (base32
           "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
@@ -4157,10 +4566,11 @@ UTF-32 types are provided, including support for malformed encoding.")
     (description "This crate provides import libraries for the
 i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
     (description "This crate provides import libraries for the
 i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi-util
+(define-public rust-winapi-util-0.1
   (package
     (name "rust-winapi-util")
     (version "0.1.2")
   (package
     (name "rust-winapi-util")
     (version "0.1.2")
@@ -4168,22 +4578,21 @@ i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-util" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-util" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-winapi" ,rust-winapi))))
     (home-page "https://github.com/BurntSushi/winapi-util")
     (synopsis "Dumping ground for high level safe wrappers over winapi")
     (description
      "This package provides a dumping ground for high level safe wrappers over
 winapi.")
     (home-page "https://github.com/BurntSushi/winapi-util")
     (synopsis "Dumping ground for high level safe wrappers over winapi")
     (description
      "This package provides a dumping ground for high level safe wrappers over
 winapi.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-winapi-x86-64-pc-windows-gnu
+(define-public rust-winapi-x86-64-pc-windows-gnu-0.4
   (package
     (name "rust-winapi-x86-64-pc-windows-gnu")
     (version "0.4.0")
   (package
     (name "rust-winapi-x86-64-pc-windows-gnu")
     (version "0.4.0")
@@ -4191,7 +4600,7 @@ winapi.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
         (sha256
          (base32
           "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
@@ -4201,10 +4610,11 @@ winapi.")
     (description "This package provides import libraries for the
 x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
     (description "This package provides import libraries for the
 x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-wincolor
+(define-public rust-wincolor-1.0
   (package
     (name "rust-wincolor")
     (version "1.0.2")
   (package
     (name "rust-wincolor")
     (version "1.0.2")
@@ -4212,24 +4622,21 @@ x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
       (origin
         (method url-fetch)
         (uri (crate-uri "wincolor" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "wincolor" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi)
-        ("rust-winapi-util" ,rust-winapi-util))))
     (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor")
     (synopsis "Windows API for controlling text color in a Windows console")
     (description
      "This package provides a simple Windows specific API for controlling text
 color in a Windows console.")
     (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor")
     (synopsis "Windows API for controlling text color in a Windows console")
     (description
      "This package provides a simple Windows specific API for controlling text
 color in a Windows console.")
+    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
     (license (list license:unlicense
                    license:expat))))
 
-(define-public rust-winutil
+(define-public rust-winutil-0.1
   (package
     (name "rust-winutil")
     (version "0.1.1")
   (package
     (name "rust-winutil")
     (version "0.1.1")
@@ -4237,26 +4644,19 @@ color in a Windows console.")
       (origin
         (method url-fetch)
         (uri (crate-uri "winutil" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "winutil" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi))
-       ;; This unmaintained crate cannot find winapi when built directly.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build))))
     (home-page "https://bitbucket.org/DaveLancaster/winutil")
     (synopsis "Library wrapping a handful of useful winapi functions")
     (description
      "A simple library wrapping a handful of useful winapi functions.")
     (home-page "https://bitbucket.org/DaveLancaster/winutil")
     (synopsis "Library wrapping a handful of useful winapi functions")
     (description
      "A simple library wrapping a handful of useful winapi functions.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-ws2-32-sys
+(define-public rust-ws2-32-sys-0.2
   (package
     (name "rust-ws2-32-sys")
     (version "0.2.1")
   (package
     (name "rust-ws2-32-sys")
     (version "0.2.1")
@@ -4264,29 +4664,19 @@ color in a Windows console.")
       (origin
         (method url-fetch)
         (uri (crate-uri "ws2_32-sys" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "ws2_32-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2)
-        ("rust-winapi-build" ,rust-winapi-build))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.* }") "}\n"))
-             #t)))))
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Function definitions for the Windows API library ws2_32")
     (description
      "Contains function definitions for the Windows API library ws2_32.")
     (home-page "https://github.com/retep998/winapi-rs")
     (synopsis "Function definitions for the Windows API library ws2_32")
     (description
      "Contains function definitions for the Windows API library ws2_32.")
+    (properties '((hidden? . #t)))
     (license license:expat)))
 
     (license license:expat)))
 
-(define-public rust-xattr
+(define-public rust-xattr-0.2
   (package
     (name "rust-xattr")
     (version "0.2.2")
   (package
     (name "rust-xattr")
     (version "0.2.2")
@@ -4294,26 +4684,21 @@ color in a Windows console.")
       (origin
         (method url-fetch)
         (uri (crate-uri "xattr" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "xattr" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
     (build-system cargo-build-system)
         (sha256
          (base32
           "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc))
-       #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile))
-       #:tests? #f)) ; Tests assume read access to /var.
     (home-page "https://github.com/Stebalien/xattr")
     (synopsis "Unix extended filesystem attributes")
     (description
      "This package provide a small library for setting, getting, and listing
 extended attributes.")
     (home-page "https://github.com/Stebalien/xattr")
     (synopsis "Unix extended filesystem attributes")
     (description
      "This package provide a small library for setting, getting, and listing
 extended attributes.")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-xdg
+(define-public rust-xdg-2.2
   (package
     (name "rust-xdg")
     (version "2.2.0")
   (package
     (name "rust-xdg")
     (version "2.2.0")
@@ -4321,7 +4706,7 @@ extended attributes.")
       (origin
         (method url-fetch)
         (uri (crate-uri "xdg" version))
       (origin
         (method url-fetch)
         (uri (crate-uri "xdg" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
           "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
         (sha256
          (base32
           "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
@@ -4331,5 +4716,6 @@ extended attributes.")
     (description
      "This package provides a library for storing and retrieving files according
 to XDG Base Directory specification")
     (description
      "This package provides a library for storing and retrieving files according
 to XDG Base Directory specification")
+    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
     (license (list license:asl2.0
                    license:expat))))