Subject: [PATCH] Add Alacritty and many Rust dependencies

From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 23:46:14 +0300

Hey Guix!

Here's Alacritty 0.4.1 and many Rust dependencies that it requires
directly and transitively. I've tried to make patches in topological
order but might've screwed that order up because I had to rebase many
of them on top of master couple times.

I also cut a couple corners in that I haven't packaged all glium
version down to 0.11 because the latest glium has cyclig dev
dependencies on many of its previous versions through cgmath. I left a
todo comment though.

Also I hope I didn't messed up a patch sending workflow, it's the
first time I'm doing it this way.

Valentin
From 0f8c4bde1b1954ff9ac9dfc382facf590df591ec Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:45:33 +0300
Subject: [PATCH 273/275] gnu: Add rust-winit-c2fdb27092aba5a7.

* gnu/packages/crates-io.scm (rust-winit-c2fdb27092aba5a7):
New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9377117504..833d9ffd6c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20234,6 +20234,21 @@ color in a Windows console.")
         ("rust-winapi" ,rust-winapi-0.3)
         ("rust-x11-dl" ,rust-x11-dl-2))))))
 
+;; For Alacritty v0.4.1
+(define-public rust-winit-c2fdb27092aba5a7
+  (package
+    (inherit rust-winit-0.20)
+    (name "rust-winit")
+    (version "0.20.0-alpha6-c2fdb27092aba5a7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+         "https://github.com/rust-windowing/winit/archive/d1c6506865c7bddbb5fb4d80a613e43ddc1370b5.tar.gz")
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dqbrlxa9b71pscxk2vsbyf17ifz7x77ysyp0dmvh9bg3ai79chf"))))))
+
 (define-public rust-winpty-sys-0.4
   (package
     (name "rust-winpty-sys")
-- 
2.25.0

From 08b338e4669bbe889e8aba05c3fbd69eb8e7514a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 21:31:24 +0300
Subject: [PATCH 275/275] gnu: Add alacritty

* gnu/packages/terminals.scm (alacritty): New variable.
---
 gnu/packages/terminals.scm | 204 +++++++++++++++++++++++++++++++++++++
 1 file changed, 204 insertions(+)

diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index dae14aee8f..a78da99127 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2019 Pierre Langlois <[email-masked]>
 ;;; Copyright © 2019 Brett Gilio <[email-masked]>
 ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
+;;; Copyright © 2020 Valentin Ignatev <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +37,7 @@
 
 (define-module (gnu packages terminals)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cargo)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
@@ -47,7 +49,9 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages fontutils)
@@ -72,11 +76,13 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -1141,3 +1147,201 @@ while also supporting native scrolling and @command{tmux} control mode
 an st fork using wld. st is a simple terminal emulator for X originally
 made by suckless.")
     (license license:x11)))
+
+(define-public alacritty
+  (package
+    (name "alacritty")
+    (version "0.4.1")
+    (source
+     (origin
+       ;; cargo-build-system breaks if using url-fetch with a tar archive
+       ;; so use git-fetch with a tag instead
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jwilm/alacritty.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; cargo-build-system does not allow Cargo to patch packages from
+        ;; the Internet so we use glutin with a patched winit instead,
+        ;; look for "rust-glutin" cargo input.
+        '(substitute* "Cargo.toml"
+           (("winit = \\{ git = .*, rev = .* \\}") "")))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-env-logger" ,rust-env-logger-0.7)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-glutin" ,rust-glutin-0.22-for-alacritty)
+        ("rust-notify" ,rust-notify-4)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-parking-lot" ,rust-parking-lot-0.9)
+        ("rust-urlocator" ,rust-urlocator-0.1)
+        ("rust-xdg" ,rust-xdg-2.2)
+        ("rust-image" ,rust-image-0.22)
+        ("rust-dirs" ,rust-dirs-2.0)
+        ("rust-x11-dl" ,rust-x11-dl-2)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-base64" ,rust-base64-0.11)
+        ("rust-bigflags" ,rust-bitflags-1)
+        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-extras" ,rust-mio-extras-2)
+        ("rust-terminfo" ,rust-terminfo-0.6)
+        ("rust-url" ,rust-url-2.1)
+        ("rust-vte" ,rust-vte-0.3)
+        ("rust-nix" ,rust-nix-0.15)
+        ("rust-miow" ,rust-miow-0.3)
+        ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1)
+        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
+        ("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-clipboard-win" ,rust-clipboard-win-2.1)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-objc-id" ,rust-objc-id-0.1)
+        ("rust-objc-foundation" ,rust-objc-foundation-0.1)
+        ("rust-x11-clipboard" ,rust-x11-clipboard-0.4)
+        ("rust-smithay-clipboard" ,rust-smithay-clipboard-0.3)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-euclid" ,rust-euclid-0.20)
+        ("rust-foreign-types" ,rust-foreign-types-0.5)
+        ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.4)
+        ("rust-freetype-rs" ,rust-freetype-rs-0.23)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
+        ("rust-core-text" ,rust-core-text-13)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-dwrote" ,rust-dwrote-0.9)
+        ("rust-winpty-sys" ,rust-winpty-sys-0.4))
+       #:cargo-development-inputs
+       (("rust-rustc-tools-util" ,rust-rustc-tools-util-0.2)
+        ("rust-gl-generator" ,rust-gl-generator-0.14)
+        ("rust-andrew" ,rust-andrew-0.2)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)
+        ("rust-embed-resource" ,rust-embed-resource-1.3)
+        ("rust-http-req" ,rust-http-req-0.5)
+        ("rust-zip" ,rust-zip-0.5)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-named-pipe" ,rust-named-pipe-0.4)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'patch-glutin-libgl-path-remove-alacritty-vendor
+           (lambda* (#:key inputs cargo-inputs #:allow-other-keys)
+             (let* ((vendor-dir "guix-vendor/")
+                    (glutin-name
+                     ,(package-name rust-glutin-0.22-for-alacritty))
+                    (glutin-version
+                     ,(package-version rust-glutin-0.22-for-alacritty))
+                    (src-api
+                     (string-append
+                      glutin-name "-" glutin-version ".tar.gz/src/api/"))
+                    (mesa (assoc-ref inputs "mesa")))
+              (substitute* (string-append vendor-dir src-api "glx/mod.rs")
+                (("libGL.so") (string-append mesa "/lib/libGL.so")))
+              (substitute* (string-append vendor-dir src-api "egl/mod.rs")
+                (("libEGL.so") (string-append mesa "/lib/libEGL.so")))
+              ;; We don't want Alacritty to be a dependency of itself
+              ;; If we don't delete it from guix-vendor then build will fail
+              ;; because Alacritty has a virtual workspace Cargo.toml.
+              (delete-file-recursively
+               (string-append vendor-dir "alacritty-0.4.1.tar.xz")))))
+         ;; We don't need to run tests
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (share (string-append out "/share"))
+                    (icons (string-append share "/icons/hicolor/scalable/apps"))
+                    (gzip (string-append (assoc-ref inputs "gzip") "/bin/gzip"))
+                    (tic (string-append (assoc-ref inputs "ncurses") "/bin/tic"))
+                    (man (string-append share "/man/man1"))
+                    (icons-dir (string-append))
+                    (alacritty-bin "target/release/alacritty"))
+
+               ;; Install binary
+               (install-file alacritty-bin (string-append out "/bin"))
+
+               ;; Install man pages
+               (mkdir-p man)
+               ;; gzip will exit with status 2 because the file
+               ;; has a timestamp out of gzip's range so we use system*
+               ;; because we don't care about this warning.
+               (system* gzip "-k" "-q" "extra/alacritty.man")
+               ;; (invoke gzip "-k" "extra/alacritty.man")
+               (copy-file "extra/alacritty.man.gz" (string-append man "/alacritty.1.gz"))
+
+               ;; Install desktop file
+               (install-file "extra/linux/alacritty.desktop"
+                             (string-append share "/applications"))
+
+               ;; Install icon
+               (mkdir-p icons)
+               (copy-file "extra/logo/alacritty-term.svg"
+                          (string-append icons "/Alacritty.svg"))
+
+               ;; Install terminfo
+               (mkdir-p (string-append share "/terminfo"))
+               ;; We don't compile alacritty-common entry because
+               ;; it's being used only for inheritance
+               (invoke tic "-x" "-e" "alacritty,alacritty-direct"
+                       "-o" (string-append share "/terminfo/")
+                       "extra/alacritty.info")
+
+               ;; Install completions
+               (install-file
+                "extra/completions/alacritty.bash"
+                (string-append out "/etc/bash_completion.d"))
+               (install-file
+                "extra/completions/_alacritty"
+                (string-append share "/zsh/site-functions"))
+               (install-file
+                "extra/completions/alacritty.fish"
+                (string-append share "/fish/vendor_completions.d"))
+               #t)))
+         ;; The 'reset-gzip-timestamps phase will throw a
+         ;; permission error if gzip files aren't writable
+         (add-before
+             'reset-gzip-timestamps
+             'make-compressed-files-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files %output ".*\\.t?gz$"))
+             #t)))))
+    (inputs
+     `(("expat" ,expat)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("libxcb" ,libxcb)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libx11" ,libx11)
+       ("libxcursor" ,libxcursor)
+       ("libxi" ,libxi)
+       ("libxrandr" ,libxrandr)
+       ("libxxf86vm" ,libxxf86vm)
+       ("wayland" ,wayland)
+       ("mesa" ,mesa)))
+    (native-inputs
+     `(("cmake" ,cmake)
+       ("ncurses" ,ncurses)
+       ("python3" ,python)
+       ("pkg-config" ,pkg-config)
+       ("gzip" ,gzip)))
+    (home-page "https://github.com/alacritty/alacritty")
+    (synopsis "GPU-accelerated terminal emulator")
+    (description
+     "Alacritty is a GPU-accelerated terminal emulator with a strong
+focus on simplicity and performance.
+With such a strong focus on performance, included features are
+carefully considered and you can always expect Alacritty to be blazingly fast.
+By making sane choices for defaults, Alacritty requires no additional setup.
+However, it does allow configuration of many aspects of the terminal.")
+    (license license:asl2.0)))
-- 
2.25.0

From 0da49ff0ab510e05dc5691bf6e12b463d3745a51 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:44:17 +0300
Subject: [PATCH 272/275] gnu: Add rust-http-req-0.5.

* gnu/packages/crates-io.scm (rust-http-req-0.5): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f41f99de1b..9377117504 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7140,6 +7140,34 @@ compile time.")
 requests and responses.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-http-req-0.5
+  (package
+    (name "rust-http-req")
+    (version "0.5.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "http_req" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qaw43nwvvxbnqddxhb9fh9316dn64nmkzj08pq8n49qdy51xrys"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       ;; Haven't packaged rustls and webpki because of license
+       (("rust-native-tls" ,rust-native-tls-0.2)
+        ("rust-unicase" ,rust-unicase-2.4))))
+    (home-page
+     "https://github.com/jayjamesjay/http_req")
+    (synopsis
+     "simple and lightweight HTTP client with built-in HTTPS support")
+    (description
+     "simple and lightweight HTTP client with built-in HTTPS support")
+    (license license:expat)))
+
 (define-public rust-httparse-1.3
   (package
     (name "rust-httparse")
-- 
2.25.0

From 5c00a9d38335ecdfdc6d50dbace9b1755b25b8b5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:43:52 +0300
Subject: [PATCH 271/275] gnu: Add rust-native-tls-0.2.

* gnu/packages/crates-io.scm (rust-native-tls-0.2): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f24e836257..f41f99de1b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9445,6 +9445,43 @@ checking.")
      "Wrapper for overlapped (asyncronous) IO of Windows's named pipes")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-native-tls-0.2
+  (package
+    (name "rust-native-tls")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "native-tls" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ki7cj4wzyd2nach4qdjly69sp7rs0yz3n3z2ii4mm1gqajg2bab"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-openssl" ,rust-openssl-0.10)
+        ("rust-openssl-probe" ,rust-openssl-probe-0.1)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
+        ("rust-schannel" ,rust-schannel-0.1)
+        ("rust-security-framework" ,rust-security-framework-0.3)
+        ("rust-security-framework-sys" ,rust-security-framework-sys-0.3)
+        ("rust-tempfile" ,rust-tempfile-3.0))
+       #:cargo-development-inputs
+       (("rust-hex" ,rust-hex-0.3))))
+    (home-page
+     "https://github.com/sfackler/rust-native-tls")
+    (synopsis
+     "A wrapper over a platform's native TLS implementation")
+    (description
+     "This package provides a wrapper over a platform's native TLS implementation")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-net2-0.2
   (package
     (name "rust-net2")
-- 
2.25.0

From 32cb27aecd4496dc8dc4796d1eabfb597881b239 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:46:17 +0300
Subject: [PATCH 274/275] gnu: Add rust-glutin-0.22-for-alacritty.

* gnu/packages/crates-io.scm (rust-glutin-0.22-for-alacritty):
New variable.
---
 gnu/packages/crates-io.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 833d9ffd6c..4dc4109776 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2019 Giacomo Leidi <[email-masked]>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2019, 2020 John Soo <[email-masked]>
+;;; Copyright © 2020 Valentin Ignatev <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,7 +33,8 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages version-control))
+  #:use-module (gnu packages version-control)
+  #:use-module (guix utils))
 
 ;;;
 ;;; Please: Try to add new module packages in alphabetic order.
@@ -6328,6 +6330,16 @@ path simultaneously, and returning all of the globs that matched.")
      "Cross-platform OpenGL context provider.")
     (license license:asl2.0)))
 
+(define-public rust-glutin-0.22-for-alacritty
+  (package
+    (inherit rust-glutin-0.22)
+    (name "rust-glutin")
+    (arguments
+     (substitute-keyword-arguments (package-arguments rust-glutin-0.22)
+       ((#:cargo-inputs inputs)
+        (cons `("rust-winit" ,rust-winit-c2fdb27092aba5a7)
+              (delete `("rust-winit" ,rust-winit-0.20) inputs)))))))
+
 (define-public rust-glutin-0.21
   (package
     (inherit rust-glutin-0.22)
-- 
2.25.0

From d786f3f16c62fb35d88938b559c79dcd8df6f1bb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:12:40 +0300
Subject: [PATCH 266/275] gnu: Add rust-smithay-clipboard-0.3.

* gnu/packages/crates-io.scm (rust-smithay-clipboard-0.3): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e45bf43603..6c2238faae 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15424,6 +15424,35 @@ stack.")
         ("rust-image" ,rust-image-0.20)
         ("rust-wayland-client" ,rust-wayland-client-0.21))))))
 
+(define-public rust-smithay-clipboard-0.3
+  (package
+    (name "rust-smithay-clipboard")
+    (version "0.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smithay-clipboard" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nix" ,rust-nix-0.14)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6))
+       #:cargo-development-inputs
+       (("rust-andrew" ,rust-andrew-0.2))))
+    (home-page
+     "https://github.com/smithay/smithay-clipboard")
+    (synopsis
+     "Provides access to the wayland clipboard for client applications")
+    (description
+     "This package provides access to the wayland clipboard for client applications.")
+    (license license:expat)))
+
 (define-public rust-socket2-0.3
   (package
     (name "rust-socket2")
-- 
2.25.0

From 37e59ab29e664bcabf2746ab4a59ef9e8fb18778 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:15:28 +0300
Subject: [PATCH 267/275] gnu: Add rust-instant-0.1.

* gnu/packages/crates-io.scm (rust-instant-0.1): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6c2238faae..a3b317417b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7582,6 +7582,37 @@ renamed to indexmap.")
      "This package provides a snapshot testing library for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-instant-0.1
+  (package
+    (name "rust-instant")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "instant" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bwca9fr29a1pyimfl94q6m6k2l57ljw1hhhvjafzs1zkqlnqd3c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-stdweb" ,rust-stdweb-0.4)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-web-sys" ,rust-web-sys-0.3))
+       #:cargo-development-inputs
+       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (home-page
+     "https://github.com/sebcrozet/instant")
+    (synopsis
+     "A partial replacement for std::time::Instant that works on WASM too")
+    (description
+     "This package provides a partial replacement for std::time::Instant
+that works on WASM too.")
+    (license license:bsd-3)))
+
 (define-public rust-intervaltree-0.2
   (package
     (name "rust-intervaltree")
-- 
2.25.0

From 1fb42d98c4af7f9db56047abd93a6737accace7a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:40:00 +0300
Subject: [PATCH 268/275] gnu: Add rust-simd-0.1.

* gnu/packages/crates-io.scm (rust-simd-0.1): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a3b317417b..b2631cfac6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15248,6 +15248,28 @@ CPUs, as well as raw interfaces to platform-specific instructions.
 ")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-simd-0.1
+  (package
+    (inherit rust-simd-0.2)
+    (name "rust-simd")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17hqvvhnwjfybpy9v1cdsw8gjxizqjvsn2whw180arlpkwgj0v77"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-0.4)
+        ("rust-serde-macros" ,rust-serde-macros-0.4))
+       #:cargo-development-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1))))))
+
 (define-public rust-siphasher-0.2
   (package
     (name "rust-siphasher")
-- 
2.25.0

From 4e10c5442ef1c216feceafc3750dff3a2bdca40e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:41:39 +0300
Subject: [PATCH 269/275] gnu: rust-security-framework-sys-0.3: Update to
 0.3.3.

* gnu/packages/crates-io.scm (rust-security-framework-sys-0.3):
Update to 0.3.3.
---
 gnu/packages/crates-io.scm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b2631cfac6..9c334b47f6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14381,7 +14381,7 @@ proven statistical guarantees.")
 (define-public rust-security-framework-sys-0.3
   (package
     (name "rust-security-framework-sys")
-    (version "0.3.1")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
@@ -14389,13 +14389,16 @@ proven statistical guarantees.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln"))))
+          "15gqhhi206lzynd0pcbswxhvqc4p9bmpl2h9qnwfnpb16zy96573"))))
     (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6))))
     (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))))
 
-- 
2.25.0

From a2823fd32ccb3269231a71cd96ab6d4e62131abe Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:42:39 +0300
Subject: [PATCH 270/275] gnu: Add rust-security-framework-0.3.

* gnu/packages/crates-io.scm (rust-security-framework-0.3): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9c334b47f6..f24e836257 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14378,6 +14378,38 @@ Pwrite traits from the scroll crate.")
 proven statistical guarantees.")
     (license license:expat)))
 
+(define-public rust-security-framework-0.3
+  (package
+    (name "rust-security-framework")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "security-framework" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1pqn79cl9njnnhsmjvvphkzx8is5jhfd8bhxpllgvrgggjfl5wlf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-security-framework-sys" ,rust-security-framework-sys-0.3))
+       #:cargo-development-inputs
+       (("rust-hex" ,rust-hex-0.4)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://lib.rs/crates/security_framework")
+    (synopsis
+     "Security.framework bindings for macOS and iOS")
+    (description
+     "Security.framework bindings for macOS and iOS")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-security-framework-sys-0.3
   (package
     (name "rust-security-framework-sys")
-- 
2.25.0

From 48d03b7c3ddd61c0261173494dfecd9c1b8e321f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:12:14 +0300
Subject: [PATCH 265/275] gnu: Add rust-andrew-0.2.

* gnu/packages/crates-io.scm (rust-andrew-0.2): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c0c6f035cb..e45bf43603 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -211,6 +211,40 @@ Rust, using gimli.")
         ("rust-rand" ,rust-rand-0.3)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
 
+(define-public rust-andrew-0.2
+  (package
+    (name "rust-andrew")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "andrew" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pmklwcwy8g1jras46fz8xcny779zfqpg4riksrbdhkjk3w0jzwv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-line-drawing" ,rust-line-drawing-0.7)
+        ("rust-rusttype" ,rust-rusttype-0.7)
+        ("rust-walkdir" ,rust-walkdir-2.2)
+        ("rust-xdg" ,rust-xdg-2.2)
+        ("rust-xml-rs" ,rust-xml-rs-0.8))
+       #:cargo-development-inputs
+       (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4))))
+    (home-page "https://github.com/trimental/andrew")
+    (synopsis
+     "The andrew crate provides convenient drawing of objects such as shapes,
+lines and text to buffers")
+    (description
+     "The andrew crate provides convenient drawing of objects such as shapes,
+lines and text to buffers")
+    (license license:expat)))
+
 (define-public rust-android-glue-0.2
   (package
     (name "rust-android-glue")
-- 
2.25.0

From a4ae4de37d8634f4ba85ffc157a32c9e9d65192d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:10:49 +0300
Subject: [PATCH 264/275] gnu: Add rust-rusttype-0.7.

* gnu/packages/crates-io.scm (rust-rusttype-0.7): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ab3ef2eb64..c0c6f035cb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13922,6 +13922,32 @@ It also provides an implementation of a dynamic GPU glyph cache for hardware
 font rendering.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rusttype-0.7
+  (package
+    (inherit rust-rusttype-0.8)
+    (name "rust-rusttype")
+    (version "0.7.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rusttype" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1m9ms4p94cgif74y1rzkj04rx8i1la193c0jgvnip61rd904429i"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rusttype" ,rust-rusttype-0.8))
+       #:cargo-development-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.4)
+        ("rust-blake2" ,rust-blake2-0.8)
+        ("rust-glium" ,rust-glium-0.25)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))
+
 (define-public rust-rustversion-1.0
   (package
     (name "rust-rustversion")
-- 
2.25.0

From e7a23cc91b28b8c87cc4f8c110c984a7febea8af Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:09:37 +0300
Subject: [PATCH 263/275] gnu: Add rust-glium-0.25.

* gnu/packages/crates-io.scm (rust-glium-0.25): New variable.
---
 gnu/packages/crates-io.scm | 53 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d9a8f4e717..ab3ef2eb64 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6125,6 +6125,59 @@ reading and writing git repositories.")
      "Generated OpenGL bindings and wrapper for Servo.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-glium-0.25
+  (package
+    (name "rust-glium")
+    (version "0.25.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glium" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0mhjly07x10lxg802ppg16wbxddhh4fdnlg10i99qwpfamvqhzbd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-glutin" ,rust-glutin-0.21)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-smallvec" ,rust-smallvec-0.6)
+        ("rust-takeable-option" ,rust-takeable-option-0.4))
+       #:cargo-development-inputs
+       (("rust-cgmath" ,rust-cgmath-0.17)
+        ("rust-genmesh" ,rust-genmesh-0.6)
+        ("rust-gl-generator" ,rust-gl-generator-0.11)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-obj" ,rust-obj-0.9)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://github.com/glium/glium")
+    (synopsis
+     "Elegant and safe OpenGL wrapper")
+    (description
+     "Elegant and safe OpenGL wrapper.
+
+Glium is an intermediate layer between OpenGL and your application.
+You still need to manually handle the graphics pipeline,
+but without having to use OpenGL's old and error-prone API.
+
+Its objectives:
+
+ - Be safe to use.  Many aspects of OpenGL that can trigger
+a crash if misused are automatically handled by glium.
+ - Provide an API that enforces good pratices such as
+RAII or stateless function calls.
+ - Be compatible with all OpenGL versions that support shaders,
+providing unified API when things diverge.
+ - Avoid all OpenGL errors beforehand.
+ - Produce optimized OpenGL function calls,and allow the user to
+easily use modern OpenGL techniques.")
+    (license license:asl2.0)))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.25.0

From 8fc5f1dbbd726abfc3b0d4f1a27a6603f1d64d89 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:06:39 +0300
Subject: [PATCH 262/275] gnu: Add rust-glutin-0.21.

* gnu/packages/crates-io.scm (rust-glutin-0.21): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f9d9f1f5c3..d9a8f4e717 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6241,6 +6241,42 @@ path simultaneously, and returning all of the globs that matched.")
      "Cross-platform OpenGL context provider.")
     (license license:asl2.0)))
 
+(define-public rust-glutin-0.21
+  (package
+    (inherit rust-glutin-0.22)
+    (name "rust-glutin")
+    (version "0.21.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ggyyqn7dvz4yx5ygqfvnxwfb78wvdm5y6xqw5my1b4x61dv6wak"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-android-glue" ,rust-android-glue-0.2)
+        ("rust-cgl" ,rust-cgl-0.2)
+        ("rust-cocoa" ,rust-cocoa-0.18)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1)
+        ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1)
+        ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1)
+        ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1)
+        ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libloading" ,rust-libloading-0.5)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-osmesa-sys" ,rust-osmesa-sys-0.1)
+        ("rust-parking-lot" ,rust-parking-lot-0.9)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winit" ,rust-winit-0.19))))))
+
 (define-public rust-glutin-egl-sys-0.1
   (package
     (name "rust-glutin-egl-sys")
-- 
2.25.0

From 6779882c63f0ecf7b8917faa8761e7debeacfb5b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:04:34 +0300
Subject: [PATCH 261/275] gnu: Add rust-core-video-sys-0.1.

* gnu/packages/crates-io.scm (rust-core-video-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3908544731..f9d9f1f5c3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2655,6 +2655,37 @@ intrinsics.")
      "Bindings to the Core Text framework.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-core-video-sys-0.1
+  (package
+    (name "rust-core-video-sys")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "core-video-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1l59cg88482hkl95ssb30ac9x65hpbdsmxz9s5r6y222jlhnbh4d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-metal" ,rust-metal-0.14)
+        ("rust-objc" ,rust-objc-0.2))))
+    (home-page
+     "https://github.com/luozijun/rust-core-video-sys")
+    (synopsis
+     "Bindings to CoreVideo.framework for macOS and iOS")
+    (description
+     "Bindings to CoreVideo.framework for macOS and iOS.")
+    (license license:expat)))
+
 (define-public rust-crates-index-0.13
   (package
     (name "rust-crates-index")
-- 
2.25.0

From fb8b286d25946727db103138c9510864e6505b9f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:59:04 +0300
Subject: [PATCH 259/275] gnu: Add rust-winit-0.19.

* gnu/packages/crates-io.scm (rust-winit-0.19): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index edd11b5b99..63fc3c5407 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19800,6 +19800,43 @@ color in a Windows console.")
      "Cross-platform window creation library.")
     (license license:asl2.0)))
 
+(define-public rust-winit-0.19
+  (package
+    (inherit rust-winit-0.20)
+    (name "rust-winit")
+    (version "0.19.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1a4lnfyvlc4jabhs30wlmkgdjv7qhbplmyp833kl7ykjni5yp5hy"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-android-glue" ,rust-android-glue-0.2)
+        ("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cocoa" ,rust-cocoa-0.18)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-parking-lot" ,rust-parking-lot-0.9)
+        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
+        ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-x11-dl" ,rust-x11-dl-2))))))
+
 (define-public rust-winpty-sys-0.4
   (package
     (name "rust-winpty-sys")
-- 
2.25.0

From 5865afc3fdeabe6c2c9cd8656a81424b5950def4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 03:03:35 +0300
Subject: [PATCH 260/275] gnu: Add rust-metal-0.14.

* gnu/packages/crates-io.scm (rust-metal-0.14): New variable.
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 63fc3c5407..3908544731 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8818,6 +8818,41 @@ for Rust structs.")
          "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g"))))
     (arguments `(#:skip-build? #t))))
 
+(define-public rust-metal-0.14
+  (package
+    (name "rust-metal")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "metal" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0my1xwlv562i80y3jbk0nygayi383j5skdwk48clb286b7922gyd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-block" ,rust-block-0.1)
+        ("rust-cocoa" ,rust-cocoa-0.18)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-foreign-types" ,rust-foreign-types-0.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-objc-foundation" ,rust-objc-foundation-0.1)
+        ("rust-objc-id" ,rust-objc-id-0.1))
+       #:cargo-development-inputs
+       (("rust-sema" ,rust-sema-0.1)
+        ("rust-winit" ,rust-winit-0.19))))
+    (home-page "https://github.com/gfx-rs/metal-rs")
+    (synopsis "Rust bindings for Metal")
+    (description "Rust bindings for Metal")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-mime-0.3
   (package
     (name "rust-mime")
-- 
2.25.0

From 1c046669bd48600b88a8fbe455f0c9579f71f5b8 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:57:48 +0300
Subject: [PATCH 258/275] gnu: Add rust-smithay-client-toolkit-0.4.

* gnu/packages/crates-io.scm (rust-smithay-client-toolkit-0.4):
New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 98c0ccd818..edd11b5b99 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15178,6 +15178,37 @@ stack.")
      "Toolkit for making client wayland applications.")
     (license license:expat)))
 
+(define-public rust-smithay-client-toolkit-0.4
+  (package
+    (inherit rust-smithay-client-toolkit-0.6)
+    (name "rust-smithay-client-toolkit")
+    (version "0.4.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smithay-client-toolkit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1yj8yzd0lhqpsgq0x4iikl9a02q2hnkky81brk938alv0ibqrjrc"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-andrew" ,rust-andrew-0.2)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-protocols" ,rust-wayland-protocols-0.21))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-image" ,rust-image-0.20)
+        ("rust-wayland-client" ,rust-wayland-client-0.21))))))
+
 (define-public rust-socket2-0.3
   (package
     (name "rust-socket2")
-- 
2.25.0

From 90b3e6fe41261ffd51a6272fb6870d060b9c1621 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:53:10 +0300
Subject: [PATCH 257/275] gnu: Add rust-wayland-protocols-0.21.

* gnu/packages/crates-io.scm (rust-wayland-protocols-0.21):
New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c8a9de2afd..98c0ccd818 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19179,6 +19179,32 @@ client side")
      "Generated API for the officials wayland protocol extensions")
     (license license:expat)))
 
+(define-public rust-wayland-protocols-0.21
+  (package
+    (inherit rust-wayland-protocols-0.23)
+    (name "rust-wayland-protocols")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-protocols" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i91yh3nxk9llhly2ly3nvlfx0lbpvyq919cgmnyx3j25bmf5zaa"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-server" ,rust-wayland-server-0.21)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))
+       #:cargo-development-inputs
+       (("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
+
 (define-public rust-wayland-scanner-0.23
   (package
     (name "rust-wayland-scanner")
-- 
2.25.0

From 04a995ee1078def7affe2f35f44ffa088d2f6855 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:52:56 +0300
Subject: [PATCH 256/275] gnu: Add rust-wayland-server-0.21.

* gnu/packages/crates-io.scm (rust-wayland-server-0.21): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e3ad7fd0b6..c8a9de2afd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19268,6 +19268,35 @@ protocol, server side")
 protocol, server side.")
     (license license:expat)))
 
+(define-public rust-wayland-server-0.21
+  (package
+    (inherit rust-wayland-server-0.23)
+    (name "rust-wayland-server")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-server" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ayn4wlrpg0fw04prri9awpkjvbzjil0d3l3a8zs9pdbnspvw6ah"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))
+       #:cargo-development-inputs
+       (("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
+
 (define-public rust-wayland-sys-0.23
   (package
     (name "rust-wayland-sys")
-- 
2.25.0

From effdd3c4fe5cf5114711d645be54767d2ce17795 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:52:23 +0300
Subject: [PATCH 255/275] gnu: Add rust-wayland-client-0.21.

* gnu/packages/crates-io.scm (rust-wayland-client-0.21): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1e180d3ccd..e3ad7fd0b6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19070,6 +19070,37 @@ client side")
 client side")
     (license license:expat)))
 
+(define-public rust-wayland-client-0.21
+  (package
+    (inherit rust-wayland-client-0.23)
+    (name "rust-wayland-client")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-client" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04r7dy074hhdalsi1day482wvmczr40hg7qvrnzkgxpakrgkx5j9"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
+
 (define-public rust-wayland-commons-0.23
   (package
     (name "rust-wayland-commons")
-- 
2.25.0

From 0b6e89614e6e6f566c563d32910266e891c4642d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:48:44 +0300
Subject: [PATCH 253/275] gnu: Add rust-wayland-scanner-0.21.

* gnu/packages/crates-io.scm (rust-wayland-scanner-0.21): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c7b1aff09f..90aa91ace4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19159,6 +19159,27 @@ you are working on custom wayland protocol extensions.
 Look at the crate wayland-client for usable bindings.")
     (license license:expat)))
 
+(define-public rust-wayland-scanner-0.21
+  (package
+    (inherit rust-wayland-scanner-0.23)
+    (name "rust-wayland-scanner")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-scanner" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-xml-rs" ,rust-xml-rs-0.8))))))
+
 (define-public rust-wayland-server-0.23
   (package
     (name "rust-wayland-server")
-- 
2.25.0

From 88f0484965c4d4f35e72a7986bf93b918e936ce7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:49:16 +0300
Subject: [PATCH 254/275] gnu: Add rust-wayland-commons-0.21.

* gnu/packages/crates-io.scm (rust-wayland-commons-0.21): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 90aa91ace4..1e180d3ccd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19097,6 +19097,26 @@ client side")
      "Common types and structures used by wayland-client and wayland-server.")
     (license license:expat)))
 
+(define-public rust-wayland-commons-0.21
+  (package
+    (inherit rust-wayland-commons-0.23)
+    (name "rust-wayland-commons")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-commons" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v1jpcsnn6cwwy5ii5pdl58i6b9slmi8mn4my4fpwrlbfsb8ih20"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21))))))
+
 (define-public rust-wayland-protocols-0.23
   (package
     (name "rust-wayland-protocols")
-- 
2.25.0

From 04560de9a41fbb84cef2dc545e0d0e3c0c02e671 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:47:57 +0300
Subject: [PATCH 252/275] gnu: Add rust-wayland-sys-0.21.

* gnu/packages/crates-io.scm (rust-wayland-sys-0.21): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4935abc2e2..c7b1aff09f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19226,6 +19226,27 @@ You should only need this crate if you are working on custom wayland
 protocol extensions.  Look at the crate wayland-client for usable bindings.")
     (license license:expat)))
 
+(define-public rust-wayland-sys-0.21
+  (package
+    (inherit rust-wayland-sys-0.23)
+    (name "rust-wayland-sys")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2))))))
+
 (define-public rust-web-sys-0.3
   (package
     (name "rust-web-sys")
-- 
2.25.0

From e777d7543f519c025cca007798491d3009bb79be Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:43:30 +0300
Subject: [PATCH 251/275] gnu: Add rust-glutin-0.22.

* gnu/packages/crates-io.scm (rust-glutin-0.22): New variable.
---
 gnu/packages/crates-io.scm | 43 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b996868ae9..4935abc2e2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6167,6 +6167,49 @@ the process of matching one or more glob patterns against a single candidate
 path simultaneously, and returning all of the globs that matched.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-glutin-0.22
+  (package
+    (name "rust-glutin")
+    (version "0.22.0-alpha5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-android-glue" ,rust-android-glue-0.2)
+        ("rust-cgl" ,rust-cgl-0.3)
+        ("rust-cocoa" ,rust-cocoa-0.19)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1)
+        ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1)
+        ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1)
+        ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1)
+        ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libloading" ,rust-libloading-0.5)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-osmesa-sys" ,rust-osmesa-sys-0.1)
+        ("rust-parking-lot" ,rust-parking-lot-0.9)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winit" ,rust-winit-0.20))))
+    (home-page "https://github.com/tomaka/glutin")
+    (synopsis
+     "Cross-platform OpenGL context provider")
+    (description
+     "Cross-platform OpenGL context provider.")
+    (license license:asl2.0)))
+
 (define-public rust-glutin-egl-sys-0.1
   (package
     (name "rust-glutin-egl-sys")
-- 
2.25.0

From 883c142e5ada05278a45ceb41460258839f3d463 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:41:00 +0300
Subject: [PATCH 250/275] gnu: Add rust-winit-0.20.

* gnu/packages/crates-io.scm (rust-winit-0.20): New variable.
---
 gnu/packages/crates-io.scm | 52 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3d4de88377..b996868ae9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19526,6 +19526,58 @@ color in a Windows console.")
      "Interoperability library for Rust Windowing applications.")
     (license license:expat)))
 
+(define-public rust-winit-0.20
+  (package
+    (name "rust-winit")
+    (version "0.20.0-alpha6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g5cchl97zcg525j6jdr77yby8cmhwv1qqwcd3sf4l4zl263195z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-android-glue" ,rust-android-glue-0.2)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-cocoa" ,rust-cocoa-0.19)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-core-video-sys" ,rust-core-video-sys-0.1)
+        ("rust-dispatch" ,rust-dispatch-0.1)
+        ("rust-instant" ,rust-instant-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-parking-lot" ,rust-parking-lot-0.10)
+        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
+        ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)
+        ("rust-stdweb" ,rust-stdweb-0.4)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-web-sys" ,rust-web-sys-0.3)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-x11-dl" ,rust-x11-dl-2))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.5)
+        ("rust-image" ,rust-image-0.21))))
+    (home-page
+     "https://github.com/rust-windowing/winit")
+    (synopsis
+     "Cross-platform window creation library")
+    (description
+     "Cross-platform window creation library.")
+    (license license:asl2.0)))
+
 (define-public rust-winpty-sys-0.4
   (package
     (name "rust-winpty-sys")
-- 
2.25.0

From 078636ec4a7ff2a235654c677e4bc707aa563530 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:37:06 +0300
Subject: [PATCH 248/275] gnu: Add rust-wayland-protocols-0.23.

* gnu/packages/crates-io.scm (rust-wayland-protocols-0.23): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fb6d227ec2..96cdd70a27 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19017,6 +19017,37 @@ client side")
      "Common types and structures used by wayland-client and wayland-server.")
     (license license:expat)))
 
+(define-public rust-wayland-protocols-0.23
+  (package
+    (name "rust-wayland-protocols")
+    (version "0.23.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-protocols" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
+        ("rust-wayland-server" ,rust-wayland-server-0.23))
+       #:cargo-development-inputs
+       (("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
+    (home-page
+     "https://github.com/smithay/wayland-rs")
+    (synopsis
+     "Generated API for the officials wayland protocol extensions")
+    (description
+     "Generated API for the officials wayland protocol extensions")
+    (license license:expat)))
+
 (define-public rust-wayland-scanner-0.23
   (package
     (name "rust-wayland-scanner")
-- 
2.25.0

From 7bed772f3c5866b9b265be834fb84d14f4a92a6c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:33:51 +0300
Subject: [PATCH 247/275] gnu: Add rust-wayland-server-0.23.

* gnu/packages/crates-io.scm (rust-wayland-server-0.23): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e89ef0d8eb..fb6d227ec2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19048,6 +19048,43 @@ you are working on custom wayland protocol extensions.
 Look at the crate wayland-client for usable bindings.")
     (license license:expat)))
 
+(define-public rust-wayland-server-0.23
+  (package
+    (name "rust-wayland-server")
+    (version "0.23.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-server" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.23))
+       #:cargo-development-inputs
+       (("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
+    (home-page
+     "https://github.com/smithay/wayland-rs")
+    (synopsis
+     "Bindings to the standard C implementation of the wayland
+protocol, server side")
+    (description
+     "Bindings to the standard C implementation of the wayland
+protocol, server side.")
+    (license license:expat)))
+
 (define-public rust-wayland-sys-0.23
   (package
     (name "rust-wayland-sys")
-- 
2.25.0

From 8d1352d07434b127134f75c694e6ff804634a39b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:39:46 +0300
Subject: [PATCH 249/275] gnu: Add rust-smithay-client-toolkit-0.6.

* gnu/packages/crates-io.scm (rust-smithay-client-toolkit-0.6):
New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 96cdd70a27..3d4de88377 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15098,6 +15098,43 @@ stack.")
         (base32
          "1dyl43rgzny79jjpgzi07y0ly2ggx1xwsn64csxj0j91bsf6lq5b"))))))
 
+(define-public rust-smithay-client-toolkit-0.6
+  (package
+    (name "rust-smithay-client-toolkit")
+    (version "0.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smithay-client-toolkit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-andrew" ,rust-andrew-0.2)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-wayland-protocols" ,rust-wayland-protocols-0.23))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-wayland-client" ,rust-wayland-client-0.23))))
+    (home-page
+     "https://github.com/smithay/client-toolkit")
+    (synopsis
+     "Toolkit for making client wayland applications.")
+    (description
+     "Toolkit for making client wayland applications.")
+    (license license:expat)))
+
 (define-public rust-socket2-0.3
   (package
     (name "rust-socket2")
-- 
2.25.0

From fac9050826fb976d99df685f49d6e7d6def3b9d5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:30:31 +0300
Subject: [PATCH 246/275] gnu: Add rust-wayland-client-0.23.

* gnu/packages/crates-io.scm (rust-wayland-client-0.23): New variable.
---
 gnu/packages/crates-io.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e5f3fcb570..e89ef0d8eb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18950,6 +18950,46 @@ attribute that is not in the shared backend crate.")
      "Support for parsing WebIDL specific to wasm-bindgen")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-wayland-client-0.23
+  (package
+    (name "rust-wayland-client")
+    (version "0.23.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-client" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.23)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
+    (home-page
+     "https://github.com/smithay/wayland-rs")
+    (synopsis
+     "Bindings to the standard C implementation of the wayland protocol,
+client side")
+    (description
+     "Bindings to the standard C implementation of the wayland protocol,
+client side")
+    (license license:expat)))
+
 (define-public rust-wayland-commons-0.23
   (package
     (name "rust-wayland-commons")
-- 
2.25.0

From dc623061ffbe40dbf7efd1451df5d4851a875bb5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:29:35 +0300
Subject: [PATCH 245/275] gnu: Add rust-wayland-scanner-0.23.

* gnu/packages/crates-io.scm (rust-wayland-scanner-0.23): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2fa03003a7..e5f3fcb570 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18977,6 +18977,37 @@ attribute that is not in the shared backend crate.")
      "Common types and structures used by wayland-client and wayland-server.")
     (license license:expat)))
 
+(define-public rust-wayland-scanner-0.23
+  (package
+    (name "rust-wayland-scanner")
+    (version "0.23.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-scanner" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-xml-rs" ,rust-xml-rs-0.8))))
+    (home-page
+     "https://github.com/smithay/wayland-rs")
+    (synopsis
+     "Wayland Scanner for generating rust APIs from XML wayland protocol files")
+    (description
+     "Wayland Scanner for generating rust APIs from XML wayland protocol files.
+Intented for use with wayland-sys.  You should only need this crate if
+you are working on custom wayland protocol extensions.
+Look at the crate wayland-client for usable bindings.")
+    (license license:expat)))
+
 (define-public rust-wayland-sys-0.23
   (package
     (name "rust-wayland-sys")
-- 
2.25.0

From b96f317646e4a7d858f507188a04ce75be9632cc Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:23:33 +0300
Subject: [PATCH 244/275] gnu: Add rust-wayland-commons-0.23.

* gnu/packages/crates-io.scm (rust-wayland-commons-0.23): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c0efb2b994..2fa03003a7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18950,6 +18950,33 @@ attribute that is not in the shared backend crate.")
      "Support for parsing WebIDL specific to wasm-bindgen")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-wayland-commons-0.23
+  (package
+    (name "rust-wayland-commons")
+    (version "0.23.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-commons" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.23))))
+    (home-page
+     "https://github.com/smithay/wayland-rs")
+    (synopsis
+     "Common types and structures used by wayland-client and wayland-server.")
+    (description
+     "Common types and structures used by wayland-client and wayland-server.")
+    (license license:expat)))
+
 (define-public rust-wayland-sys-0.23
   (package
     (name "rust-wayland-sys")
-- 
2.25.0

From ae9d9ddb8474931ffa017908796291be676da885 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:11:45 +0300
Subject: [PATCH 242/275] gnu: rust-wasm-bindgen-0.2: Update to 0.2.58.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-0.2): Update to 0.2.58.
* gnu/packages/crates-io.scm (rust-wasm-bindgen-backend-0.2):
Update to 0.2.58.
* gnu/packages/crates-io.scm (rust-wasm-bindgen-macro-0.2):
Update to 0.2.58.
* gnu/packages/crates-io.scm (rust-wasm-bindgen-macro-support-0.2):
Update to 0.2.58.
* gnu/packages/crates-io.scm (rust-wasm-bindgen-shared-0.2):
Update to 0.2.58.
They all update at the same time.
---
 gnu/packages/crates-io.scm | 50 +++++++++++++++++++++++---------------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cf1795b2e8..05556e7af5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18564,7 +18564,7 @@ in Rust.")
 (define-public rust-wasm-bindgen-0.2
   (package
     (name "rust-wasm-bindgen")
-    (version "0.2.48")
+    (version "0.2.58")
     (source
      (origin
        (method url-fetch)
@@ -18573,15 +18573,24 @@ in Rust.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0m8vq3jkhz04fn3wjvb7ii7xql60w32nlvr10jcskcbbh2hpzsad"))))
+         "0v31s91andxcj73w63g3fkbw3ld6cfsaa4135qcjna22vypyj1aj"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-wasm-bindgen-macro"
-         ,rust-wasm-bindgen-macro-0.2))))
+      (("rust-cfg-if" ,rust-cfg-if-0.1)
+       ("rust-serde" ,rust-serde-1.0)
+       ("rust-serde-json" ,rust-serde-json-1.0)
+       ("rust-wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2))
+      #:cargo-development-inputs
+      (("rust-js-sys" ,rust-js-sys-0.3)
+       ("rust-serde-derive" ,rust-serde-derive-1.0)
+       ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+       ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
+       ("rust-wasm-bindgen-test-crate-a"
+        ,rust-wasm-bindgen-test-crate-a-0.1)
+       ("rust-wasm-bindgen-test-crate-b"
+        ,rust-wasm-bindgen-test-crate-b-0.1))))
     (home-page "https://rustwasm.github.io/")
     (synopsis "Easy support for interacting between JS and Rust")
     (description
@@ -18591,7 +18600,7 @@ in Rust.")
 (define-public rust-wasm-bindgen-backend-0.2
   (package
     (name "rust-wasm-bindgen-backend")
-    (version "0.2.48")
+    (version "0.2.58")
     (source
      (origin
        (method url-fetch)
@@ -18600,17 +18609,17 @@ in Rust.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1qxqkbjkjg4pphhcr91nk95c0gizx77dyq24mmijqnwzxxqc30jx"))))
+         "0icskn0qlj30np6x6nbyl1i9dndckx0pczaq69dm42r92rcbkk8i"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-bumpalo" ,rust-bumpalo-2.5)
+       (("rust-bumpalo" ,rust-bumpalo-3.1)
         ("rust-lazy-static" ,rust-lazy-static-1.3)
         ("rust-log" ,rust-log-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
         ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-0.15)
+        ("rust-syn" ,rust-syn-1.0)
         ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
     (home-page "https://rustwasm.github.io/wasm-bindgen/")
     (synopsis "Backend code generation of the wasm-bindgen tool")
@@ -18680,7 +18689,7 @@ in Rust.")
 (define-public rust-wasm-bindgen-macro-0.2
   (package
     (name "rust-wasm-bindgen-macro")
-    (version "0.2.48")
+    (version "0.2.58")
     (source
      (origin
        (method url-fetch)
@@ -18689,7 +18698,7 @@ in Rust.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "07fqzzlbncccmnxbbkg9v4n53qc1lps5g0bb9wq3i9zp9gvm0zgh"))))
+         "1hwxw0nhi2n4izhjn2fvnrrn59xqjxs3ybkgzdv1b4p65ivr8h2p"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -18699,7 +18708,8 @@ in Rust.")
          ,rust-wasm-bindgen-macro-support-0.2))
        #:cargo-development-inputs
        (("rust-trybuild" ,rust-trybuild-1.0)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))))
     (home-page "https://rustwasm.github.io/wasm-bindgen/")
     (synopsis "Definition of the @code{#[wasm_bindgen]} attribute")
     (description
@@ -18710,7 +18720,7 @@ dependency.")
 (define-public rust-wasm-bindgen-macro-support-0.2
   (package
     (name "rust-wasm-bindgen-macro-support")
-    (version "0.2.48")
+    (version "0.2.58")
     (source
      (origin
        (method url-fetch)
@@ -18719,14 +18729,14 @@ dependency.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1mxi6rj11k67sks88pfqiqylnijxmb1s0gcgpj8mzfj5gvkqzkwm"))))
+         "0s3n7v741i4wkzib41m126li40qlhqyirnxpigkypsi59wsk2l78"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
         ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-0.15)
+        ("rust-syn" ,rust-syn-1.0)
         ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
         ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
     (home-page "https://rustwasm.github.io/wasm-bindgen/")
@@ -18739,7 +18749,7 @@ attribute that is not in the shared backend crate.")
 (define-public rust-wasm-bindgen-shared-0.2
   (package
     (name "rust-wasm-bindgen-shared")
-    (version "0.2.48")
+    (version "0.2.58")
     (source
       (origin
         (method url-fetch)
@@ -18747,7 +18757,7 @@ attribute that is not in the shared backend crate.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
+          "00cnbabf4k9bahb217vkilmjwqwzpwp112vlvgfw1x19r4gydrzm"))))
     (build-system cargo-build-system)
     (arguments '(#:skip-build? #t))
     (home-page "https://rustwasm.github.io/wasm-bindgen/")
-- 
2.25.0

From 44eb2e5722ea80b33f3906418ec4d39631320a62 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 02:22:11 +0300
Subject: [PATCH 243/275] gnu: Add rust-wayland-sys-0.23.

* gnu/packages/crates-io.scm (rust-wayland-sys-0.23): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 05556e7af5..c0efb2b994 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18950,6 +18950,36 @@ attribute that is not in the shared backend crate.")
      "Support for parsing WebIDL specific to wasm-bindgen")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-wayland-sys-0.23
+  (package
+    (name "rust-wayland-sys")
+    (version "0.23.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page
+     "https://github.com/smithay/wayland-rs")
+    (synopsis
+     "FFI bindings to the various libwayland-*.so libraries")
+    (description
+     "FFI bindings to the various libwayland-*.so libraries.
+You should only need this crate if you are working on custom wayland
+protocol extensions.  Look at the crate wayland-client for usable bindings.")
+    (license license:expat)))
+
 (define-public rust-web-sys-0.3
   (package
     (name "rust-web-sys")
-- 
2.25.0

From b95b41a12dd16e9bc22ea3dd4234512967c0a486 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:52:36 +0300
Subject: [PATCH 241/275] gnu: rust-js-sys-0.3: Update to 0.3.35.

* gnu/packages/crates-io.scm (rust-js-sys-0.3): Update to 0.3.35.
---
 gnu/packages/crates-io.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 78bb39f25e..cf1795b2e8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7606,7 +7606,7 @@ primitives to an @code{io::Write}.")
 (define-public rust-js-sys-0.3
   (package
     (name "rust-js-sys")
-    (version "0.3.24")
+    (version "0.3.35")
     (source
      (origin
        (method url-fetch)
@@ -7615,16 +7615,15 @@ primitives to an @code{io::Write}.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "045fgafggkjdfg4f33vb87silyl9xpbifrhx1ciqi4wvm90nzhga"))))
+         "1ybwazllkbif71i195dadgrsw64k6l04ggk5yimiy5c2cb1wg2bq"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
        #:cargo-development-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
-        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+       (("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
     (home-page "https://rustwasm.github.io/wasm-bindgen/")
     (synopsis "Bindings for all JS global objects and functions in WASM")
     (description
-- 
2.25.0

From 65e164d0a36d73b39b2edccbf5ce628fe88a35fe Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:51:35 +0300
Subject: [PATCH 240/275] gnu: Add rust-wasm-bindgen-test-crate-b-0.1.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-crate-b-0.1):
New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f8fecd9191..78bb39f25e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18838,6 +18838,30 @@ attribute that is not in the shared backend crate.")
      "internal test crate for wasm-bindgen")
     (license license:expat)))
 
+(define-public rust-wasm-bindgen-test-crate-b-0.1
+  (package
+    (name "rust-wasm-bindgen-test-crate-b")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test-crate-b" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16p3gx9vhngdf236zxx2qijqx5sq0lid25j8wy6j522ybxs4vbh8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page "")
+    (synopsis "internal test crate for wasm-bindgen")
+    (description
+     "internal test crate for wasm-bindgen")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-wasm-bindgen-test-macro-0.3
   (package
     (name "rust-wasm-bindgen-test-macro")
-- 
2.25.0

From a1a58f5c4821c2aa278ee53abe545dbca9030465 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:50:52 +0300
Subject: [PATCH 239/275] gnu: Add rust-wasm-bindgen-test-crate-a-0.1.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-crate-a-0.1):
New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8be8004218..f8fecd9191 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18814,6 +18814,30 @@ attribute that is not in the shared backend crate.")
         ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
         ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2))))))
 
+(define-public rust-wasm-bindgen-test-crate-a-0.1
+  (package
+    (name "rust-wasm-bindgen-test-crate-a")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test-crate-a" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06l9rcxykg2vnp706a6axchjp6lh9ym1awwyyxzmbkv410kqwvsp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page "")
+    (synopsis "internal test crate for wasm-bindgen")
+    (description
+     "internal test crate for wasm-bindgen")
+    (license license:expat)))
+
 (define-public rust-wasm-bindgen-test-macro-0.3
   (package
     (name "rust-wasm-bindgen-test-macro")
-- 
2.25.0

From 02cd63c83ba798caa4fcd3c96f56b616bcf883ef Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:49:25 +0300
Subject: [PATCH 238/275] gnu: rust-wasm-bindgen-futures-0.3: Inherit from
 rust-wasm-bindgen-futures-0.4.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-futures-0.3):
Inherit rust-wasm-bindgen-futures-0.4.
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 863b614849..8be8004218 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18653,6 +18653,7 @@ in Rust.")
 
 (define-public rust-wasm-bindgen-futures-0.3
   (package
+    (inherit rust-wasm-bindgen-futures-0.4)
     (name "rust-wasm-bindgen-futures")
     (version "0.3.24")
     (source
@@ -18664,7 +18665,6 @@ in Rust.")
        (sha256
         (base32
          "0bf9x6qfjczspc4zs605z1n4j15cdd8kk2z7rah0yggw8b6zl5nc"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -18676,13 +18676,7 @@ in Rust.")
         ("rust-lazy-static" ,rust-lazy-static-1.3)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
        #:cargo-development-inputs
-       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/")
-    (synopsis
-     "Bridging the gap between Rust Futures and JavaScript Promises")
-    (description
-     "Bridging the gap between Rust Futures and JavaScript Promises.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))))
 
 (define-public rust-wasm-bindgen-macro-0.2
   (package
-- 
2.25.0

From 625cd0d093c18ef54cc79bda8b3befc0f42b409b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:47:12 +0300
Subject: [PATCH 237/275] gnu: rust-wasm-bindgen-test-0.2: Inherit from
 rust-wasm-bindgen-test-0.3.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-0.2):
Inherit from rust-wasm-bindgen-test-0.3.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 36d4ad0b24..863b614849 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18797,6 +18797,7 @@ attribute that is not in the shared backend crate.")
 
 (define-public rust-wasm-bindgen-test-0.2
   (package
+    (inherit rust-wasm-bindgen-test-0.3)
     (name "rust-wasm-bindgen-test")
     (version "0.2.48")
     (source
@@ -18808,7 +18809,6 @@ attribute that is not in the shared backend crate.")
        (sha256
         (base32
          "0gwslc2sfkghzzb3r0gvd8i5rig2nlqgpl1rn43y2w4mr1ci494k"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -18818,12 +18818,7 @@ attribute that is not in the shared backend crate.")
         ("rust-scoped-tls" ,rust-scoped-tls-1.0)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
-        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2))))
-    (home-page "https://github.com/rustwasm/wasm-bindgen")
-    (synopsis "Internal testing crate for wasm-bindgen")
-    (description
-     "Internal testing crate for wasm-bindgen.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2))))))
 
 (define-public rust-wasm-bindgen-test-macro-0.3
   (package
-- 
2.25.0

From 70ce6ba518f27e45f198dd0d34d3c2f75fc18676 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:42:30 +0300
Subject: [PATCH 236/275] gnu: Add rust-wasm-bindgen-futures-0.4 and its
 dependencies.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-futures-0.4): New variable.
* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-0.3): New variable.
* gnu/packages/crates-io.scm (rust-web-sys-0.3): New variable.
Added in one commit because they have cyclic dependencies on each other.
---
 gnu/packages/crates-io.scm | 97 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 858ecd3a29..36d4ad0b24 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18619,6 +18619,38 @@ in Rust.")
      "Backend code generation of the wasm-bindgen tool.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-wasm-bindgen-futures-0.4
+  (package
+    (name "rust-wasm-bindgen-futures")
+    (version "0.4.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-futures" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1n9ma4kinr4w6r2sh4wm04my6p14k1vx3a4vdbn0vd187sgd9gcb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-web-sys" ,rust-web-sys-0.3))
+       #:cargo-development-inputs
+       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page
+     "https://rustwasm.github.io/wasm-bindgen/")
+    (synopsis
+     "Bridging the gap between Rust Futures and JavaScript Promises")
+    (description
+     "Bridging the gap between Rust Futures and JavaScript Promises.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-wasm-bindgen-futures-0.3
   (package
     (name "rust-wasm-bindgen-futures")
@@ -18732,6 +18764,37 @@ attribute that is not in the shared backend crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-wasm-bindgen-test-0.3
+  (package
+    (name "rust-wasm-bindgen-test")
+    (version "0.3.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bn833hghwbcg9cqz1bx9biq271bc4jcbgn2nqk1fkf4ab1hxzcq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.3))))
+    (home-page
+     "https://github.com/rustwasm/wasm-bindgen")
+    (synopsis
+     "Internal testing crate for wasm-bindgen")
+    (description
+     "Internal testing crate for wasm-bindgen.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-wasm-bindgen-test-0.2
   (package
     (name "rust-wasm-bindgen-test")
@@ -18841,6 +18904,40 @@ attribute that is not in the shared backend crate.")
      "Support for parsing WebIDL specific to wasm-bindgen")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-web-sys-0.3
+  (package
+    (name "rust-web-sys")
+    (version "0.3.33")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "web-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wckcnwsgwhb471pplkqmcdlbjc05n8b65xhp41wh4nws0rh9dig"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
+       #:cargo-development-inputs
+       (("rust-anyhow" ,rust-anyhow-1.0)
+        ("rust-env-logger" ,rust-env-logger-0.7)
+        ("rust-sourcefile" ,rust-sourcefile-0.1)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
+        ("rust-wasm-bindgen-webidl" ,rust-wasm-bindgen-webidl-0.2))))
+    (home-page
+     "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html")
+    (synopsis
+     "Bindings for all Web APIs, a procedurally generated crate from WebIDL")
+    (description
+     "Bindings for all Web APIs, a procedurally generated crate from WebIDL")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-weedle-0.10
   (package
     (name "rust-weedle")
-- 
2.25.0

From e58301e8940c77d3e00cc2d06980196a6d301390 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:37:18 +0300
Subject: [PATCH 235/275] gnu: rust-wasm-bindgen-test-macro-0.2: Inherit from
 rust-wasm-bindgen-test-macro-0.3

* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-macro-0.2):
Inherit from rust-wasm-bindgen-test-macro-0.3
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a0f9fcd5d4..858ecd3a29 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18791,6 +18791,7 @@ attribute that is not in the shared backend crate.")
 
 (define-public rust-wasm-bindgen-test-macro-0.2
   (package
+    (inherit rust-wasm-bindgen-test-macro-0.3)
     (name "rust-wasm-bindgen-test-macro")
     (version "0.2.48")
     (source
@@ -18801,18 +18802,11 @@ attribute that is not in the shared backend crate.")
         (sha256
          (base32
           "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6))))
-    (home-page "https://github.com/rustwasm/wasm-bindgen")
-    (synopsis "Internal testing macro for wasm-bindgen")
-    (description
-     "This library contains the internal testing macro for wasm-bindgen.")
-    (license (list license:asl2.0
-                   license:expat))))
+        ("rust-quote" ,rust-quote-0.6))))))
 
 (define-public rust-wasm-bindgen-webidl-0.2
   (package
-- 
2.25.0

From bceb16f2bcd3a3ed0cd2ebfa8028400e28bea551 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 00:53:45 +0300
Subject: [PATCH 232/275] gnu: Add rust-weedle-0.10.

* gnu/packages/crates-io.scm (rust-weedle-0.10): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f02cb33e3f..975a3ccaad 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18787,6 +18787,29 @@ attribute that is not in the shared backend crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-weedle-0.10
+  (package
+    (name "rust-weedle")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "weedle" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0r0i2kllvkn9jil6cjzxdi1zsc6p1gjyk751w8lyclaii1q3zd1v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-nom" ,rust-nom-4.2))))
+    (home-page "https://github.com/rustwasm/weedle")
+    (synopsis "A WebIDL Parser")
+    (description
+     "This package provides a WebIDL Parser")
+    (license license:expat)))
+
 (define-public rust-which-2.0
   (package
     (name "rust-which")
-- 
2.25.0

From a23b8df2998bc9938f366f87e247fe9ad47e4baa Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:07:36 +0300
Subject: [PATCH 233/275] gnu: Add rust-wasm-bindgen-webidl-0.2.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-webidl-0.2):
New variable.
---
 gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 975a3ccaad..678b0c65f3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18787,6 +18787,39 @@ attribute that is not in the shared backend crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-wasm-bindgen-webidl-0.2
+  (package
+    (name "rust-wasm-bindgen-webidl")
+    (version "0.2.58")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-webidl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pcpaw8w3xgfrg9y24ljrsl2bkidgdaaz3ka2bgk417wjc6jl0gg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-anyhow" ,rust-anyhow-1.0)
+        ("rust-heck" ,rust-heck-0.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
+        ("rust-weedle" ,rust-weedle-0.10))))
+    (home-page
+     "https://rustwasm.github.io/wasm-bindgen/")
+    (synopsis
+     "Support for parsing WebIDL specific to wasm-bindgen")
+    (description
+     "Support for parsing WebIDL specific to wasm-bindgen")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-weedle-0.10
   (package
     (name "rust-weedle")
-- 
2.25.0

From 97f2005be955696139dc78e97064cfce997e5114 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 01:36:44 +0300
Subject: [PATCH 234/275] gnu: Add rust-wasm-bindgen-test-macro-0.3.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-macro-0.3):
New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 678b0c65f3..a0f9fcd5d4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18762,6 +18762,33 @@ attribute that is not in the shared backend crate.")
      "Internal testing crate for wasm-bindgen.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-wasm-bindgen-test-macro-0.3
+  (package
+    (name "rust-wasm-bindgen-test-macro")
+    (version "0.3.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test-macro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kybf3shpp8ysz4v4j259d7vad9kw5bs4i4dlfrs895bhdp7m0wp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+     "https://github.com/rustwasm/wasm-bindgen")
+    (synopsis
+     "Internal testing macro for wasm-bindgen")
+    (description
+     "Internal testing macro for wasm-bindgen.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-wasm-bindgen-test-macro-0.2
   (package
     (name "rust-wasm-bindgen-test-macro")
-- 
2.25.0

From 5ddca70adf3c7cfdbcd5b11feeac016bbcd61359 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 00:23:32 +0300
Subject: [PATCH 231/275] gnu: Add rust-glutin-wgl-sys-0.1.

* gnu/packages/crates-io.scm (rust-glutin-wgl-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 44a48705b5..f02cb33e3f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6266,6 +6266,29 @@ path simultaneously, and returning all of the globs that matched.")
     (description "The glx bindings for glutin")
     (license license:asl2.0)))
 
+(define-public rust-glutin-wgl-sys-0.1
+  (package
+    (name "rust-glutin-wgl-sys")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin-wgl-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08chlfzpj59q36qm212i4k879gvjzha7i90q90fds8pw3v4vn0gq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-gl-generator" ,rust-gl-generator-0.11))))
+    (home-page "https://github.com/tomaka/glutin")
+    (synopsis "The wgl bindings for glutin")
+    (description "The wgl bindings for glutin")
+    (license license:asl2.0)))
+
 (define-public rust-goblin-0.0
   (package
     (name "rust-goblin")
-- 
2.25.0

From 2785bd5ac99012fccb9832912f22625a0be32c3b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 00:21:53 +0300
Subject: [PATCH 230/275] gnu: Add rust-glutin-glx-sys-0.1.

* gnu/packages/crates-io.scm (rust-glutin-glx-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6d0ad8c02a..44a48705b5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6241,6 +6241,31 @@ path simultaneously, and returning all of the globs that matched.")
     (description "The gles2 bindings for glutin")
     (license license:asl2.0)))
 
+(define-public rust-glutin-glx-sys-0.1
+  (package
+    (name "rust-glutin-glx-sys")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin-glx-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0mxs3mil68xqqb49466n5rpwpcllj6fwqjgrcrzzmz26bv5ab40j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-x11-dl" ,rust-x11-dl-2))
+       #:cargo-development-inputs
+       (("rust-gl-generator" ,rust-gl-generator-0.11))))
+    (home-page "https://github.com/tomaka/glutin")
+    (synopsis "The glx bindings for glutin")
+    (description "The glx bindings for glutin")
+    (license license:asl2.0)))
+
 (define-public rust-goblin-0.0
   (package
     (name "rust-goblin")
-- 
2.25.0

From 285e025f917e6f28d5109c65764a24c0b6b598d5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 00:20:01 +0300
Subject: [PATCH 228/275] gnu: Add rust-glutin-egl-sys-0.1.

* gnu/packages/crates-io.scm (rust-glutin-egl-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 252da8748e..7f126c387b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6167,6 +6167,33 @@ the process of matching one or more glob patterns against a single candidate
 path simultaneously, and returning all of the globs that matched.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-glutin-egl-sys-0.1
+  (package
+    (name "rust-glutin-egl-sys")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin-egl-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0k1x1frdp4wp47qkai8zzmgqxzpfcn7780m29qgd92lbnbrxwbkp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3)
+        ("rust-gl-generator" ,rust-gl-generator-0.13))
+       #:cargo-development-inputs
+       (("rust-gl-generator" ,rust-gl-generator-0.13))))
+    (home-page
+     "https://github.com/rust-windowing/glutin")
+    (synopsis "The egl bindings for glutin")
+    (description "The egl bindings for glutin")
+    (license license:asl2.0)))
+
 (define-public rust-glutin-emscripten-sys-0.1
   (package
     (name "rust-glutin-emscripten-sys")
-- 
2.25.0

From aec6e5f2395787c58215c43cf992c37d87981eec Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 2 Feb 2020 00:21:15 +0300
Subject: [PATCH 229/275] gnu: Add rust-glutin-gles2-sys-0.1.

* gnu/packages/crates-io.scm (rust-glutin-gles2-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7f126c387b..6d0ad8c02a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6215,6 +6215,32 @@ path simultaneously, and returning all of the globs that matched.")
      "The emscripten bindings for glutin")
     (license license:asl2.0)))
 
+(define-public rust-glutin-gles2-sys-0.1
+  (package
+    (name "rust-glutin-gles2-sys")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin_gles2_sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1pswvl5zyqmqwzjr674yzslj0al2xbqsp2ai9ggb9qbshlq6r6c9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-objc" ,rust-objc-0.2)
+        ("rust-gl-generator" ,rust-gl-generator-0.11))
+       #:cargo-development-inputs
+       (("rust-gl-generator" ,rust-gl-generator-0.11))))
+    (home-page "https://github.com/tomaka/glutin")
+    (synopsis "The gles2 bindings for glutin")
+    (description "The gles2 bindings for glutin")
+    (license license:asl2.0)))
+
 (define-public rust-goblin-0.0
   (package
     (name "rust-goblin")
-- 
2.25.0

From 645159f8b7f81e2cf93ad95496e08113790c390c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:46:28 +0300
Subject: [PATCH 227/275] gnu: Add rust-cocoa-0.18.

* gnu/packages/crates-io.scm (rust-cocoa-0.18): New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 47d70375fc..252da8748e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2294,6 +2294,21 @@ CMAKE environmental variable is set.")
     (description "Bindings to Cocoa for macOS.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-cocoa-0.18
+  (package
+    (inherit rust-cocoa-0.19)
+    (name "rust-cocoa")
+    (version "0.18.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cocoa" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0m6fgdr4d2fp8jhkqvwr23hrqqqjv72g0j9vdgijc58k05j9j1hp"))))))
+
 (define-public rust-color-quant-1.0
   (package
     (name "rust-color-quant")
-- 
2.25.0

From 1e417449d67aa2876d3ca466115b5afacd44cf5a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:46:12 +0300
Subject: [PATCH 226/275] gnu: Add rust-cocoa-0.19.

* gnu/packages/crates-io.scm (rust-cocoa-0.19): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 36d03e7558..47d70375fc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2264,6 +2264,36 @@ CMAKE environmental variable is set.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-cocoa-0.19
+  (package
+    (name "rust-cocoa")
+    (version "0.19.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cocoa" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0034vahbfv574q4b63rj241b8rnka5cjiqsqc6wiggnin9l7g7zj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-block" ,rust-block-0.1)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-foreign-types" ,rust-foreign-types-0.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-objc" ,rust-objc-0.2))))
+    (home-page
+     "https://github.com/servo/core-foundation-rs")
+    (synopsis "Bindings to Cocoa for macOS")
+    (description "Bindings to Cocoa for macOS.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-color-quant-1.0
   (package
     (name "rust-color-quant")
-- 
2.25.0

From 72eaf40646f9ad25f23539ac64eb25f10206a7b3 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:43:56 +0300
Subject: [PATCH 224/275] gnu: Add rust-core-graphics-0.17.

* gnu/packages/crates-io.scm (rust-core-graphics-0.17): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1c18892b91..a7477f57c5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2554,6 +2554,34 @@ intrinsics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-core-graphics-0.17
+  (package
+    (name "rust-core-graphics")
+    (version "0.17.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "core-graphics" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1acm3vygngnilzlr6klym5ywh7kfzh2xxrh2l41152hwmdl0jyan"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-foreign-types" ,rust-foreign-types-0.3)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page
+     "https://github.com/servo/core-graphics-rs")
+    (synopsis "Bindings to Core Graphics for macOS")
+    (description
+     "Bindings to Core Graphics for macOS")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-crates-index-0.13
   (package
     (name "rust-crates-index")
-- 
2.25.0

From 4ae1e3dda8eeaebec6ab7c84f770d3719e9bf58b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:44:33 +0300
Subject: [PATCH 225/275] gnu: Add rust-core-text-13.

* gnu/packages/crates-io.scm (rust-core-text-13): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a7477f57c5..36d03e7558 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2582,6 +2582,34 @@ intrinsics.")
      "Bindings to Core Graphics for macOS")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-core-text-13
+  (package
+    (name "rust-core-text")
+    (version "13.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "core-text" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v9lxn277p39cf81pb45r7k0lzf17pwgd5cpry1c04ajv556b16v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-foreign-types" ,rust-foreign-types-0.3)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page
+     "https://github.com/servo/core-foundation-rs")
+    (synopsis "Bindings to the Core Text framework.")
+    (description
+     "Bindings to the Core Text framework.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-crates-index-0.13
   (package
     (name "rust-crates-index")
-- 
2.25.0

From 5ecce1b12b796fa5a8a03f08e534ffa55243295c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:43:08 +0300
Subject: [PATCH 223/275] gnu: Add rust-core-foundation-0.6.

* gnu/packages/crates-io.scm (rust-core-foundation-0.6): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2f33d2c46b..1c18892b91 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2504,6 +2504,35 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
 intrinsics.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-core-foundation-0.6
+  (package
+    (name "rust-core-foundation")
+    (version "0.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "core-foundation" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0va97wf49c8dzm9c8pgyk1jn7z21rl0bj1syf2zz5m2z2hzy1f95"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-uuid" ,rust-uuid-0.5))))
+    (home-page
+     "https://github.com/servo/core-foundation-rs")
+    (synopsis
+     "Bindings to Core Foundation for macOS")
+    (description
+     "Bindings to Core Foundation for macOS")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-core-foundation-sys-0.6
   (package
     (name "rust-core-foundation-sys")
-- 
2.25.0

From 76218edffcc9d521bfddf706ea7df25124923f36 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:42:33 +0300
Subject: [PATCH 222/275] gnu: Add rust-uuid-0.5.

* gnu/packages/crates-io.scm (rust-uuid-0.5): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1c6d738e46..2f33d2c46b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17995,6 +17995,29 @@ See winapi for types and constants.")
      "This package provides a library to generate and parse UUIDs.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-uuid-0.5
+  (package
+    (inherit rust-uuid-0.7)
+    (name "rust-uuid")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "uuid" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08nw3famk1w1zf9ck32pmklk24wd4n4nqnr9wl46qvxak2wf7ixw"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-md5" ,rust-md5-0.3)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-sha1" ,rust-sha1-0.2))))))
+
 (define-public rust-vcpkg-0.2
   (package
     (name "rust-vcpkg")
-- 
2.25.0

From 9f19c344f3b7d6fde348a8912f8fdb2043cee3dd Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:41:45 +0300
Subject: [PATCH 221/275] gnu: Add rust-sha1-0.2.

* gnu/packages/crates-io.scm (rust-sha1-0.2): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c8d3fd2299..1c6d738e46 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14497,6 +14497,26 @@ proven statistical guarantees.")
      "Minimal implementation of SHA1 for Rust.")
     (license license:bsd-3)))
 
+(define-public rust-sha1-0.2
+  (package
+    (inherit rust-sha1-0.6)
+    (name "rust-sha1")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha1" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p09zfhd27z6yr5in07gfjcx345010rw51ivlcf14364x3hv2c6c"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-openssl" ,rust-openssl-0.7)
+        ("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-sha1-asm-0.4
   (package
     (name "rust-sha1-asm")
-- 
2.25.0

From 313d0433bb59212130489794f7acaeed2f94ff20 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:41:25 +0300
Subject: [PATCH 220/275] gnu: Add rust-openssl-0.7.

* gnu/packages/crates-io.scm (rust-openssl-0.7): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5d0565f2ab..c8d3fd2299 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9988,6 +9988,35 @@ Things in odds may move to more appropriate crates if we find them.")
     (description "OpenSSL bindings.")
     (license license:asl2.0)))
 
+(define-public rust-openssl-0.7
+  (package
+    (inherit rust-openssl-0.10)
+    (name "rust-openssl")
+    (version "0.7.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cw767rbasg4dbsfcsnxqm3q5ljkv6s1jq0a2p82xi5a8ii7n4f4"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.7)
+        ("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.7)
+        ("rust-openssl-sys-extras" ,rust-openssl-sys-extras-0.7))
+       #:cargo-development-inputs
+       (("rust-gcc" ,rust-gcc-0.3)
+        ("rust-net2" ,rust-net2-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-winapi" ,rust-winapi-0.2)
+        ("rust-ws2-32-sys" ,rust-ws2-32-sys-0.2))))))
+
 (define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
-- 
2.25.0

From 1c6466a331306b9bce967fe1f3bb28404b9cae96 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:40:04 +0300
Subject: [PATCH 218/275] gnu: Add rust-openssl-sys-0.7.

* gnu/packages/crates-io.scm (rust-openssl-sys-0.7): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 892050d53b..728b690cfb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10069,6 +10069,35 @@ system for OpenSSL.")
      "This package provides FFI bindings to OpenSSL for use in rust crates.")
     (license license:expat)))
 
+(define-public rust-openssl-sys-0.7
+  (package
+    (name "rust-openssl-sys")
+    (version "0.7.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0gswbbfkhhj8f9jifwvdssv3p2lpgyz69qzqvafylbim9klpxi49"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-gdi32-sys" ,rust-gdi32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-libressl-pnacl-sys" ,rust-libressl-pnacl-sys-2)
+        ("rust-user32-sys" ,rust-user32-sys-0.2))
+       #:cargo-development-inputs
+       (("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page
+     "https://github.com/sfackler/rust-openssl")
+    (synopsis "FFI bindings to OpenSSL")
+    (description "FFI bindings to OpenSSL")
+    (license license:expat)))
+
 (define-public rust-ordered-float-1.0
   (package
     (name "rust-ordered-float")
-- 
2.25.0

From 32e22be80d2935e59d2ae7bab026ae3fa68d43fd Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:40:51 +0300
Subject: [PATCH 219/275] gnu: Add rust-openssl-sys-extras-0.7.

* gnu/packages/crates-io.scm (rust-openssl-sys-extras-0.7):
New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 728b690cfb..5d0565f2ab 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10098,6 +10098,35 @@ system for OpenSSL.")
     (description "FFI bindings to OpenSSL")
     (license license:expat)))
 
+(define-public rust-openssl-sys-extras-0.7
+  (package
+    (name "rust-openssl-sys-extras")
+    (version "0.7.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl-sys-extras" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ymrmfnknyjji74fflbnnq9r5ihx25h0vgs5y203vl6klzdy3i8i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.7))
+       #:cargo-development-inputs
+       (("rust-gcc" ,rust-gcc-0.3))))
+    (home-page
+     "https://github.com/sfackler/rust-openssl")
+    (synopsis
+     "Extra FFI bindings to OpenSSL that require a C shim")
+    (description
+     "Extra FFI bindings to OpenSSL that require a C shim")
+    (license license:expat)))
+
 (define-public rust-ordered-float-1.0
   (package
     (name "rust-ordered-float")
-- 
2.25.0

From dd99d38a8d5b6690d2eff25c95a5e1dc378362a6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:38:54 +0300
Subject: [PATCH 217/275] gnu: Add rust-urlocator-0.1.

* gnu/packages/crates-io.scm (rust-urlocator-0.1): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b81f901fbe..892050d53b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17709,6 +17709,27 @@ untrusted inputs in Rust.")
         ("rust-rustc-test" ,rust-rustc-test-0.3)
         ("rust-serde-json" ,rust-serde-json-1.0))))))
 
+(define-public rust-urlocator-0.1
+ (package
+   (name "rust-urlocator")
+   (version "0.1.2")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "urlocator" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1xzhwmqrqyk8p3s5npqpidrn0gjapqx5fshrx633fk56j7cm8qm1"))))
+   (build-system cargo-build-system)
+   (arguments '(#:skip-build? #t))
+   (home-page
+    "https://github.com/chrisduerr/urlocator.git")
+   (synopsis "Locate URLs in character streams")
+   (description "Locate URLs in character streams")
+   (license (list license:expat license:asl2.0))))
+
 (define-public rust-user32-sys-0.2
   (package
     (name "rust-user32-sys")
-- 
2.25.0

From 09a6c8cfb96b9444099454c34860d317cae3a1b6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:38:02 +0300
Subject: [PATCH 216/275] gnu: Add rust-user32-sys-0.2.

* gnu/packages/crates-io.scm (rust-user32-sys-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d8e8c41d1f..b81f901fbe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17709,6 +17709,36 @@ untrusted inputs in Rust.")
         ("rust-rustc-test" ,rust-rustc-test-0.3)
         ("rust-serde-json" ,rust-serde-json-1.0))))))
 
+(define-public rust-user32-sys-0.2
+  (package
+    (name "rust-user32-sys")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "user32-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-winapi-build" ,rust-winapi-build-0.1))))
+    (home-page
+     "https://github.com/retep998/winapi-rs")
+    (synopsis
+     "Contains function definitions for the Windows API library user32.
+See winapi for types and constants.")
+    (description
+     "Contains function definitions for the Windows API library user32.
+See winapi for types and constants.")
+    (license license:expat)))
+
 (define-public rust-utf-8-0.7
   (package
     (name "rust-utf-8")
-- 
2.25.0

From 3ab4900f34d30cdb4f9eb69e308c718fae66de65 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:35:52 +0300
Subject: [PATCH 215/275] gnu: Add rust-libressl-pnacl-sys-2.

* gnu/packages/crates-io.scm (rust-libressl-pnacl-sys-2): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 29903467ba..d8e8c41d1f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7887,6 +7887,32 @@ functions and static variables these libraries contain.")
     (description "libm in pure Rust")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-libressl-pnacl-sys-2
+  (package
+    (name "rust-libressl-pnacl-sys")
+    (version "2.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libressl-pnacl-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0w9yvgrf591phpr1222j0dj7x1n489v2sihnr8syz8xn3aamih6b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-pnacl-build-helper" ,rust-pnacl-build-helper-1.4))))
+    (home-page
+     "https://github.com/DiamondLovesYou/libressl-pnacl-sys")
+    (synopsis
+     "openssl linking provider for PNaCl/NaCl targets")
+    (description
+     "openssl linking provider for PNaCl/NaCl targets.")
+    (license license:expat)))
+
 (define-public rust-libssh2-sys-0.2
   (package
     (name "rust-libssh2-sys")
-- 
2.25.0

From 0758e660fb403725bc16b1b3fb749c6c5569a9eb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:34:41 +0300
Subject: [PATCH 214/275] gnu: Add rust-pnacl-build-helper-1.4.

* gnu/packages/crates-io.scm (rust-pnacl-build-helper-1.4):
New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 64f8ff6491..29903467ba 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11026,6 +11026,33 @@ used in Cargo build scripts.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-pnacl-build-helper-1.4
+  (package
+    (name "rust-pnacl-build-helper")
+    (version "1.4.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pnacl-build-helper" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "145hxz3m3sg8mm9sfqqqaarnna43v65l6whwswrvcvy0fzp17gnz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-walkdir" ,rust-walkdir-1.0))))
+    (home-page
+     "https://github.com/DiamondLovesYou/cargo-pnacl-helper")
+    (synopsis
+     "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
+    (description
+     "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
+    (license license:mpl2.0)))
+
 (define-public rust-png-0.15
   (package
     (name "rust-png")
-- 
2.25.0

From 80682fbdaa68abe05e014305702968799e88db06 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:29:32 +0300
Subject: [PATCH 213/275] gnu: Add rust-zip-0.5.

* gnu/packages/crates-io.scm (rust-zip-0.5): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e79bfd617e..64f8ff6491 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18880,3 +18880,37 @@ to XDG Base Directory specification")
     (description
      "The missing YAML 1.2 parser for rust.")
     (license (list license:asl2.0 license:expat))))
+
+(define-public rust-zip-0.5
+  (package
+    (name "rust-zip")
+    (version "0.5.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zip" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1biv5kh4fl7wpjlsxfczvgrdjlybf0xjaw7s36didql8lxxz67z4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build #t
+       #:cargo-inputs
+       (("rust-bzip2" ,rust-bzip2-0.3)
+        ("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-flate2" ,rust-flate2-1.0)
+        ("rust-podio" ,rust-podio-0.1)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-walkdir" ,rust-walkdir-1.0))))
+    (home-page
+     "https://github.com/mvdnes/zip-rs.git")
+    (synopsis
+     "Library to support the reading and writing of zip files")
+    (description
+     "Library to support the reading and writing of zip files.")
+    (license license:expat)))
-- 
2.25.0

From e1674da42ce408811ffbbfdca143dccfd4d10a67 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:27:58 +0300
Subject: [PATCH 212/275] gnu: Add rust-bzip2-0.3.

* gnu/packages/crates-io.scm (rust-bzip2-0.3): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 31a8443b04..e79bfd617e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1517,6 +1517,42 @@ little-endian.")
      "Types and traits for working with bytes.")
     (license license:expat)))
 
+(define-public rust-bzip2-0.3
+  (package
+    (name "rust-bzip2")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bzip2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fvfwanp42j1zpig880jhb5mc0na50bijmwd6211p77sy35w7ds2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bzip2-sys" ,rust-bzip2-sys-0.1)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))
+       #:cargo-development-inputs
+       (("rust-partial-io" ,rust-partial-io-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.4)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-tokio-core" ,rust-tokio-core-0.1))))
+    (home-page
+     "https://github.com/alexcrichton/bzip2-rs")
+    (synopsis
+     "Bindings to libbzip2 for bzip2 compression and decompression exposed as
+Reader/Writer streams")
+    (description
+     "Bindings to libbzip2 for bzip2 compression and decompression exposed as
+Reader/Writer streams.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-bzip2-sys-0.1
   (package
     (name "rust-bzip2-sys")
-- 
2.25.0

From 7bffa54dc0d1ce90a6814ad01d212b186238c231 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:13:24 +0300
Subject: [PATCH 208/275] gnu: Add rust-cexpr-0.2.

* gnu/packages/crates-io.scm (rust-cexpr-0.2): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6935eb87f0..5cd47effcf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1723,6 +1723,28 @@ archive to be linked into Rustcode.")
      "This package provides a C expression parser and evaluator.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-cexpr-0.2
+  (package
+    (inherit rust-cexpr-0.3)
+    (name "rust-cexpr")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cexpr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v1xa3758czmj8h97gh548mr8g0v13ixxvrlm1s79nb7jmgc9aj2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nom" ,rust-nom-3))
+       #:cargo-development-inputs
+       (("rust-clang-sys" ,rust-clang-sys-0.11))))))
+
 (define-public rust-chrono-0.4
   (package
     (name "rust-chrono")
-- 
2.25.0

From 4ea8e14f367e57b0140d1b68947245321979451c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:27:15 +0300
Subject: [PATCH 211/275] gnu: Add rust-partial-io-0.2.

* gnu/packages/crates-io.scm (rust-partial-io-0.2): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d75e590c0f..31a8443b04 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10393,6 +10393,38 @@ deserialization, and interpreter in Rust.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-partial-io-0.2
+  (package
+    (name "rust-partial-io")
+    (version "0.2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "partial-io" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03iynvayh11a4mckhwflm5y1qmnkw5m3b20gzi1crpasndy3h8xx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-quickcheck" ,rust-quickcheck-0.4)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.4)
+        ("rust-tokio-core" ,rust-tokio-core-0.1))))
+    (home-page
+     "https://github.com/facebookincubator/rust-partial-io")
+    (synopsis
+     "Helpers to test partial, interrupted and would-block I/O operations")
+    (description
+     "Helpers to test partial, interrupted and would-block I/O operations.")
+    (license license:bsd-3)))
+
 (define-public rust-paste-0.1
   (package
     (name "rust-paste")
-- 
2.25.0

From 269a61d9cb0b283d0887cf7eaad6ba529ff5c542 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:15:16 +0300
Subject: [PATCH 210/275] gnu: Add rust-winpty-sys-0.4.

* gnu/packages/crates-io.scm (rust-winpty-sys-0.4): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5b8027502a..d75e590c0f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18540,6 +18540,30 @@ color in a Windows console.")
      "Interoperability library for Rust Windowing applications.")
     (license license:expat)))
 
+(define-public rust-winpty-sys-0.4
+  (package
+    (name "rust-winpty-sys")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winpty-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s5m2vvlw7wphc466s47zfmp08zk00wzj999l1w3ajqlxbnfgb9x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bindgen" ,rust-bindgen-0.33)
+        ("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/rprichard/winpty")
+    (synopsis "Rust winpty bindings")
+    (description "Rust winpty bindings")
+    (license license:expat)))
+
 (define-public rust-winutil-0.1
   (package
     (name "rust-winutil")
-- 
2.25.0

From 128a2d79c9b35e2110130d7a1dd92a82ea222f4c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:11:32 +0300
Subject: [PATCH 206/275] gnu: Add rust-libloading-0.3.

* gnu/packages/crates-io.scm (rust-libloading-0.3): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 56b1fcf739..ef6008a4f3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7718,6 +7718,31 @@ allows loading dynamic libraries (also known as shared libraries) as well as use
 functions and static variables these libraries contain.")
     (license license:isc)))
 
+(define-public rust-libloading-0.3
+  (package
+    (inherit rust-libloading-0.5)
+    (name "rust-libloading")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libloading" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0risz19rllhdc0d7nkpwkf4pcbjjgg1iim0kkmzb6kkp874hl0ha"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-winapi" ,rust-winapi-0.2)
+        ("rust-target-build-utils" ,rust-target-build-utils-0.3))
+       #:cargo-development-inputs
+       (("rust-target-build-utils" ,rust-target-build-utils-0.3))))))
+
 (define-public rust-libm-0.2
   (package
     (name "rust-libm")
-- 
2.25.0

From b398f7bc37d7d428f15814ddc0b46a2526f644d2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:12:40 +0300
Subject: [PATCH 207/275] gnu: Add rust-clang-sys-0.11.

* gnu/packages/crates-io.scm (rust-clang-sys-0.11): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ef6008a4f3..6935eb87f0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1982,6 +1982,34 @@ for computer graphics.")
        (("rust-clippy" ,rust-clippy-0.0)
         ("rust-glob" ,rust-glob-0.2))))))
 
+(define-public rust-clang-sys-0.11
+  (package
+    (inherit rust-clang-sys-0.22)
+    (name "rust-clang-sys")
+    (version "0.11.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clang-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17i47skqp1d9svil2m1wspnhz7ci1x0fipia70ns0qffciwiz48r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.7)
+        ("rust-clippy" ,rust-clippy-0.0)
+        ("rust-glob" ,rust-glob-0.2)
+        ("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-libloading" ,rust-libloading-0.3))
+       #:cargo-development-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-glob" ,rust-glob-0.2))))))
+
 (define-public rust-clap-2
   (package
     (name "rust-clap")
-- 
2.25.0

From 83129ee83203f6b694d7281b910e799cbeb0cf2a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:09:36 +0300
Subject: [PATCH 205/275] gnu: Add rust-target-build-utils-0.3.

* gnu/packages/crates-io.scm (rust-target-build-utils-0.3):
New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 80f6f7cdfb..56b1fcf739 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15502,6 +15502,35 @@ memory all at once.")
      "This package provides a small wrapper around option.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-target-build-utils-0.3
+  (package
+    (name "rust-target-build-utils")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "target_build_utils" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p7713x4bpbwi11l196z1mi8ym8qj1cdnab1mm2ffpm2wi516g81"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-phf" ,rust-phf-0.7)
+        ("rust-serde-json" ,rust-serde-json-0.9))
+       #:cargo-development-inputs
+       (("rust-phf-codegen" ,rust-phf-codegen-0.7))))
+    (home-page
+     "https://github.com/nagisa/target_build_utils.rs")
+    (synopsis
+     "DEPRECATED: Use Cargo environment variables `CARGO_CFG_TARGET_*`")
+    (description
+     "DEPRECATED: Use Cargo environment variables `CARGO_CFG_TARGET_*`")
+    (license (list license:isc license:asl2.0))))
+
 (define-public rust-tempdir-0.3
   (package
     (name "rust-tempdir")
-- 
2.25.0

From 049101ea1dc35c7f9c4079e3dcfc35a95a0cfffb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:09:06 +0300
Subject: [PATCH 204/275] gnu: Add rust-serde-json-0.9.

* gnu/packages/crates-io.scm (rust-serde-json-0.9): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 01f98d7ae2..80f6f7cdfb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13912,6 +13912,32 @@ proven statistical guarantees.")
      "This package provides a JSON serialization file format.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-json-0.9
+  (package
+    (inherit rust-serde-json-1.0)
+    (name "rust-serde-json")
+    (version "0.9.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_json" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "188nbf56m7p6mnh3xd71rwqxd4g95lqh8gsl7mfy3lp7gd4cz2xd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-dtoa" ,rust-dtoa-0.4)
+        ("rust-itoa" ,rust-itoa-0.3)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.4)
+        ("rust-num-traits" ,rust-num-traits-0.1)
+        ("rust-serde" ,rust-serde-0.9))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-0.9))))))
+
 (define-public rust-serde-macros-0.4
   (package
     (name "rust-serde-macros")
-- 
2.25.0

From 58f85f65aace27e13bd298204a152fbae91c3d3e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:07:47 +0300
Subject: [PATCH 203/275] gnu: Add rust-linked-hash-map-0.4.

* gnu/packages/crates-io.scm (rust-linked-hash-map-0.4): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 06593a88b3..01f98d7ae2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8951,6 +8951,28 @@ pairs in insertion order.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-linked-hash-map-0.4
+  (package
+    (inherit rust-linked-hash-map-0.5)
+    (name "rust-linked-hash-map")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "linked-hash-map" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fd958y02ggwpa2246kmjky9xmnww7vxg0ik3rxgy23hgwlyqq3q"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-heapsize" ,rust-heapsize-0.3)
+        ("rust-serde" ,rust-serde-0.9)
+        ("rust-serde-test" ,rust-serde-test-0.9))))))
+
 (define-public rust-new-debug-unreachable-1.0
   (package
     (name "rust-new-debug-unreachable")
-- 
2.25.0

From 695f0f082a553ab7eedd2f431f3d3f3651a8c56a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:06:46 +0300
Subject: [PATCH 202/275] gnu: Add rust-serde-macros-0.4.

* gnu/packages/crates-io.scm (rust-serde-macros-0.4): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6f8d250136..06593a88b3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13890,6 +13890,35 @@ proven statistical guarantees.")
      "This package provides a JSON serialization file format.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-macros-0.4
+  (package
+    (name "rust-serde-macros")
+    (version "0.4.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1717rpncvvyvyrpb7hdjgxpiki9vdgygwv2r3d9aal5n8cm8xi8i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde-codegen" ,rust-serde-codegen-0.4))
+       #:cargo-development-inputs
+       (("rust-num" ,rust-num-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde" ,rust-serde-0.4))))
+    (home-page "https://serde.rs")
+    (synopsis
+     "Macros to auto-generate implementations for the serde framework")
+    (description
+     "Macros to auto-generate implementations for the serde framework.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-test-1.0
   (package
     (name "rust-serde-test")
-- 
2.25.0

From eefc59a76b237494a7cd6aa8741d50ce16b22de0 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:05:22 +0300
Subject: [PATCH 201/275] gnu: Add rust-serde-test-0.9.

* gnu/packages/crates-io.scm (rust-serde-test-0.9): New variable.
---
 gnu/packages/crates-io.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6ba8ef8a8c..6f8d250136 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13918,6 +13918,24 @@ proven statistical guarantees.")
      "Token De/Serializer for testing De/Serialize implementations.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-test-0.9
+  (package
+    (inherit rust-serde-test-1.0)
+    (name "rust-serde-test")
+    (version "0.9.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "193mf0qkhvjywd06x6hhmkixlqcyfbpfwfmr75dp2b8xwzpsvxwf"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-serde" ,rust-serde-0.9))))))
+
 (define-public rust-serde-yaml-0.8
   (package
     (name "rust-serde-yaml")
-- 
2.25.0

From 039fced724f1767cd6ddf6e4544f1d49c0a649a6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:04:19 +0300
Subject: [PATCH 200/275] gnu: Add rust-serde-0.4.

* gnu/packages/crates-io.scm (rust-serde-0.4): New variable.
---
 gnu/packages/crates-io.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4075d14c75..6ba8ef8a8c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13679,6 +13679,24 @@ proven statistical guarantees.")
        #:cargo-development-inputs
        (("rust-serde-derive" ,rust-serde-derive-0.9))))))
 
+(define-public rust-serde-0.4
+  (package
+    (inherit rust-serde-0.9)
+    (name "rust-serde")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06s2ayx1p5zzj4q7bfld60c9iprsk1256pnh8qj6h794mjinw11b"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-num" ,rust-num-0.2))))))
+
 ;; Circular dev dependency on bincode.
 ;; Probably not going away: https://github.com/rust-lang/cargo/issues/4242
 (define-public rust-serde-bytes-0.11
-- 
2.25.0

From d303d9d6c7d2870d4930735f3011a530c9055653 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:04:07 +0300
Subject: [PATCH 199/275] gnu: Add rust-serde-0.9.

* gnu/packages/crates-io.scm (rust-serde-0.9): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a9cbfbe64e..4075d14c75 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13659,6 +13659,26 @@ proven statistical guarantees.")
      "This package provides a generic serialization/deserialization framework.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-0.9
+  (package
+    (inherit rust-serde-1.0)
+    (name "rust-serde")
+    (version "0.9.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bsla8l5xr9pp5sirkal6mngxcq6q961km88jvf339j5ff8j7dil"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-serde-derive" ,rust-serde-derive-0.9))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-0.9))))))
+
 ;; Circular dev dependency on bincode.
 ;; Probably not going away: https://github.com/rust-lang/cargo/issues/4242
 (define-public rust-serde-bytes-0.11
-- 
2.25.0

From 2b51bcd49af76416154da19082db95df9e8c4808 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:03:36 +0300
Subject: [PATCH 198/275] gnu: Add rust-serde-derive-0.9.

* gnu/packages/crates-io.scm (rust-serde-derive-0.9): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fee6bb4bdd..a9cbfbe64e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13801,6 +13801,27 @@ proven statistical guarantees.")
       "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-derive-0.9
+  (package
+    (inherit rust-serde-derive-1.0)
+    (name "rust-serde-derive")
+    (version "0.9.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fkldf0lnl6pwxs00qpyp79m30qmfpi3bk0wm22211ylyikdi3wp"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-quote" ,rust-quote-0.3)
+        ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
+        ("rust-syn" ,rust-syn-0.11))))))
+
 (define-public rust-serde-json-1.0
   (package
     (name "rust-serde-json")
-- 
2.25.0

From da73faaa5fe3c254e2a36797b0c172722b749e2a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:00:43 +0300
Subject: [PATCH 196/275] gnu: Add rust-syn-0.11 and rust-synom-0.11.

* gnu/packages/crates-io.scm (rust-syn-0.11, rust-synom-0.11):
New variables.
---
 gnu/packages/crates-io.scm | 52 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e0c3da3043..549ebce716 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15022,6 +15022,58 @@ cryptographic implementations.")
         ("rust-walkdir" ,rust-walkdir-2.2))))
     (properties '())))
 
+(define-public rust-syn-0.11
+  (package
+    (inherit rust-syn-0.15)
+    (name "rust-syn")
+    (version "0.11.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syn" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1b8x8jdsmj6r9ck7n1pg371526n1q90kx6rv6ivcb22w06wr3f6k"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-quote" ,rust-quote-0.3)
+        ("rust-synom" ,rust-synom-0.11)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.0))
+       #:cargo-development-inputs
+       (("rust-syntex-pos" ,rust-syntex-pos-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)
+        ("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-walkdir" ,rust-walkdir-1.0))))))
+
+(define-public rust-synom-0.11
+  (package
+    (name "rust-synom")
+    (version "0.11.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "synom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dj536sh5xxhan2h0znxhv0sl6sb7lvzmsmrc3nvl3h1v5p0d4x3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-unicode-xid" ,rust-unicode-xid-0.0))
+       #:cargo-development-inputs
+       (("rust-syn" ,rust-syn-0.11))))
+    (home-page "https://github.com/dtolnay/syn")
+    (synopsis "Stripped-down Nom parser used by Syn")
+    (description
+     "Stripped-down Nom parser used by Syn")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-synstructure-0.10
   (package
     (name "rust-synstructure")
-- 
2.25.0

From 2054592fc11ff8a5be9c562c981196ec5e4b9b25 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 15:58:49 +0300
Subject: [PATCH 195/275] gnu: Add rust-walkdir-1.0.

* gnu/packages/crates-io.scm (rust-walkdir-1.0): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6c902b9d78..e0c3da3043 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17614,6 +17614,32 @@ specified across Unix and Windows platforms.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-walkdir-1.0
+  (package
+    (inherit rust-walkdir-2.2)
+    (name "rust-walkdir")
+    (version "1.0.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "walkdir" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zw8safzqpsrvfn0256cngq2fr9d4lmwv5qb8ycn1f7sf3kgj25v"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-same-file" ,rust-same-file-0.1)
+        ("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-docopt" ,rust-docopt-0.7)
+        ("rust-quickcheck" ,rust-quickcheck-0.4)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
+
 (define-public rust-wasi-0.5
   (package
     (name "rust-wasi")
-- 
2.25.0

From 2e0683b11550ce29598e9e2f6b68d8f93bdc5a43 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 02:09:42 +0300
Subject: [PATCH 194/275] gnu: Add rust-regex-syntax-0.3.

* gnu/packages/crates-io.scm (rust-regex-syntax-0.3): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a8f5a60cc6..6c902b9d78 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12737,6 +12737,26 @@ uses finite automata and guarantees linear time matching on all inputs.")
        #:cargo-inputs
        (("rust-ucd-util" ,rust-ucd-util-0.1))))))
 
+(define-public rust-regex-syntax-0.3
+  (package
+    (inherit rust-regex-syntax-0.5)
+    (name "rust-regex-syntax")
+    (version "0.3.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex-syntax" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-remove-dir-all-0.5
   (package
     (name "rust-remove-dir-all")
-- 
2.25.0

From 355f1b845d437fe9404d862da100c50452274e73 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 02:07:48 +0300
Subject: [PATCH 193/275] gnu: rust-quickcheck-0.2: Inherit from
 rust-quickcheck-0.4.

* gnu/packages/crates-io.scm (rust-quickcheck-0.2):
Inherit from rust-quickcheck-0.4.
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ec96006477..a8f5a60cc6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11496,7 +11496,7 @@ to write.")
 
 (define-public rust-quickcheck-0.2
   (package
-    (inherit rust-quickcheck-0.5)
+    (inherit rust-quickcheck-0.4)
     (name "rust-quickcheck")
     (version "0.2.27")
     (source
@@ -11507,13 +11507,7 @@ to write.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.3)
-        ("rust-log" ,rust-log-0.3)
-        ("rust-rand" ,rust-rand-0.3))))))
+         "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh"))))))
 
 (define-public rust-quickcheck-macros-0.8
   (package
-- 
2.25.0

From 4f62b24c0f68a7a02872508bed977fd438e8714f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:03:07 +0300
Subject: [PATCH 197/275] gnu: Add rust-serde-codegen-internals-0.14.

* gnu/packages/crates-io.scm (rust-serde-codegen-internals-0.14):
New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 549ebce716..fee6bb4bdd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13749,6 +13749,30 @@ proven statistical guarantees.")
      "Macros to auto-generate implementations for the serde framework")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-codegen-internals-0.14
+  (package
+    (name "rust-serde-codegen-internals")
+    (version "0.14.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_codegen_internals" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0004s3wlc85vi6hq62hq84cv5b6qbbin1n6hdaqj095xhg98p25w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-syn" ,rust-syn-0.11))))
+    (home-page "https://serde.rs")
+    (synopsis
+     "AST representation used by Serde codegen. Unstable.")
+    (description
+     "AST representation used by Serde codegen.  Unstable.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-derive-1.0
   (package
     (name "rust-serde-derive")
-- 
2.25.0

From 7c311c9a07a0cfbe20d109353598cf46c60bf088 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 02:07:15 +0300
Subject: [PATCH 192/275] gnu: Add rust-quickcheck-0.4.

* gnu/packages/crates-io.scm (rust-quickcheck-0.4): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 173e0ff5ad..ec96006477 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11473,6 +11473,27 @@ to write.")
         ("rust-log" ,rust-log-0.3)
         ("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-quickcheck-0.4
+  (package
+    (inherit rust-quickcheck-0.5)
+    (name "rust-quickcheck")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "01hligcv1h4pvc8ykch65qjzi7jgcq2s462v69j27slc84fl3hh2"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.3)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-quickcheck-0.2
   (package
     (inherit rust-quickcheck-0.5)
-- 
2.25.0

From 7e6ee162b14270f749052dd73be3daf46b8a6baf Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:46:39 +0300
Subject: [PATCH 190/275] gnu: Add rust-obj-0.9.

* gnu/packages/crates-io.scm (rust-obj-0.9): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 36c643ad59..855945f6db 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9363,6 +9363,30 @@ including bigint,complex, rational, range iterators, generic integers, and more!
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-obj-0.9
+  (package
+    (name "rust-obj")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "obj" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10z1r2r0xyhr4j1n07135kz4bc0zhqy98vabs99vz0x171bi8gy0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-genmesh" ,rust-genmesh-0.6))))
+    (home-page "https://github.com/kvark/obj")
+    (synopsis
+     "A package for loading Wavefront .obj files")
+    (description
+     "This package provides a package for loading Wavefront .obj files")
+    (license license:asl2.0)))
+
 (define-public rust-objc-0.2
   (package
     (name "rust-objc")
-- 
2.25.0

From d4d80e9661d833c1655eddf2cf26d1ddf78e2886 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:46:08 +0300
Subject: [PATCH 189/275] gnu: Add rust-genmesh-0.6.

* gnu/packages/crates-io.scm (rust-genmesh-0.6): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e3e6e8567f..36c643ad59 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5432,6 +5432,31 @@ See winapi for types and constants.")
         (base32
          "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6"))))))
 
+(define-public rust-genmesh-0.6
+  (package
+    (name "rust-genmesh")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "genmesh" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17qybydyblf3hjiw7mq181jpi4vrbb8dmsj0wi347r8k0m354g89"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cgmath" ,rust-cgmath-0.16)
+        ("rust-mint" ,rust-mint-0.5))))
+    (home-page "https://github.com/gfx-rs/genmesh")
+    (synopsis "A package for generating 3D meshes")
+    (description
+     "This package provides a package for generating 3D meshes")
+    (license license:asl2.0)))
+
 (define-public rust-getopts-0.2
   (package
     (name "rust-getopts")
-- 
2.25.0

From 30d9674b1d5d743c15b83c7e1b3f060c6f7b1a6a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 02:03:55 +0300
Subject: [PATCH 191/275] gnu: Add rust-regex-0.1 and its cyclic dependencies.

* gnu/packages/crates-io.scm (rust-regex-0.1): New variable.
* gnu/packages/crates-io.scm (rust-aho-corasick-0.5): New variable.
* gnu/packages/crates-io.scm (rust-byteorder-0.5): New variable.
* gnu/packages/crates-io.scm (rust-csv-0.14): New variable.
* gnu/packages/crates-io.scm (rust-docopt-0.6): New variable.
* gnu/packages/crates-io.scm (rust-env-logger-0.3): New variable.
* gnu/packages/crates-io.scm (rust-memchr-0.1): New variable.
* gnu/packages/crates-io.scm (rust-quickcheck-0.2): New variable.
* gnu/packages/crates-io.scm (rust-utf8-ranges-0.1): New variable.
---
 gnu/packages/crates-io.scm | 206 +++++++++++++++++++++++++++++++++++++
 1 file changed, 206 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 855945f6db..173e0ff5ad 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -185,6 +185,32 @@ Rust, using gimli.")
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0))))))
 
+(define-public rust-aho-corasick-0.5
+  (package
+    (inherit rust-aho-corasick-0.6)
+    (name "rust-aho-corasick")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "aho-corasick" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-memchr" ,rust-memchr-0.1))
+       #:cargo-development-inputs
+       (("rust-csv" ,rust-csv-0.14)
+        ("rust-docopt" ,rust-docopt-0.6)
+        ("rust-memmap" ,rust-memmap-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
+
 (define-public rust-android-glue-0.2
   (package
     (name "rust-android-glue")
@@ -1407,6 +1433,26 @@ little-endian.")
        (("rust-quickcheck" ,rust-quickcheck-0.7)
         ("rust-rand" ,rust-rand-0.5))))))
 
+(define-public rust-byteorder-0.5
+  (package
+    (inherit rust-byteorder-1.2)
+    (name "rust-byteorder")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "byteorder" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ma8pkyz1jbglr29m1yzlc9ghmv6672nvsrn7zd0yn5jqs60xh8g"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-bytes-0.4
   (package
     (name "rust-bytes")
@@ -2908,6 +2954,28 @@ intrinsics.")
      "Fast CSV parsing with support for serde.")
     (license (list license:unlicense license:expat))))
 
+(define-public rust-csv-0.14
+  (package
+    (inherit rust-csv-1.1)
+    (name "rust-csv")
+    (version "0.14.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "csv" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g0qvr9fj25fq1fy0p758glrb30yz7x46h18hsysaqyaswaihv16"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-0.5)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))
+       #:cargo-development-inputs
+       (("rust-regex" ,rust-regex-0.1))))))
+
 (define-public rust-csv-core-0.1
   (package
     (name "rust-csv-core")
@@ -3425,6 +3493,28 @@ from macros.")
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-strsim" ,rust-strsim-0.6))))))
 
+(define-public rust-docopt-0.6
+  (package
+    (inherit rust-docopt-0.7)
+    (name "rust-docopt")
+    (version "0.6.86")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "docopt" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-regex" ,rust-regex-0.1)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-strsim" ,rust-strsim-0.5))))))
+
 (define-public rust-downcast-rs-1.1
   (package
     (name "rust-downcast-rs")
@@ -3956,6 +4046,26 @@ is configured via an environment variable.")
        (("rust-log" ,rust-log-0.3)
         ("rust-regex" ,rust-regex-0.2))))))
 
+(define-public rust-env-logger-0.3
+  (package
+    (inherit rust-env-logger-0.4)
+    (name "rust-env-logger")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "env_logger" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.3)
+        ("rust-regex" ,rust-regex-0.1))))))
+
 (define-public rust-envmnt-0.6
   (package
     (name "rust-envmnt")
@@ -8133,6 +8243,28 @@ for searching bytes.")
         (base32
          "0yjyja34pzhipdl855q3m21w1lyih4lw79x2dp3czwdla4pap3ql"))))))
 
+(define-public rust-memchr-0.1
+  (package
+    (inherit rust-memchr-1.0)
+    (name "rust-memchr")
+    (version "0.1.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memchr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2))))))
+
 (define-public rust-memmap-0.7
   (package
     (name "rust-memmap")
@@ -11341,6 +11473,27 @@ to write.")
         ("rust-log" ,rust-log-0.3)
         ("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-quickcheck-0.2
+  (package
+    (inherit rust-quickcheck-0.5)
+    (name "rust-quickcheck")
+    (version "0.2.27")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.3)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-quickcheck-macros-0.8
   (package
     (name "rust-quickcheck-macros")
@@ -12467,6 +12620,34 @@ uses finite automata and guarantees linear time matching on all inputs.")
         ("rust-quickcheck" ,rust-quickcheck-0.6)
         ("rust-rand" ,rust-rand-0.4))))))
 
+(define-public rust-regex-0.1
+  (package
+    (inherit rust-regex-0.2)
+    (name "rust-regex")
+    (version "0.1.80")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aho-corasick" ,rust-aho-corasick-0.5)
+        ("rust-memchr" ,rust-memchr-0.1)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.3)
+        ("rust-simd" ,rust-simd-0.1)
+        ("rust-thread-local" ,rust-thread-local-0.2)
+        ("rust-utf8-ranges" ,rust-utf8-ranges-0.1))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-0.1)
+        ("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))))
+
 (define-public rust-regex-automata-0.1
   (package
     (name "rust-regex-automata")
@@ -17052,6 +17233,31 @@ untrusted inputs in Rust.")
      "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-utf8-ranges-0.1
+  (package
+    (inherit rust-utf8-ranges-1.0)
+    (name "rust-utf8-ranges")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf8-ranges" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2))))
+    (home-page
+     "https://github.com/BurntSushi/utf8-ranges")
+    (synopsis
+     "DEPRECATED. Use regex-syntax::utf8 submodule instead")
+    (description
+     "DEPRECATED.  Use regex-syntax::utf8 submodule instead.")))
+
 (define-public rust-utf8parse-0.1
   (package
     (name "rust-utf8parse")
-- 
2.25.0

From a288536fad8e81475edd133ba3504bd6aaab8a85 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:45:36 +0300
Subject: [PATCH 188/275] gnu: Add rust-cgmath-0.16.

* gnu/packages/crates-io.scm (rust-cgmath-0.16): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f93727c8ac..e3e6e8567f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1816,6 +1816,30 @@ depending on a large number of #[cfg] parameters.  Structured like an
 for computer graphics.")
     (license license:asl2.0)))
 
+(define-public rust-cgmath-0.16
+  (package
+    (inherit rust-cgmath-0.17)
+    (name "rust-cgmath")
+    (version "0.16.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cgmath" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07754c03v3srzf64ghsl3fggrdi4kjy6l3vyq2d2wfjfixybb934"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-approx" ,rust-approx-0.1)
+        ("rust-mint" ,rust-mint-0.5)
+        ("rust-num-traits" ,rust-num-traits-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-simd" ,rust-simd-0.2))))))
+
 (define-public rust-ci-info-0.3
   (package
     (name "rust-ci-info")
-- 
2.25.0

From c653eed96b2db70a4b54aa0b4f96b1ad2fc77482 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:44:47 +0300
Subject: [PATCH 187/275] gnu: Add rust-cgmath-0.17.

* gnu/packages/crates-io.scm (rust-cgmath-0.17): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0585bf6ed1..f93727c8ac 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1780,6 +1780,42 @@ depending on a large number of #[cfg] parameters.  Structured like an
        (("rust-gleam" ,rust-gleam-0.6)
         ("rust-libc" ,rust-libc-0.2))))))
 
+(define-public rust-cgmath-0.17
+  (package
+    (name "rust-cgmath")
+    (version "0.17.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cgmath" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rvgila6ivr0dh1bxza450a4yfwdi2pwj3h1vnwg0jy4xk6l8f98"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       ;; TODO: glium and cgmath has cyclic dev dependencies on each other
+       ;; almost to the very beginning of both projects. To satisfy
+       ;; #:cargo-development-inputs we'll have to package many versions
+       ;; of cgmath and glium in one go.
+       #:cargo-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-mint" ,rust-mint-0.5)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-simd" ,rust-simd-0.2))))
+    (home-page
+     "https://github.com/brendanzab/cgmath")
+    (synopsis
+     "A linear algebra and mathematics library for computer graphics.")
+    (description
+     "This package provides a linear algebra and mathematics library
+for computer graphics.")
+    (license license:asl2.0)))
+
 (define-public rust-ci-info-0.3
   (package
     (name "rust-ci-info")
-- 
2.25.0

From e610b967e9fee14753f1f503b49f9b51ae7374c7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:33:47 +0300
Subject: [PATCH 186/275] gnu: Add rust-rusttype-0.8.

* gnu/packages/crates-io.scm (rust-rusttype-0.8): New variable.
---
 gnu/packages/crates-io.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 153af59fd4..0585bf6ed1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12790,6 +12790,46 @@ rustc compiler.")
      "Automatically apply the suggestions made by rustc.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rusttype-0.8
+  (package
+    (name "rust-rusttype")
+    (version "0.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rusttype" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12hwfg85iii7sbgsyyr23yw862dzp7f8zwn9xv5iqydm5w1i3a8l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-arrayvec" ,rust-arrayvec-0.5)
+        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-libm" ,rust-libm-0.2)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-ordered-float" ,rust-ordered-float-1.0)
+        ("rust-rustc-hash" ,rust-rustc-hash-1.0)
+        ("rust-stb-truetype" ,rust-stb-truetype-0.3))))
+    (home-page
+     "https://gitlab.redox-os.org/redox-os/rusttype")
+    (synopsis
+     "A pure Rust alternative to libraries like FreeType")
+    (description
+     "This package provides a pure Rust alternative to libraries like FreeType.
+
+RustType provides an API for loading, querying and rasterising TrueType fonts.
+
+It also provides an implementation of a dynamic GPU glyph cache for hardware
+font rendering.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustversion-1.0
   (package
     (name "rust-rustversion")
-- 
2.25.0

From 74819ca86701a876691f77a1fee9d05240b27260 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:30:49 +0300
Subject: [PATCH 185/275] gnu: Add rust-line-drawing-0.7.

* gnu/packages/crates-io.scm (rust-line-drawing-0.7): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 33d5858ea0..153af59fd4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8672,6 +8672,37 @@ known as zlib).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-line-drawing-0.7
+  (package
+    (name "rust-line-drawing")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "line_drawing" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fcna7hq1g1kkkqy07hydscx5d2zgb6gskz3vnsvsif8h8ysvisw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2))
+       #:cargo-development-inputs
+       (("rust-bresenham" ,rust-bresenham-0.1)
+        ("rust-image" ,rust-image-0.22)
+        ("rust-rand" ,rust-rand-0.7))))
+    (home-page
+     "https://github.com/expenses/line_drawing")
+    (synopsis
+     "A collection of line-drawing algorithms for use in graphics and video games")
+    (description
+     "This package provides a collection of line-drawing algorithms for use in
+graphics and video games.")
+    (license license:expat)))
+
 (define-public rust-linked-hash-map-0.5
   (package
     (name "rust-linked-hash-map")
-- 
2.25.0

From 378330df090cff3a94c95588bbc94fe26340db44 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:30:07 +0300
Subject: [PATCH 184/275] gnu: Add rust-image-0.20.

* gnu/packages/crates-io.scm (rust-image-0.20): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 26d0b1d6c2..33d5858ea0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6651,6 +6651,38 @@ for the most common image formats.")
         ("rust-num-complex" ,rust-num-complex-0.2)
         ("rust-quickcheck" ,rust-quickcheck-0.6))))))
 
+(define-public rust-image-0.20
+  (package
+    (inherit rust-image-0.21)
+    (name "rust-image")
+    (version "0.20.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "image" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "01058n0jcw25pq5shn7lkvywv8c28xsxb3nwwyb4r16ijm1mnrj4"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-gif" ,rust-gif-0.10)
+        ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1)
+        ("rust-lzw" ,rust-lzw-0.10)
+        ("rust-num-iter" ,rust-num-iter-0.1)
+        ("rust-num-rational" ,rust-num-rational-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-png" ,rust-png-0.12)
+        ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
+        ("rust-tiff" ,rust-tiff-0.2))
+       #:cargo-development-inputs
+       (("rust-glob" ,rust-glob-0.2)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.6))))))
+
 (define-public rust-indexmap-1.0
   (package
     (name "rust-indexmap")
-- 
2.25.0

From c52574a42607d41402fceb7d2526cb75451cfb4e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:29:21 +0300
Subject: [PATCH 183/275] gnu: Add rust-image-0.21.

* gnu/packages/crates-io.scm (rust-image-0.21): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0aa695c043..26d0b1d6c2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6619,6 +6619,38 @@ the most common image formats")
 for the most common image formats.")
     (license license:expat)))
 
+(define-public rust-image-0.21
+  (package
+    (inherit rust-image-0.22)
+    (name "rust-image")
+    (version "0.21.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "image" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1sv534xp8yyn7jj0q6yn2bgng1350f962g81sv8v7c6pgi31wdrm"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-gif" ,rust-gif-0.10)
+        ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1)
+        ("rust-lzw" ,rust-lzw-0.10)
+        ("rust-num-iter" ,rust-num-iter-0.1)
+        ("rust-num-rational" ,rust-num-rational-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-png" ,rust-png-0.14)
+        ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
+        ("rust-tiff" ,rust-tiff-0.2))
+       #:cargo-development-inputs
+       (("rust-glob" ,rust-glob-0.3)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.6))))))
+
 (define-public rust-indexmap-1.0
   (package
     (name "rust-indexmap")
-- 
2.25.0

From 93bc5f073bc8e4c9e95ed1a60c8fee15e259342d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:28:24 +0300
Subject: [PATCH 182/275] gnu: Add rust-image-0.22.

* gnu/packages/crates-io.scm (rust-image-0.22): New variable.
---
 gnu/packages/crates-io.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 56d7cabddd..0aa695c043 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6579,6 +6579,46 @@ SystemTime}}.")
 ignore files such as .gitignore against file paths.")
     (license (list license:unlicense license:expat))))
 
+(define-public rust-image-0.22
+  (package
+    (name "rust-image")
+    (version "0.22.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "image" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09kqym26z03j31rfzr9zd8i8y2d0apxmm4mf8bf4axdyxymfhjvv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-gif" ,rust-gif-0.10)
+        ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1)
+        ("rust-num-iter" ,rust-num-iter-0.1)
+        ("rust-num-rational" ,rust-num-rational-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-png" ,rust-png-0.15)
+        ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
+        ("rust-tiff" ,rust-tiff-0.3))
+       #:cargo-development-inputs
+       (("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.6))))
+    (home-page "https://github.com/image-rs/image")
+    (synopsis
+     "Imaging library written in Rust. Provides basic filters and decoders for
+the most common image formats")
+    (description
+     "Imaging library written in Rust.  Provides basic filters and decoders
+for the most common image formats.")
+    (license license:expat)))
+
 (define-public rust-indexmap-1.0
   (package
     (name "rust-indexmap")
-- 
2.25.0

From 5c6731f67a7c084d05a7c9b96a62f414ca4268b1 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:24:31 +0300
Subject: [PATCH 179/275] gnu: Add rust-jpeg-decoder-0.1.

* gnu/packages/crates-io.scm (rust-jpeg-decoder-0.1): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fe72cd0a35..aa032eac73 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6924,6 +6924,35 @@ primitives to an @code{io::Write}.")
      "An implementation of the GNU make jobserver for Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-jpeg-decoder-0.1
+  (package
+    (name "rust-jpeg-decoder")
+    (version "0.1.18")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "jpeg-decoder" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lc428qgffh2a1agkq0p26mvf9rjaiswpywy5883j99mqypg0mh2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-rayon" ,rust-rayon-1.1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-png" ,rust-png-0.15)
+        ("rust-walkdir" ,rust-walkdir-2.2))))
+    (home-page
+     "https://github.com/image-rs/jpeg-decoder")
+    (synopsis "JPEG decoder")
+    (description "JPEG decoder")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-js-sys-0.3
   (package
     (name "rust-js-sys")
-- 
2.25.0

From 8c080844cac3127f055dddcd31e5a8fb2d6dc897 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:27:00 +0300
Subject: [PATCH 181/275] gnu: Add rust-tiff-0.2.

* gnu/packages/crates-io.scm (rust-tiff-0.2): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b81d3c78a4..56d7cabddd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15380,6 +15380,28 @@ fixed set of worker threads.")
      "TIFF decoding and encoding library in pure Rust")
     (license license:expat)))
 
+(define-public rust-tiff-0.2
+  (package
+    (inherit rust-tiff-0.3)
+    (name "rust-tiff")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiff" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.2)
+        ("rust-lzw" ,rust-lzw-0.10)
+        ("rust-num-derive" ,rust-num-derive-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))))))
+
 (define-public rust-time-0.1
   (package
     (name "rust-time")
-- 
2.25.0

From 96236a7365bed855f16d4faf6b55cd4fcab8237e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:25:57 +0300
Subject: [PATCH 180/275] gnu: Add rust-tiff-0.3.

* gnu/packages/crates-io.scm (rust-tiff-0.3): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aa032eac73..b81d3c78a4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15349,6 +15349,37 @@ fixed set of worker threads.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-tiff-0.3
+  (package
+    (name "rust-tiff")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiff" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zgmbny2f8rssqmjdfvnysy0vqwcvlwl6q9f5yixhavlqk7w5dyp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.2)
+        ("rust-lzw" ,rust-lzw-0.10)
+        ("rust-num-derive" ,rust-num-derive-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.0))))
+    (home-page
+     "https://github.com/image-rs/image-tiff")
+    (synopsis
+     "TIFF decoding and encoding library in pure Rust")
+    (description
+     "TIFF decoding and encoding library in pure Rust")
+    (license license:expat)))
+
 (define-public rust-time-0.1
   (package
     (name "rust-time")
-- 
2.25.0

From 5681b0d42ef4371b0810ae9f8f22fac4d73feb7a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:23:56 +0300
Subject: [PATCH 178/275] gnu: Add rust-png-0.12.

* gnu/packages/crates-io.scm (rust-png-0.12): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fb06f2c79b..fe72cd0a35 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10487,6 +10487,34 @@ used in Cargo build scripts.")
         ("rust-rand" ,rust-rand-0.5)
         ("rust-term" ,rust-term-0.4))))))
 
+(define-public rust-png-0.12
+  (package
+    (inherit rust-png-0.14)
+    (name "rust-png")
+    (version "0.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "png" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nqlc8lqf8ncv3kj0gzlxwli61dbbxcjlrp176kvilw4sl09cjzm"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-deflate" ,rust-deflate-0.7)
+        ("rust-inflate" ,rust-inflate-0.4)
+        ("rust-num-iter" ,rust-num-iter-0.1))
+       #:cargo-development-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ;; TODO: gluum has many cyclic dependencies with other packages
+        ;; ("rust-glium" ,rust-glium-0.21)
+        ("rust-glob" ,rust-glob-0.2)
+        ("rust-term" ,rust-term-0.4))))))
+
 (define-public rust-pocket-resources-0.3
   (package
     (name "rust-pocket-resources")
-- 
2.25.0

From 5737d95ec447c505dede123a0e0c7d5c1c388cc6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:23:20 +0300
Subject: [PATCH 177/275] gnu: Add rust-png-0.14.

* gnu/packages/crates-io.scm (rust-png-0.14): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6c922d9768..fb06f2c79b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10458,6 +10458,35 @@ used in Cargo build scripts.")
      "PNG decoding and encoding library in pure Rust")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-png-0.14
+  (package
+    (inherit rust-png-0.15)
+    (name "rust-png")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "png" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nf3a8r9p9zrj4x30b48f7yv18dz9xkmrq9b3lnzmpnhzn0z9nk3"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-deflate" ,rust-deflate-0.7)
+        ("rust-inflate" ,rust-inflate-0.4)
+        ("rust-num-iter" ,rust-num-iter-0.1))
+       #:cargo-development-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ;; TODO: glium has many cyclic dependencies with other packages
+        ;; ("rust-glium" ,rust-glium-0.22)
+        ("rust-glob" ,rust-glob-0.2)
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-term" ,rust-term-0.4))))))
+
 (define-public rust-pocket-resources-0.3
   (package
     (name "rust-pocket-resources")
-- 
2.25.0

From 387083be30c47fea2b5cff19a0a48b62ef9d6f5c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:58:55 +0300
Subject: [PATCH 174/275] gnu: Add rust-servo-fontconfig-sys-4.0.

* gnu/packages/crates-io.scm (rust-servo-fontconfig-sys-4.0):
New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5c0db5c6d3..5a80d09f48 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13243,6 +13243,34 @@ proven statistical guarantees.")
     (description "YAML support for Serde.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-servo-fontconfig-sys-4.0
+  (package
+    (name "rust-servo-fontconfig-sys")
+    (version "4.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-fontconfig-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v0mbicy74wd6cjd5jyqnm4nvrrr5lmg053cn16kylhg8mkf3cv2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-expat-sys" ,rust-expat-sys-2.1)
+        ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4.0))
+       #:cargo-development-inputs
+       (("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "http://fontconfig.org")
+    (synopsis
+     "Font configuration and customization library")
+    (description
+     "Font configuration and customization library")
+    (license license:expat)))
+
 (define-public rust-servo-freetype-sys-4.0
   (package
     (name "rust-servo-freetype-sys")
-- 
2.25.0

From 6b0b335842fa6c77555333310ae9afdf2b77aa17 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 01:20:29 +0300
Subject: [PATCH 176/275] gnu: Add rust-png-0.15.

* gnu/packages/crates-io.scm (rust-png-0.15): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c9154bc791..6c922d9768 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10422,6 +10422,42 @@ used in Cargo build scripts.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-png-0.15
+  (package
+    (name "rust-png")
+    (version "0.15.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "png" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lpdd8fg2lg4iz53c0bjfmc98rsy4rs16g8m5c66vj3zpl2bhz14"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-deflate" ,rust-deflate-0.7)
+        ("rust-inflate" ,rust-inflate-0.4))
+       #:cargo-development-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ;; TODO: glium has many cyclic dependencies with other packages
+        ;;("rust-glium" ,rust-glium-0.24)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-term" ,rust-term-0.6))))
+    (home-page
+     "https://github.com/image-rs/image-png.git")
+    (synopsis
+     "PNG decoding and encoding library in pure Rust")
+    (description
+     "PNG decoding and encoding library in pure Rust")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-pocket-resources-0.3
   (package
     (name "rust-pocket-resources")
-- 
2.25.0

From dc7e0ac507492c27d7481f730f72ed8d54cb13d2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:58:31 +0300
Subject: [PATCH 173/275] gnu: Add rust-servo-freetype-sys-4.0.

* gnu/packages/crates-io.scm (rust-servo-freetype-sys-4.0): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 49daed5b81..5c0db5c6d3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13243,6 +13243,32 @@ proven statistical guarantees.")
     (description "YAML support for Serde.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-servo-freetype-sys-4.0
+  (package
+    (name "rust-servo-freetype-sys")
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-freetype-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19fx4rf4xrvw2csqv0azbn9f28nafwi1hffiahs0q348rn1bzcml"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-cmake" ,rust-cmake-0.1)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "http://www.freetype.org/")
+    (synopsis
+     "FreeType is a freely available software library to render fonts")
+    (description
+     "FreeType is a freely available software library to render fonts.")
+    (license (list license:freetype license:gpl2))))
+
 (define-public rust-sha-1-0.8
   (package
     (name "rust-sha-1")
-- 
2.25.0

From d5b5e64e60a6955a0d99a6a4cdad69ba5fe5a53d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:59:16 +0300
Subject: [PATCH 175/275] gnu: Add rust-servo-fontconfig-4.0.

* gnu/packages/crates-io.scm (rust-servo-fontconfig-4.0):
New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5a80d09f48..c9154bc791 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13243,6 +13243,31 @@ proven statistical guarantees.")
     (description "YAML support for Serde.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-servo-fontconfig-0.4
+  (package
+    (name "rust-servo-fontconfig")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-fontconfig" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nach6s4hdf86jz5hlm4p5r7vin91cs7gg89mr533id5fpbzi250"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-4.0))))
+    (home-page
+     "https://github.com/servo/rust-fontconfig/")
+    (synopsis "Rust bindings for fontconfig")
+    (description "Rust bindings for fontconfig")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-servo-fontconfig-sys-4.0
   (package
     (name "rust-servo-fontconfig-sys")
-- 
2.25.0

From cbc0b12e3c8af3c4a5160b0941d73c89f51f9d43 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:55:45 +0300
Subject: [PATCH 172/275] gnu: Add rust-sema-0.1.

* gnu/packages/crates-io.scm (rust-sema-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bb7646010f..49daed5b81 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12919,6 +12919,34 @@ proven statistical guarantees.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-sema-0.1
+  (package
+    (name "rust-sema")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sema" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ckq33sg84785p195m54h03jcn7fai8w08hjnb94nzaakgzibbz3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-nix" ,rust-nix-0.15))))
+    (home-page "https://github.com/cpjreynolds/sema")
+    (synopsis "Rust semaphore library")
+    (description "Rust semaphore library")
+    (license license:expat)))
+
 (define-public rust-semver-0.9
   (package
     (name "rust-semver")
-- 
2.25.0

From 25dedf541a32bb1943478ebe0de6ee96ae45f7a3 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:47:41 +0300
Subject: [PATCH 168/275] gnu: Add rust-expat-sys-2.1.

* gnu/packages/crates-io.scm (rust-expat-sys-2.1): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f5e0ad8474..e8edc80bef 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4029,6 +4029,29 @@ is configured via an environment variable.")
     (description "Geometry primitives")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-expat-sys-2.1
+  (package
+    (name "rust-expat-sys")
+    (version "2.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "expat-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0gijyhfrp4wh0czrs9lg8wxziafgp6zgs2kg2wgmghclhn1nzksc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-make-cmd" ,rust-make-cmd-0.1)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "http://www.libexpat.org/")
+    (synopsis "XML parser library written in C")
+    (description "XML parser library written in C")
+    (license license:expat)))
+
 (define-public rust-fake-simd-0.1
   (package
     (name "rust-fake-simd")
-- 
2.25.0

From 9d8407052e50a2a884c5690f05334f64b032f0a7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:49:33 +0300
Subject: [PATCH 170/275] gnu: Add rust-gif-0.10.

* gnu/packages/crates-io.scm (rust-gif-0.10): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 31cc6b1337..1054403413 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5428,6 +5428,34 @@ See winapi for types and constants.")
 retrieving random data from system source.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gif-0.10
+  (package
+    (name "rust-gif")
+    (version "0.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gif" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bw174f7civdfgryvc8pvyhicpr96hzdajnda4s3y8iv3ch907a7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-color-quant" ,rust-color-quant-1.0)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-lzw" ,rust-lzw-0.10))
+       #:cargo-development-inputs
+       (("rust-glob" ,rust-glob-0.3))))
+    (home-page
+     "https://github.com/image-rs/image-gif")
+    (synopsis "GIF de- and encoder")
+    (description "GIF de- and encoder")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-gimli-0.18
   (package
     (name "rust-gimli")
-- 
2.25.0

From 127586003ed371173cd8767209e8fbbf6427bd8f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:53:25 +0300
Subject: [PATCH 171/275] gnu: Add rust-memmap-0.2.

* gnu/packages/crates-io.scm (rust-memmap-0.2): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1054403413..bb7646010f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7957,6 +7957,30 @@ file IO.")
          (base32
           "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))))
 
+(define-public rust-memmap-0.2
+  (package
+    (inherit rust-memmap-0.6)
+    (name "rust-memmap")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memmap" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0li737lakqcbbgd87x7h8d4vp0r1fqcbn5lb5vi746i9jgnp43zj"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fs2" ,rust-fs2-0.2)
+        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))))
+
 (define-public rust-memoffset-0.5
   (package
     (name "rust-memoffset")
-- 
2.25.0

From a92052be3a623fde3e2c086845bcbd3054471585 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:49:00 +0300
Subject: [PATCH 169/275] gnu: Add rust-color-quant-1.0.

* gnu/packages/crates-io.scm (rust-color-quant-1.0): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e8edc80bef..31cc6b1337 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2038,6 +2038,29 @@ CMAKE environmental variable is set.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-color-quant-1.0
+  (package
+    (name "rust-color-quant")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "color-quant" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ga56jrafnjm80903nnqjkyii4bwd6a7visxh0g8hgi6cmrvbfqd"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/PistonDevelopers/color_quant.git")
+    (synopsis
+     "Color quantization library to reduce n colors to 256 colors")
+    (description
+     "Color quantization library to reduce n colors to 256 colors.")
+    (license license:expat)))
+
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
 (define-public rust-compiler-builtins-0.1
-- 
2.25.0

From 43285f79dad980c70ded092ac98514454801b677 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:47:17 +0300
Subject: [PATCH 167/275] gnu: Add rust-euclid-0.20.

* gnu/packages/crates-io.scm (rust-euclid-0.20): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 65edd4fc67..f5e0ad8474 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4002,6 +4002,33 @@ is configured via an environment variable.")
      "Yet another error boilerplate library.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-euclid-0.20
+  (package
+    (name "rust-euclid")
+    (version "0.20.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "euclid" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pa8kxblvc0s9gia9n0966w7169aswpg7knw2pmwrqa204r2v19z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-mint" ,rust-mint-0.5)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/servo/euclid")
+    (synopsis "Geometry primitives")
+    (description "Geometry primitives")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-fake-simd-0.1
   (package
     (name "rust-fake-simd")
-- 
2.25.0

From 9e085d1d1457d677c4477162ed5d4a92dcc9d2ca Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:45:26 +0300
Subject: [PATCH 164/275] gnu: Add rust-gzip-header-0.3.

* gnu/packages/crates-io.scm (rust-gzip-header-0.3): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b4e0639db4..05f069a45c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5832,6 +5832,34 @@ standard printing of search results, similar to grep itself.")
      "Fast line oriented regex searching as a library.")
     (license (list license:unlicense license:expat))))
 
+(define-public rust-gzip-header-0.3
+  (package
+    (name "rust-gzip-header")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gzip-header" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fg6vm8sgsm69szwqyz7abfbyziv6pv0jkcailimlamvsfrzwc81"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crc32fast" ,rust-crc32fast-1.2))))
+    (home-page
+     "https://github.com/oyvindln/gzip-header")
+    (synopsis
+     "A crate for decoding and encoding the header part of gzip files based on the
+gzip header implementation in the flate2 crate")
+    (description
+     "This package provides a crate for decoding and encoding the header part
+of gzip files based on the gzip header implementation in the flate2 crate.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-half-1.3
   (package
     (name "rust-half")
-- 
2.25.0

From d9bb7c5f371d33ccccb27f3895b74372b3aaa581 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:46:42 +0300
Subject: [PATCH 166/275] gnu: Add rust-dlib-0.4.

* gnu/packages/crates-io.scm (rust-dlib-0.4): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 15a79502c5..65edd4fc67 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2972,6 +2972,31 @@ hexadecimal, base32, and base64.")
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
+(define-public rust-dlib-0.4
+  (package
+    (name "rust-dlib")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dlib" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0smp2cdvy12xfw26qyqms273w5anszfadv73g75s88yqm54i5rbp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libloading" ,rust-libloading-0.5))))
+    (home-page "https://github.com/vberger/dlib")
+    (synopsis
+     "Helper macros for handling manually loading optional system libraries")
+    (description
+     "Helper macros for handling manually loading optional system libraries.")
+    (license license:expat)))
+
 (define-public rust-cpp-demangle-0.2
   (package
     (name "rust-cpp-demangle")
-- 
2.25.0

From 7aacc9bb5b57025d65d37cd51ed3f08b430fb910 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:43:57 +0300
Subject: [PATCH 163/275] gnu: Add rust-bzip2-sys-0.1.

* gnu/packages/crates-io.scm (rust-bzip2-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9ad0aafb21..b4e0639db4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1437,6 +1437,36 @@ little-endian.")
      "Types and traits for working with bytes.")
     (license license:expat)))
 
+(define-public rust-bzip2-sys-0.1
+  (package
+    (name "rust-bzip2-sys")
+    (version "0.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bzip2-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pz2mdhkk8yphiqdh2kghdxb60kqyd10lfrjym3r4k5dylvam135"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page
+     "https://github.com/alexcrichton/bzip2-rs")
+    (synopsis
+     "Bindings to libbzip2 for bzip2 compression and decompression exposed as
+Reader/Writer streams")
+    (description
+     "Bindings to libbzip2 for bzip2 compression and decompression exposed as
+Reader/Writer streams.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-c2-chacha-0.2
   (package
     (name "rust-c2-chacha")
-- 
2.25.0

From 5662dad6a46e8784eaa9c265b720946f62a18426 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:45:59 +0300
Subject: [PATCH 165/275] gnu: Add rust-deflate-0.7.

* gnu/packages/crates-io.scm (rust-deflate-0.7): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 05f069a45c..15a79502c5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2908,6 +2908,36 @@ intrinsics.")
 hexadecimal, base32, and base64.")
     (license license:expat)))
 
+(define-public rust-deflate-0.7
+  (package
+    (name "rust-deflate")
+    (version "0.7.20")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "deflate" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1d7d9fpmgjnznrksmd3vlv3dyw01wsrm11ifil6ag22871xnlyvh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-adler32" ,rust-adler32-1.0)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-gzip-header" ,rust-gzip-header-0.3))
+       #:cargo-development-inputs
+       (("rust-flate2" ,rust-flate2-1.0))))
+    (home-page
+     "https://github.com/image-rs/deflate-rs")
+    (synopsis
+     "A DEFLATE, zlib and gzip encoder written in rust")
+    (description
+     "This package provides a DEFLATE, zlib and gzip encoder written in rust.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-defmac-0.2
   (package
     (name "rust-defmac")
-- 
2.25.0

From e597bedc56f5633ae597f9dc865d20029c792736 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:42:46 +0300
Subject: [PATCH 162/275] gnu: rust-bumpalo-2.5: Inherit from rust-bumpalo-3.1.

* gnu/packages/crates-io.scm (rust-bumpalo-2.5):
Inherit from from rust-bumpalo-3.1.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8b0e34e5a3..9ad0aafb21 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1243,6 +1243,7 @@ BLAKE2bp hash functions.")
 
 (define-public rust-bumpalo-2.5
   (package
+    (inherit rust-bumpalo-3.1)
     (name "rust-bumpalo")
     (version "2.5.0")
     (source
@@ -1254,17 +1255,11 @@ BLAKE2bp hash functions.")
        (sha256
         (base32
          "018b5calz3895v04shk9bn7i73r4zf8yf7p1dqg92s3xya13vm1c"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.2)
-        ("rust-quickcheck" ,rust-quickcheck-0.8))))
-    (home-page "https://github.com/fitzgen/bumpalo")
-    (synopsis "Fast bump allocation arena for Rust")
-    (description
-     "This package provides a fast bump allocation arena for Rust.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-quickcheck" ,rust-quickcheck-0.8))))))
 
 (define-public rust-bstr-0.2
   (package
-- 
2.25.0

From 2d8cdd1a6dea84ff576204b74037f53a3216c578 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:28:23 +0300
Subject: [PATCH 160/275] gnu: Add rust-simd-0.2.

* gnu/packages/crates-io.scm (rust-simd-0.2): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4cfa558f99..f80ee6f8ef 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13195,6 +13195,38 @@ words, like Python's shlex.")
        (("rust-signal-hook" ,rust-signal-hook-0.1)
         ("rust-version-sync" ,rust-version-sync-0.8))))))
 
+(define-public rust-simd-0.2
+  (package
+    (name "rust-simd")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dgpmfzd4favsckd5m0p6bna1dcgw19hjigkqcgwfhc4d05hxczj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1))))
+    (home-page "https://github.com/hsivonen/simd")
+    (synopsis
+     "`simd` offers limited cross-platform access to SIMD instructions on
+CPUs")
+    (description
+     "`simd` offers limited cross-platform access to SIMD instructions on
+CPUs, as well as raw interfaces to platform-specific instructions.
+(To be obsoleted by the `std::simd` implementation RFC 2366.)
+")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-siphasher-0.2
   (package
     (name "rust-siphasher")
-- 
2.25.0

From 5d43b6c062ef762840f9a68f081f39c048b2aedc Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 03:42:19 +0300
Subject: [PATCH 161/275] gnu: Add rust-bumpalo-3.1.

* gnu/packages/crates-io.scm (rust-bumpalo-3.1): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f80ee6f8ef..8b0e34e5a3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1216,6 +1216,31 @@ BLAKE2bp hash functions.")
      "Padding and unpadding of messages divided into blocks.")
     (license (list license:asl1.1 license:expat))))
 
+(define-public rust-bumpalo-3.1
+  (package
+    (name "rust-bumpalo")
+    (version "3.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bumpalo" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1x1j6lgaidayfvg7yh9ysdpfjlaiqx60y4vvg1rmy2nw3n607f2z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.9))))
+    (home-page "https://github.com/fitzgen/bumpalo")
+    (synopsis "Fast bump allocation arena for Rust")
+    (description
+     "This package provides a fast bump allocation arena for Rust.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-bumpalo-2.5
   (package
     (name "rust-bumpalo")
-- 
2.25.0

From 376fb8fc9cb7df30a3225291ddeda1b7945b5b88 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:25:03 +0300
Subject: [PATCH 159/275] gnu: rust-signal-hook-registry-1.0: Inherit from
 rust-signal-hook-registry-1.2.

* gnu/packages/crates-io.scm (rust-signal-hook-registry-1.0):
Inherit from from rust-signal-hook-registry-1.2.
---
 gnu/packages/crates-io.scm | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 006e80f9ee..4cfa558f99 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13173,6 +13173,7 @@ words, like Python's shlex.")
 
 (define-public rust-signal-hook-registry-1.0
   (package
+    (inherit rust-signal-hook-registry-1.2)
     (name "rust-signal-hook-registry")
     (version "1.0.1")
     (source
@@ -13192,11 +13193,7 @@ words, like Python's shlex.")
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
        (("rust-signal-hook" ,rust-signal-hook-0.1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
-    (home-page "https://github.com/vorner/signal-hook")
-    (synopsis "Backend crate for signal-hook")
-    (description "Backend crate for signal-hook.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-version-sync" ,rust-version-sync-0.8))))))
 
 (define-public rust-siphasher-0.2
   (package
-- 
2.25.0

From 9009ac12bf2a821eb5c7e8299fea2be6cc57fdfd Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:21:34 +0300
Subject: [PATCH 157/275] gnu: Add rust-signal-hook-registry-1.2.

* gnu/packages/crates-io.scm (rust-signal-hook-registry-1.2):
New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2823e9ac60..d9b452a7c4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13143,6 +13143,34 @@ words, like Python's shlex.")
     (description "Unix signal handling.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-signal-hook-registry-1.2
+  (package
+    (name "rust-signal-hook-registry")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook-registry" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0haz828bif1lbp3alx17zkcy5hwy15bbpmvks72j8iznx7npix4l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arc-swap" ,rust-arc-swap-0.4)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-version-sync" ,rust-version-sync-0.8))))
+    (home-page
+     "https://github.com/vorner/signal-hook")
+    (synopsis "Backend crate for signal-hook")
+    (description "Backend crate for signal-hook")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-signal-hook-registry-1.0
   (package
     (name "rust-signal-hook-registry")
-- 
2.25.0

From 5bab863c4e9db3583cd136874fa8d3c2db258c53 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:22:10 +0300
Subject: [PATCH 158/275] gnu: rust-signal-hook-0.1: Update to 0.1.12.

* gnu/packages/crates-io.scm (rust-signal-hook-0.1):
Update to 0.1.12.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d9b452a7c4..006e80f9ee 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13115,7 +13115,7 @@ words, like Python's shlex.")
 (define-public rust-signal-hook-0.1
   (package
     (name "rust-signal-hook")
-    (version "0.1.9")
+    (version "0.1.12")
     (source
      (origin
        (method url-fetch)
@@ -13124,7 +13124,7 @@ words, like Python's shlex.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0nlw1gwi58ppds5klyy8vp2ickx3majvdp1pcdz8adm4zpqmiavj"))))
+         "0ljn31wg3j70q7l3cm5hs1zy41ysvv6jwiy9llin1lx27gfig73s"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -13133,7 +13133,7 @@ words, like Python's shlex.")
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mio" ,rust-mio-0.6)
         ("rust-mio-uds" ,rust-mio-uds-0.6)
-        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.0)
+        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.2)
         ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
        #:cargo-development-inputs
        (("rust-tokio" ,rust-tokio-0.1)
-- 
2.25.0

From 28395473293c7e402f3107d1dfdb5349adf6de19 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:17:50 +0300
Subject: [PATCH 154/275] gnu: Add rust-gl-generator-0.11.

* gnu/packages/crates-io.scm (rust-gl-generator-0.11): New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b84504cf8f..09a871c5de 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5383,6 +5383,21 @@ reading and writing git repositories.")
         (base32
          "0jpqjqpyrl73sf8y20p5rv50qz8glnsvv9infg8h4vi52zgbp66a"))))))
 
+(define-public rust-gl-generator-0.11
+ (package
+   (inherit rust-gl-generator-0.13)
+   (name "rust-gl-generator")
+   (version "0.11.0")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "gl-generator" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir"))))))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.25.0

From 1924142ed9f414ef44d8b7baf1fc6f7a076ff230 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:19:25 +0300
Subject: [PATCH 156/275] gnu: Add rust-cgl-0.2.

* gnu/packages/crates-io.scm (rust-cgl-0.2): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 27e50e3aa6..2823e9ac60 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1710,6 +1710,26 @@ depending on a large number of #[cfg] parameters.  Structured like an
     (description "Rust bindings for CGL on Mac")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-cgl-0.2
+  (package
+    (inherit rust-cgl-0.3)
+    (name "rust-cgl")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cgl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0j8ayr8pbwvyv6l8r7m5z197rs3pqn97085w9j4rfn7yfh5yrrsm"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-gleam" ,rust-gleam-0.6)
+        ("rust-libc" ,rust-libc-0.2))))))
+
 (define-public rust-ci-info-0.3
   (package
     (name "rust-ci-info")
-- 
2.25.0

From 4d5788dccd418ddbcf484936a9357032d21def71 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:18:50 +0300
Subject: [PATCH 155/275] gnu: Add rust-gleam-0.6.

* gnu/packages/crates-io.scm (rust-gleam-0.6): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 09a871c5de..27e50e3aa6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5398,6 +5398,31 @@ reading and writing git repositories.")
        (base32
         "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir"))))))
 
+(define-public rust-gleam-0.6
+  (package
+    (name "rust-gleam")
+    (version "0.6.19")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gleam" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1iazvk3kvw3620gm6x8hy2x1lz51k04acl78cr3ppryhk5y0vqfa"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-gl-generator" ,rust-gl-generator-0.13))))
+    (home-page "https://github.com/servo/gleam")
+    (synopsis
+     "Generated OpenGL bindings and wrapper for Servo.")
+    (description
+     "Generated OpenGL bindings and wrapper for Servo.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.25.0

From 01409a0e6f99330dec929f0c7a373e69f316e769 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:17:36 +0300
Subject: [PATCH 153/275] gnu: Add rust-gl-generator-0.13.

* gnu/packages/crates-io.scm (rust-gl-generator-0.13): New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1ca6e12d57..b84504cf8f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5368,6 +5368,21 @@ reading and writing git repositories.")
      "Code generators for creating bindings to the Khronos OpenGL APIs.")
     (license license:asl2.0)))
 
+(define-public rust-gl-generator-0.13
+  (package
+    (inherit rust-gl-generator-0.14)
+    (name "rust-gl-generator")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gl-generator" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jpqjqpyrl73sf8y20p5rv50qz8glnsvv9infg8h4vi52zgbp66a"))))))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.25.0

From 5d6ce10fb7f30ce6c8a00643a880238214d5ee8c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:17:06 +0300
Subject: [PATCH 152/275] gnu: Add rust-gl-generator-0.14.

* gnu/packages/crates-io.scm (rust-gl-generator-0.14): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d7cd062522..1ca6e12d57 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5340,6 +5340,34 @@ reading and writing git repositories.")
         ("rust-thread-id" ,rust-thread-id-3.3)
         ("rust-time" ,rust-time-0.1))))))
 
+(define-public rust-gl-generator-0.14
+  (package
+    (name "rust-gl-generator")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gl-generator" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0k8j1hmfnff312gy7x1aqjzcm8zxid7ij7dlb8prljib7b1dz58s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-khronos-api" ,rust-khronos-api-3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-xml-rs" ,rust-xml-rs-0.8))))
+    (home-page
+     "https://github.com/brendanzab/gl-rs/")
+    (synopsis
+     "Code generators for creating bindings to the Khronos OpenGL APIs")
+    (description
+     "Code generators for creating bindings to the Khronos OpenGL APIs.")
+    (license license:asl2.0)))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.25.0

From 88a057c5dee373fa36c95f48274ba60fc706196c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:12:19 +0300
Subject: [PATCH 150/275] gnu: Add rust-clang-sys-0.22.

* gnu/packages/crates-io.scm (rust-clang-sys-0.22): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5e6ef6d92e..1d3472e9c5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1758,6 +1758,32 @@ depending on a large number of #[cfg] parameters.  Structured like an
          (base32
           "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f"))))))
 
+(define-public rust-clang-sys-0.22
+  (package
+    (inherit rust-clang-sys-0.26)
+    (name "rust-clang-sys")
+    (version "0.22.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clang-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0f65dw1ydnzq4wrv894fql78n4ikb53jjp53xck0s4hb64s1m6lk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-glob" ,rust-glob-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-libloading" ,rust-libloading-0.5))
+       #:cargo-development-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-glob" ,rust-glob-0.2))))))
+
 (define-public rust-clap-2
   (package
     (name "rust-clap")
-- 
2.25.0

From 46a9f99b7372e8a52e8e2bea1e1c7344783009ee Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:15:57 +0300
Subject: [PATCH 151/275] gnu: Add rust-cgl-0.3.

* gnu/packages/crates-io.scm (rust-cgl-0.3): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1d3472e9c5..d7cd062522 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1688,6 +1688,28 @@ depending on a large number of #[cfg] parameters.  Structured like an
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-cgl-0.3
+  (package
+    (name "rust-cgl")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cgl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zs7skrsyrsm759vfy2cygkx52fx91b567a12bpaz1sf4d8hbv8c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/servo/cgl-rs")
+    (synopsis "Rust bindings for CGL on Mac")
+    (description "Rust bindings for CGL on Mac")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ci-info-0.3
   (package
     (name "rust-ci-info")
-- 
2.25.0

From 5ea506b13949116fd177cd0412ec6df968e79bdf Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:10:21 +0300
Subject: [PATCH 149/275] gnu: Add rust-calloop-0.4.

* gnu/packages/crates-io.scm (rust-calloop-0.4): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3cae13a678..5e6ef6d92e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1446,6 +1446,34 @@ little-endian.")
      "The ChaCha family of stream ciphers.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-calloop-0.4
+  (package
+    (name "rust-calloop")
+    (version "0.4.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "calloop" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0q6ic9lr0s86886mbyn4yncg68b2sykgwjf3iygdw01swmxhk8ks"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-extras" ,rust-mio-extras-2)
+        ("rust-nix" ,rust-nix-0.14))
+       #:cargo-development-inputs
+       (("rust-lazycell" ,rust-lazycell-1.2))))
+    (home-page "https://github.com/Smithay/calloop")
+    (synopsis "A callback-based event loop")
+    (description
+     "This package provides a callback-based event loop")
+    (license license:expat)))
+
 (define-public rust-caps-0.3
   (package
     (name "rust-caps")
-- 
2.25.0

From 29ebb876c1cf03d1f83c253efe5c9c83084f2fa8 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:05:22 +0300
Subject: [PATCH 148/275] gnu: Add rust-thread-local-0.2.

* gnu/packages/crates-io.scm (rust-thread-local-0.2): New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index da33de645e..3cae13a678 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14585,6 +14585,25 @@ different for every thread.")
      `(#:skip-build? #t
        #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1.4))))))
 
+(define-public rust-thread-local-0.2
+  (package
+    (inherit rust-thread-local-0.3)
+    (name "rust-thread-local")
+    (version "0.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thread_local" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-thread-id" ,rust-thread-id-2.0))))))
+
 (define-public rust-threadpool-1.7
   (package
     (name "rust-threadpool")
-- 
2.25.0

From 759f7fe1dc5aa444dd9a4d80106ade1a6d8f143a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:04:02 +0300
Subject: [PATCH 147/275] gnu: Add rust-thread-id-2.0.

* gnu/packages/crates-io.scm (rust-thread-id-2.0): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2dd40dfb6f..da33de645e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14526,6 +14526,26 @@ different for every thread.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-thread-id-2.0
+  (package
+    (inherit rust-thread-id-3.3)
+    (name "rust-thread-id")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thread-id" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2))))))
+
 (define-public rust-thread-local-1.0
   (package
     (name "rust-thread-local")
-- 
2.25.0

From 6b1b83ea10b832968d7e1c5ada1b237f31e0e4ab Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 01:02:37 +0300
Subject: [PATCH 146/275] gnu: Add rust-terminfo-0.6.

* gnu/packages/crates-io.scm (rust-terminfo-0.6): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a74b91935e..2dd40dfb6f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14298,6 +14298,35 @@ writing colored text to a terminal.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-terminfo-0.6
+  (package
+    (name "rust-terminfo")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "terminfo" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17k8vqvicd6yg0iqmkjnxjhz8h8pknv86r03nq3f3ayjmxdhclcf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-nom" ,rust-nom-4.2)
+        ("rust-phf" ,rust-phf-0.7)
+        ("rust-phf-codegen" ,rust-phf-codegen-0.7))
+       #:cargo-development-inputs
+       (("rust-phf-codegen" ,rust-phf-codegen-0.7))))
+    (home-page
+     "https://github.com/meh/rust-terminfo")
+    (synopsis "Terminal information")
+    (description "Terminal information.")
+    (license license:wtfpl2)))
+
 (define-public rust-termion-1.5
   (package
     (name "rust-termion")
-- 
2.25.0

From a1bcd373f448adbfd43e752cc324c905ea69be03 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 00:43:50 +0300
Subject: [PATCH 145/275] gnu: Add rust-term-0.6.

* gnu/packages/crates-io.scm (rust-term-0.6): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 38230cca4a..a74b91935e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14154,6 +14154,31 @@ directories.")
      "Compact buffer/string type for zero-copy parsing.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-term-0.6
+ (package
+   (name "rust-term")
+   (version "0.6.1")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "term" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1ddqxq9hrk8zqq1f8pqhz72vrlfc8vh2xcza2gb623z78lrkm1n0"))))
+   (build-system cargo-build-system)
+   (arguments
+    `(#:skip-build? #t
+      #:cargo-inputs
+      (("rust-dirs" ,rust-dirs-2.0)
+       ("rust-winapi" ,rust-winapi-0.3))))
+   (home-page "https://github.com/Stebalien/term")
+   (synopsis "A terminal formatting library")
+   (description
+    "This package provides a terminal formatting library.")
+   (license (list license:expat license:asl2.0))))
+
 (define-public rust-term-0.5
   (package
     (name "rust-term")
-- 
2.25.0

From 6b0d6a07b03f7a81e18139e51ae4497873d05fd4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 00:15:15 +0300
Subject: [PATCH 143/275] gnu: Add rust-arc-swap-0.4.

* gnu/packages/crates-io.scm (rust-arc-swap-0.4): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f5e7b05aae..98718abe22 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -322,6 +322,35 @@ text or blue underlined text, on ANSI terminals.")
          "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8"))))
     (arguments '(#:skip-build? #t))))
 
+(define-public rust-arc-swap-0.4
+  (package
+    (name "rust-arc-swap")
+    (version "0.4.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "arc-swap" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zwswfi9n7n3hiq51w1xv34572k2diazx680rrxlc9w07c9akf6p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-model" ,rust-model-0.1)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-once-cell" ,rust-once-cell-1.2)
+        ("rust-proptest" ,rust-proptest-0.8)
+        ("rust-version-sync" ,rust-version-sync-0.8))))
+    (home-page "https://github.com/vorner/arc-swap")
+    (synopsis "Atomically swappable Arc")
+    (description "Atomically swappable Arc")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-arc-swap-0.3
   (package
     (name "rust-arc-swap")
-- 
2.25.0

From 04882fcc9da1a12cf90f959017946fa397a2036c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 00:16:02 +0300
Subject: [PATCH 144/275] gnu: rust-arc-swap-0.3: Inherit from
 rust-arc-swap-0.4.

* gnu/packages/crates-io.scm (rust-arc-swap-0.3):
Inherit from rust-arc-swap-0.4.
---
 gnu/packages/crates-io.scm | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 98718abe22..38230cca4a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -353,6 +353,7 @@ text or blue underlined text, on ANSI terminals.")
 
 (define-public rust-arc-swap-0.3
   (package
+    (inherit rust-arc-swap-0.4)
     (name "rust-arc-swap")
     (version "0.3.11")
     (source
@@ -364,7 +365,6 @@ text or blue underlined text, on ANSI terminals.")
        (sha256
         (base32
          "0ha8724dpki985v52ifq5sd98xvpa5q51hyma52di75dbqbn4imw"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-development-inputs
@@ -376,11 +376,7 @@ text or blue underlined text, on ANSI terminals.")
         ("rust-num-cpus" ,rust-num-cpus-1.10)
         ("rust-parking-lot" ,rust-parking-lot-0.8)
         ("rust-proptest" ,rust-proptest-0.9)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
-    (home-page "https://github.com/vorner/arc-swap")
-    (synopsis "Atomically swappable Arc")
-    (description "This package provides an atomically swappable Arc.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-version-sync" ,rust-version-sync-0.8))))))
 
 (define-public rust-argon2rs-0.2
   (package
-- 
2.25.0

From 2446072ef7370ec897ffcf8a95c667ec716bf01a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Mon, 20 Jan 2020 00:14:36 +0300
Subject: [PATCH 142/275] gnu: Add rust-proptest-0.8.

* gnu/packages/crates-io.scm (rust-proptest-0.8): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1b01deba02..f5e7b05aae 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10230,6 +10230,37 @@ in terms of the upstream unstable API.")
      "Hypothesis-like property-based testing and shrinking.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-proptest-0.8
+  (package
+    (inherit rust-proptest-0.9)
+    (name "rust-proptest")
+    (version "0.8.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "proptest" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07qrxwsd72wr1cqs0b5b159lnagjffp0l4s4zriz8jak8w20cvcj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bit-set" ,rust-bit-set-0.5)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-byteorder" ,rust-byteorder-1.2)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
+        ("rust-tempfile" ,rust-tempfile-3.0))
+       #:cargo-development-inputs
+       (("rust-regex" ,rust-regex-1.1))))))
+
 (define-public rust-pulldown-cmark-0.4
   (package
     (name "rust-pulldown-cmark")
-- 
2.25.0

From 415edb1e576dc547687156e8d0146a6e21f460f1 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:29:23 +0300
Subject: [PATCH 141/275] gnu: Add rust-blake2-0.8.

* gnu/packages/crates-io.scm (rust-blake2-0.8): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 57381d6b36..1b01deba02 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -977,6 +977,37 @@ behave like a set of bitflags.")
         (base32
          "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))))
 
+(define-public rust-blake2-0.8
+  (package
+    (name "rust-blake2")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "blake2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0c4k11j04kqhkci6i9b7lz6p13kpcv228pdqixgrawvavaq0gjwl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byte-tools" ,rust-byte-tools-0.3)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.7)
+        ("rust-digest" ,rust-digest-0.8)
+        ("rust-opaque-debug" ,rust-opaque-debug-0.2))
+       #:cargo-development-inputs
+       (("rust-crypto-mac" ,rust-crypto-mac-0.7)
+        ("rust-digest" ,rust-digest-0.8)
+        ("rust-hex-literal" ,rust-hex-literal-0.1))))
+    (home-page
+     "https://github.com/RustCrypto/hashes")
+    (synopsis "BLAKE2 hash functions")
+    (description "BLAKE2 hash functions")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-blake2-rfc-0.2
   (package
     (name "rust-blake2-rfc")
-- 
2.25.0

From 6285c2c4ccd17b3229151f28230ead98e444bdf4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:28:54 +0300
Subject: [PATCH 140/275] gnu: Add rust-hex-literal-0.1.

* gnu/packages/crates-io.scm (rust-hex-literal-0.1): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c9fc651a8a..57381d6b36 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5797,6 +5797,26 @@ hexadecimal representation.")
 compile time.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-hex-literal-0.1
+  (package
+    (inherit rust-hex-literal-0.2)
+    (name "rust-hex-literal")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hex-literal" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ffnn5g9q5xhdmzj2ic5hk9y18kyqflbmqcssqcya9gixs5r5hnx"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.1)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))
+
 (define-public rust-hex-literal-impl-0.2
   (package
     (name "rust-hex-literal-impl")
-- 
2.25.0

From 9aff208e37af5275272ec522314234b45b1ed942 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:28:17 +0300
Subject: [PATCH 139/275] gnu: Add rust-hex-literal-impl-0.1.

* gnu/packages/crates-io.scm (rust-hex-literal-impl-0.1):
New variable.
---
 gnu/packages/crates-io.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 784d307f8b..c9fc651a8a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5821,6 +5821,25 @@ compile time.")
      "Internal implementation of the hex-literal crate.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-hex-literal-impl-0.1
+  (package
+    (inherit rust-hex-literal-impl-0.2)
+    (name "rust-hex-literal-impl")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hex-literal-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nnxqhyn9l998ma04ip79bmpqv1as6003s03g26ynhrr471p022j"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))
+
 (define-public rust-html5ever-0.23
   (package
     (name "rust-html5ever")
-- 
2.25.0

From b2fb2b9b8cc8a98a89322323f7cd3f498666dbb7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:27:50 +0300
Subject: [PATCH 138/275] gnu: Add rust-proc-macro-hack-0.4.

* gnu/packages/crates-io.scm (rust-proc-macro-hack-0.4): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a660b08bb8..784d307f8b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10008,6 +10008,28 @@ dependency to expose a precomputed hash.")
      "Procedural macros in expression position.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-proc-macro-hack-0.4
+  (package
+    (inherit rust-proc-macro-hack-0.5)
+    (name "rust-proc-macro-hack")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "proc-macro-hack" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fxn3qfhw76c518dfal2qqjwj5dbf0a1f7z0r5c4wd0igygg4fs6"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-hack-impl" ,rust-proc-macro-hack-impl-0.4))
+       #:cargo-development-inputs
+       (("rust-demo-hack" ,rust-demo-hack-0.0)
+        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0))))))
+
 (define-public rust-proc-macro-hack-impl-0.4
   (package
     (name "rust-proc-macro-hack-impl")
-- 
2.25.0

From 576d7d07d8fbf549b03eaa204a1298ebf9b4a0f5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:26:27 +0300
Subject: [PATCH 137/275] gnu: Add rust-crypto-mac-0.7.

* gnu/packages/crates-io.scm (rust-crypto-mac-0.7): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b7c6794c52..a660b08bb8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2565,6 +2565,34 @@ intrinsics.")
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.4))))))
 
+(define-public rust-crypto-mac-0.7
+  (package
+    (name "rust-crypto-mac")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crypto-mac" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rbrq6qy9dl0pj4ym2zy33miaaa8vpzdss60p9bdb58xy46l0d24"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-blobby" ,rust-blobby-0.1)
+        ("rust-generic-array" ,rust-generic-array-0.12)
+        ("rust-subtle" ,rust-subtle-1.0))))
+    (home-page
+     "https://github.com/RustCrypto/traits")
+    (synopsis
+     "Trait for Message Authentication Code (MAC) algorithms")
+    (description
+     "Trait for Message Authentication Code (MAC) algorithms")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-csv-1.1
   (package
     (name "rust-csv")
-- 
2.25.0

From f14de93cce09264fa397cb5ff5f7e50804ecacb2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:24:26 +0300
Subject: [PATCH 136/275] gnu: rust-parking-lot-0.9: Inherit from
 rust-parking-lot-0.10.

* gnu/packages/crates-io.scm (rust-parking-lot-0.9):
Inherit from rust-parking-lot-0.10.
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 546b0be9b0..b7c6794c52 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9108,6 +9108,7 @@ synchronization primitives.")
 
 (define-public rust-parking-lot-0.9
   (package
+    (inherit rust-parking-lot-0.10)
     (name "rust-parking-lot")
     (version "0.9.0")
     (source
@@ -9119,7 +9120,6 @@ synchronization primitives.")
        (sha256
         (base32
          "0lk2vq3hp88ygpgsrypdr3ss71fidnqbykva0csgxhmn5scb2hpq"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -9129,13 +9129,7 @@ synchronization primitives.")
        (("rust-bincode" ,rust-bincode-1.1)
         ("rust-lazy-static" ,rust-lazy-static-1.3)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-rustc-version" ,rust-rustc-version-0.2))))
-    (home-page "https://github.com/Amanieu/parking_lot")
-    (synopsis "Compact standard synchronization primitives")
-    (description
-     "More compact and efficient implementations of the standard
-synchronization primitives.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))))
 
 (define-public rust-parking-lot-0.8
   (package
-- 
2.25.0

From f736c29b2d037c88ea785d2866f697044c2b3d30 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:23:58 +0300
Subject: [PATCH 135/275] gnu: Add rust-parking-lot-0.10.

* gnu/packages/crates-io.scm (rust-parking-lot-0.10): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 116f477d18..546b0be9b0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9076,6 +9076,36 @@ normally prevent moving a type that has been borrowed from.")
     (description "Portable Packed SIMD vectors.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-parking-lot-0.10
+  (package
+    (name "rust-parking-lot")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1z0wgf2sd1266y768kxxs3313zjfzj9r3k7j4arfaz0bmd4qrscj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lock-api" ,rust-lock-api-0.3)
+        ("rust-parking-lot-core" ,rust-parking-lot-core-0.7))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-rand" ,rust-rand-0.7))))
+    (home-page "https://github.com/Amanieu/parking_lot")
+    (synopsis "Compact standard synchronization primitives")
+    (description
+     "More compact and efficient implementations of the standard
+synchronization primitives.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-parking-lot-0.9
   (package
     (name "rust-parking-lot")
-- 
2.25.0

From 22edb2ac343f3f7ec1b24bf054913f72039e9039 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:20:28 +0300
Subject: [PATCH 134/275] gnu: rust-parking-lot-core-0.6: Inherit from
 rust-parking-lot-core-0.7.

* gnu/packages/crates-io.scm (rust-parking-lot-core-0.6):
Inherit from rust-parking-lot-core-0.7.
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 53ce02029a..116f477d18 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9193,6 +9193,7 @@ synchronization primitives.")
 
 (define-public rust-parking-lot-core-0.6
   (package
+    (inherit rust-parking-lot-core-0.7)
     (name "rust-parking-lot-core")
     (version "0.6.2")
     (source
@@ -9204,7 +9205,6 @@ synchronization primitives.")
        (sha256
         (base32
          "0ay67dpnrn68ryyvp720m9i8hzp189fd4d6slrs1lvmcwywv2xmq"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -9219,13 +9219,7 @@ synchronization primitives.")
         ("rust-thread-id" ,rust-thread-id-3.3)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
-       (("rust-rustc-version" ,rust-rustc-version-0.2))))
-    (home-page "https://github.com/Amanieu/parking_lot")
-    (synopsis
-     "Advanced API for creating custom synchronization primitives")
-    (description
-     "An advanced API for creating custom synchronization primitives.")
-    (license (list license:asl2.0 license:expat))))
+       (("rust-rustc-version" ,rust-rustc-version-0.2))))))
 
 (define-public rust-parking-lot-core-0.5
   (package
-- 
2.25.0

From f94bd3df8c6337e9c3a5c78ea0ce3c170094916f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:19:28 +0300
Subject: [PATCH 133/275] gnu: Add rust-parking-lot-core-0.7.

* gnu/packages/crates-io.scm (rust-parking-lot-core-0.7): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4ca65d1191..53ce02029a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9157,6 +9157,40 @@ synchronization primitives.")
         ("rust-rand" ,rust-rand-0.4)
         ("rust-rustc-version" ,rust-rustc-version-0.2))))))
 
+(define-public rust-parking-lot-core-0.7
+  (package
+    (name "rust-parking-lot-core")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot_core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wdbrvh35nn09ga570vl5062dpwfbrwgzyrlhhy78ifzhj2870km"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-cloudabi" ,rust-cloudabi-0.0)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-petgraph" ,rust-petgraph-0.4)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-smallvec" ,rust-smallvec-1.0)
+        ("rust-thread-id" ,rust-thread-id-3.3)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/Amanieu/parking_lot")
+    (synopsis
+     "An advanced API for creating custom synchronization primitives")
+    (description
+     "An advanced API for creating custom synchronization primitives.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-parking-lot-core-0.6
   (package
     (name "rust-parking-lot-core")
-- 
2.25.0

From 74b548cfb43108cf245627598e6677b695f1f25e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:18:01 +0300
Subject: [PATCH 132/275] gnu: rust-smallvec-0.6: Inherit from
 rust-smallvec-1.0.

* gnu/packages/crates-io.scm (rust-smallvec-0.6):
Inherit from rust-smallvec-1.0.
---
 gnu/packages/crates-io.scm | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7c6b11af50..4ca65d1191 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12889,6 +12889,7 @@ stack.")
 
 (define-public rust-smallvec-0.6
   (package
+    (inherit rust-smallvec-1.0)
     (name "rust-smallvec")
     (version "0.6.10")
     (source
@@ -12899,20 +12900,7 @@ stack.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1dyl43rgzny79jjpgzi07y0ly2ggx1xwsn64csxj0j91bsf6lq5b"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://github.com/servo/rust-smallvec")
-    (synopsis "Small vector optimization")
-    (description
-     "'Small vector' optimization: store up to a small number of items on the
-stack.")
-    (license (list license:expat license:asl2.0))))
+         "1dyl43rgzny79jjpgzi07y0ly2ggx1xwsn64csxj0j91bsf6lq5b"))))))
 
 (define-public rust-socket2-0.3
   (package
-- 
2.25.0

From 6f60c3e2d7c87a6c1ca9115a3d99c3de51f4934b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:15:31 +0300
Subject: [PATCH 131/275] gnu: Add rust-smallvec-1.0.

* gnu/packages/crates-io.scm (rust-smallvec-1.0): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ef25e4ee90..7c6b11af50 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12860,6 +12860,33 @@ data type.")
                    license:expat
                    license:asl2.0))))
 
+(define-public rust-smallvec-1.0
+  (package
+    (name "rust-smallvec")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smallvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1x78v1z931bxvkp0d7b9fmg4a17yqkiydr765a8if250kw69xra4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://github.com/servo/rust-smallvec")
+    (synopsis "Small vector optimization")
+    (description
+     "'Small vector' optimization: store up to a small number of items on the
+stack.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-smallvec-0.6
   (package
     (name "rust-smallvec")
-- 
2.25.0

From dc1ca158b1b892b2d998d35184cb2d0aae116d6a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:06:36 +0300
Subject: [PATCH 130/275] gnu: Add rust-ordered-float-1.0.

* gnu/packages/crates-io.scm (rust-ordered-float-1.0): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 820b01247e..ef25e4ee90 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8911,6 +8911,35 @@ system for OpenSSL.")
      "This package provides FFI bindings to OpenSSL for use in rust crates.")
     (license license:expat)))
 
+(define-public rust-ordered-float-1.0
+  (package
+    (name "rust-ordered-float")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ordered-float" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0625x96987kspdxbikry5mb7hsf5pdc5bbanxd8wjwqlx0ar71hq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page
+     "https://github.com/reem/rust-ordered-float")
+    (synopsis
+     "Wrappers for total ordering on floats")
+    (description
+     "Wrappers for total ordering on floats")
+    (license license:expat)))
+
 (define-public rust-ordermap-0.3
   (package
     (name "rust-ordermap")
-- 
2.25.0

From d75783a6557f21ac811952d5a590c76cc6a3f218 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:05:32 +0300
Subject: [PATCH 129/275] gnu: Add rust-num-derive-0.2.

* gnu/packages/crates-io.scm (rust-num-derive-0.2): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 36be26aeb1..820b01247e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8390,6 +8390,35 @@ including bigint,complex, rational, range iterators, generic integers, and more!
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-num-derive-0.2
+  (package
+    (name "rust-num-derive")
+    (version "0.2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wnv7776fh4i40r3zfxcxcmm0dh029skx7gp4sjknz2kqm2hpzga"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15))
+       #:cargo-development-inputs
+       (("rust-num" ,rust-num-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page
+     "https://github.com/rust-num/num-derive")
+    (synopsis "Numeric syntax extensions")
+    (description "Numeric syntax extensions")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-num-integer-0.1
   (package
     (name "rust-num-integer")
-- 
2.25.0

From 19af57b0037b1609f4024082f9b1f44e203d8602 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:01:51 +0300
Subject: [PATCH 128/275] gnu: Add rust-num-0.2.

* gnu/packages/crates-io.scm (rust-num-0.2): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fa5ce2fedc..36be26aeb1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8268,6 +8268,38 @@ combinators library.")
      "Cross-platform filesystem notification library.")
     (license license:cc0)))
 
+(define-public rust-num-0.2
+  (package
+    (name "rust-num")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nq8krgrz3nah4c2wqp3ap06xwjk9lpyk31ag2rhc50ygr0jaj6g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-bigint" ,rust-num-bigint-0.2)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-num-integer" ,rust-num-integer-0.1)
+        ("rust-num-iter" ,rust-num-iter-0.1)
+        ("rust-num-rational" ,rust-num-rational-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/rust-num/num")
+    (synopsis
+     "A collection of numeric types and traits for Rust, including bigint,
+complex, rational, range iterators, generic integers, and more!")
+    (description
+     "This package provides a collection of numeric types and traits for Rust,
+including bigint,complex, rational, range iterators, generic integers, and more!")
+    (license (list license:expat license:asl2.0))))
+
 (define rust-num-bigint-0.2
   (package
     (name "rust-num-bigint")
-- 
2.25.0

From 865bb3d70bd255d4b1fbf3087f866f8268ed3a39 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 22:00:23 +0300
Subject: [PATCH 127/275] gnu: Add rust-num-rational-0.2.

* gnu/packages/crates-io.scm (rust-num-rational-0.2): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8596726106..fa5ce2fedc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8401,6 +8401,37 @@ combinators library.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-num-rational-0.2
+  (package
+    (name "rust-num-rational")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-rational" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0m5l76rdzzq98cfhnbjsxfngz6w75pal5mnfflpxqapysmw5527j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-bigint" ,rust-num-bigint-0.2)
+        ("rust-num-integer" ,rust-num-integer-0.1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-autocfg" ,rust-autocfg-0.1))))
+    (home-page
+     "https://github.com/rust-num/num-rational")
+    (synopsis
+     "Rational numbers implementation for Rust")
+    (description
+     "Rational numbers implementation for Rust")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-num-traits-0.2
   (package
     (name "rust-num-traits")
-- 
2.25.0

From 894536d8a06e0833e97e6ba4d4948aaacd6113b6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 21:58:37 +0300
Subject: [PATCH 126/275] gnu: rust-num-traits-0.2: Update to 0.2.10.

* gnu/packages/crates-io.scm (rust-num-traits-0.2): Update to 0.2.10.
[arguments] Explicitly specify dependencies.
[properties] Remove hidden? property
---
 gnu/packages/crates-io.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c3f0da88a6..8596726106 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8404,7 +8404,7 @@ combinators library.")
 (define-public rust-num-traits-0.2
   (package
     (name "rust-num-traits")
-    (version "0.2.8")
+    (version "0.2.10")
     (source
      (origin
        (method url-fetch)
@@ -8413,12 +8413,16 @@ combinators library.")
         (string-append name "-" version ".crate"))
        (sha256
         (base32
-         "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
+         "1r079jbmrnrbvsz7dc5mcghijx7bhpfikjspfqrgl4n227y1zj6l"))))
     (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libm" ,rust-libm-0.2)
+        ("rust-autocfg" ,rust-autocfg-0.1))))
     (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))))
-- 
2.25.0

From 143a9cc37fb84fd0bf3e6e9db037c7a559edd4d5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 20:02:39 +0300
Subject: [PATCH 125/275] gnu: Add rust-stb-truetype-0.3.

* gnu/packages/crates-io.scm (rust-stb-truetype-0.3): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 08bd34f6e3..c3f0da88a6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12990,6 +12990,37 @@ are met.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-stb-truetype-0.3
+  (package
+    (name "rust-stb-truetype")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stb_truetype" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lgvnh3ma6cz811bk8imj45djz76zs47b8327sgnmik2x03nnyzp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-libm" ,rust-libm-0.2))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3))))
+    (home-page
+     "https://gitlab.redox-os.org/redox-os/stb_truetype-rs")
+    (synopsis
+     "A straight translation of the font loading code in stb_truetype.h
+from C to Rust")
+    (description
+     "This package provides a straight translation of the font loading code
+in stb_truetype.h from C to Rust.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-stdweb-0.4
   (package
     (name "rust-stdweb")
-- 
2.25.0

From 7f01c09311430c54f512d3c5e53d3b77efc7ed2d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 20:01:48 +0300
Subject: [PATCH 124/275] gnu: Add rust-libm-0.2.

* gnu/packages/crates-io.scm (rust-libm-0.2): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2e0d283924..08bd34f6e3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6854,6 +6854,30 @@ allows loading dynamic libraries (also known as shared libraries) as well as use
 functions and static variables these libraries contain.")
     (license license:isc)))
 
+(define-public rust-libm-0.2
+  (package
+    (name "rust-libm")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libm" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0akh56sh51adhagmk9l84dyrlz60gv8ri05xhr13i1b18czkpmy7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-no-panic" ,rust-no-panic-0.1)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://github.com/rust-lang/libm")
+    (synopsis "libm in pure Rust")
+    (description "libm in pure Rust")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-libssh2-sys-0.2
   (package
     (name "rust-libssh2-sys")
-- 
2.25.0

From 9c75b49510eaff2cbcea486a721d4658f4de3ccb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 19:59:49 +0300
Subject: [PATCH 123/275] gnu: Add rust-num-bigint-0.2.

* gnu/packages/crates-io.scm (rust-num-bigint-0.2): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aa6fc42e95..2e0d283924 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8244,6 +8244,40 @@ combinators library.")
      "Cross-platform filesystem notification library.")
     (license license:cc0)))
 
+(define rust-num-bigint-0.2
+  (package
+    (name "rust-num-bigint")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-bigint" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11y8v74cgqymzvkgvm4n1s2i37pwgjdfhcdf5bkmjnllbkqksfrl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-integer" ,rust-num-integer-0.1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-quickcheck-macros"
+         ,rust-quickcheck-macros-0.8)
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-autocfg" ,rust-autocfg-0.1)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page
+     "https://github.com/rust-num/num-bigint")
+    (synopsis "Big integer implementation for Rust")
+    (description
+     "Big integer implementation for Rust")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-num-complex-0.2
   (package
     (name "rust-num-complex")
-- 
2.25.0

From f656bc302388278a5c293069110232503f4f8a36 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 19:58:57 +0300
Subject: [PATCH 122/275] gnu: Add rust-quickcheck-macros-0.8.

* gnu/packages/crates-io.scm (rust-quickcheck-macros-0.8):
New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f4ee8c098a..aa6fc42e95 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10127,6 +10127,35 @@ to write.")
         ("rust-log" ,rust-log-0.3)
         ("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-quickcheck-macros-0.8
+  (package
+    (name "rust-quickcheck-macros")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck_macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0b3mhn0xcrdd3fkbkx3rghhivwzwil8w991ngp6gaj70l72c3pyp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page
+     "https://github.com/BurntSushi/quickcheck")
+    (synopsis "A macro attribute for quickcheck.")
+    (description
+     "This package provides a macro attribute for quickcheck.")
+    (license (list license:unlicense license:expat))))
+
 (define-public rust-quote-1.0
   (package
     (name "rust-quote")
-- 
2.25.0

From e3ed509c13caf159754b82da1ca92357aa0657f9 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 19:51:46 +0300
Subject: [PATCH 120/275] gnu: rust-walkdir-2.2: Explicitly specify
 dependencies.

* gnu/packages/crates-io.scm (rust-walkdir-2.2):
Explicitly specify dependencies.
[arguments] Explicitly specify dependencies.
[properties] Remove hidden? property
---
 gnu/packages/crates-io.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c90ff14d6b..6f60c5ce57 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15683,10 +15683,17 @@ specified across Unix and Windows platforms.")
          (base32
           "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
     (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-same-file" ,rust-same-file-1.0)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winapi-util" ,rust-winapi-util-0.1))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3))))
     (home-page  "https://github.com/BurntSushi/walkdir")
     (synopsis "Recursively walk a directory")
     (description "Recursively walk a directory.")
-    (properties '((hidden? . #t)))
     (license (list license:unlicense
                    license:expat))))
 
-- 
2.25.0

From 5e16fd442bf5d01bdbc0bde3aa39166b63b38307 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 19:54:21 +0300
Subject: [PATCH 121/275] gnu: Add rust-notify-4.

* gnu/packages/crates-io.scm (rust-notify-4): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6f60c5ce57..f4ee8c098a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8207,6 +8207,43 @@ combinators library.")
         ("rust-memchr" ,rust-memchr-1.0)
         ("rust-regex" ,rust-regex-0.2))))))
 
+(define-public rust-notify-4
+  (package
+    (name "rust-notify")
+    (version "4.0.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "notify" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12vpbg8j49196rxkm01hw2xfr0mk005ljmx0p9kwf6xj6gy2i5hr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-filetime" ,rust-filetime-0.2)
+        ("rust-fsevent" ,rust-fsevent-0.4)
+        ("rust-fsevent-sys" ,rust-fsevent-sys-2)
+        ("rust-inotify" ,rust-inotify-0.6)
+        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-extras" ,rust-mio-extras-2)
+        ("rust-walkdir" ,rust-walkdir-2.2)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/passcod/notify")
+    (synopsis
+     "Cross-platform filesystem notification library")
+    (description
+     "Cross-platform filesystem notification library.")
+    (license license:cc0)))
+
 (define-public rust-num-complex-0.2
   (package
     (name "rust-num-complex")
-- 
2.25.0

From 1e6c4a6507113ffaee2403d1441bf966c36dbc11 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 19:50:41 +0300
Subject: [PATCH 119/275] gnu: Add rust-inotify-0.6.

* gnu/packages/crates-io.scm (rust-inotify-0.6): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 33909dcce8..c90ff14d6b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6108,6 +6108,37 @@ renamed to indexmap.")
     (description "DEFLATE decoding")
     (license license:expat)))
 
+(define-public rust-inotify-0.6
+  (package
+    (name "rust-inotify")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "inotify" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0627k5aq44knjlrc09hl017nxap3svpl79przf26y3ciycwlbda0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-inotify-sys" ,rust-inotify-sys-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://github.com/inotify-rs/inotify")
+    (synopsis "Idiomatic wrapper for inotify")
+    (description "Idiomatic wrapper for inotify")
+    (license license:isc)))
+
 (define-public rust-inotify-sys-0.1
   (package
     (name "rust-inotify-sys")
-- 
2.25.0

From ade1a4fd7eae5b33ef15f7b47b3805c4fd8ad317 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:16:40 +0300
Subject: [PATCH 118/275] gnu: Add rust-embed-resource-1.3.

* gnu/packages/crates-io.scm (rust-embed-resource-1.3): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f1b95350ae..33909dcce8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3200,6 +3200,35 @@ floating-point primitives to an @code{io::Write}.")
 @code{Right} is a general purpose sum type with two cases.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-embed-resource-1.3
+  (package
+    (name "rust-embed-resource")
+    (version "1.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "embed-resource" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v1adsw9mq7gjjjhx4hcjhqppdf4vm0gbcgh7sxirbxh99la9axv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-vswhom" ,rust-vswhom-0.1)
+        ("rust-winreg" ,rust-winreg-0.6))))
+    (home-page
+     "https://github.com/nabijaczleweli/rust-embed-resource")
+    (synopsis
+     "A Cargo library to handle compilation and inclusion of Windows resources
+in the most resilient fashion imaginable")
+    (description
+     "This package provides a Cargo library to handle compilation and
+inclusion of Windows resources in the most resilient fashion imaginable.")
+    (license license:expat)))
+
 (define-public rust-encode-unicode-0.3
   (package
     (name "rust-encode-unicode")
-- 
2.25.0

From 052f4b60fd6fa2e0c5bcee12aff0315528977acb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:15:24 +0300
Subject: [PATCH 117/275] gnu: Add rust-vswhom-0.1.

* gnu/packages/crates-io.scm (rust-vswhom-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ad86a36821..f1b95350ae 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15506,6 +15506,33 @@ updated when the crate version changes.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-vswhom-0.1
+  (package
+    (name "rust-vswhom")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "vswhom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12v0fjjzxdc3y5c0lcwycfhphz7zf2s06hl5krwhawah0xzrp5xy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-vswhom-sys" ,rust-vswhom-sys-0.1))))
+    (home-page
+     "https://github.com/nabijaczleweli/vswhom.rs")
+    (synopsis
+     "FFI to Jon Blow's VS discovery script")
+    (description
+     "FFI to Jon Blow's VS discovery script")
+    (license license:expat)))
+
 (define-public rust-vswhom-sys-0.1
   (package
     (name "rust-vswhom-sys")
-- 
2.25.0

From 0573a40173f9be20a790887a891b96f6b2345009 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:15:06 +0300
Subject: [PATCH 116/275] gnu: Add rust-vswhom-sys-0.1.

* gnu/packages/crates-io.scm (rust-vswhom-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c2803c75a5..ad86a36821 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15506,6 +15506,34 @@ updated when the crate version changes.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-vswhom-sys-0.1
+  (package
+    (name "rust-vswhom-sys")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "vswhom-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0clm4dx4amwlhg5lkh52fmvvwq6c7s7b9xqljw39mryhsc158bzw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page
+     "https://github.com/nabijaczleweli/vswhom-sys.rs")
+    (synopsis
+     "Pure FFI to Jon Blow's VS discovery script")
+    (description
+     "Pure FFI to Jon Blow's VS discovery script")
+    (license license:expat)))
+
 (define-public rust-vte-0.3
   (package
     (name "rust-vte")
-- 
2.25.0

From 0c4db3d24f4f21c77a06d942e6d8219495d2f6e2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:14:31 +0300
Subject: [PATCH 115/275] gnu: Add rust-vte-0.3.

* gnu/packages/crates-io.scm (rust-vte-0.3): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 46aecb553e..c2803c75a5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15506,6 +15506,31 @@ updated when the crate version changes.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-vte-0.3
+  (package
+    (name "rust-vte")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "vte" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-utf8parse" ,rust-utf8parse-0.1))))
+    (home-page "https://github.com/jwilm/vte")
+    (synopsis
+     "Parser for implementing terminal emulators")
+    (description
+     "Parser for implementing terminal emulators")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-wait-timeout-0.2
   (package
     (name "rust-wait-timeout")
-- 
2.25.0

From d0465853aca966dfa0caa90d18d9f2468b27d849 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:06:17 +0300
Subject: [PATCH 113/275] gnu: rust-ref-cast-0.2: Inherit from
 rust-ref-cast-1.0.

* gnu/packages/crates-io.scm (rust-ref-cast-0.2):
Inherit from rust-ref-cast-1.0.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9d64309079..b932f513a1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10946,6 +10946,7 @@ functionality.")
 
 (define-public rust-ref-cast-0.2
   (package
+    (inherit rust-ref-cast-1.0)
     (name "rust-ref-cast")
     (version "0.2.6")
     (source
@@ -10957,16 +10958,10 @@ functionality.")
        (sha256
         (base32
          "0jgj1zxaikqm030flpifbp517fy4z21lly6ysbwyciii39bkzcf1"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2))))
-    (home-page "https://github.com/dtolnay/ref-cast")
-    (synopsis "Safely cast &T to &U")
-    (description
-     "Safely cast &T to &U where the struct U contains a single field of type T.")
-    (license (list license:asl2.0 license:expat))))
+       (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2))))))
 
 (define-public rust-ref-cast-impl-1.0
   (package
-- 
2.25.0

From c5a76450c89e000b4e7bef287041026af2d62c63 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:09:48 +0300
Subject: [PATCH 114/275] gnu: Add rust-anyhow-1.0 and rust-thiserror-1.0.

* gnu/packages/crates-io.scm (rust-anyhow-1.0, rust-thiserror-1.0):
New variables. Add them together because they have cyclic dependencies
on each other.
---
 gnu/packages/crates-io.scm | 57 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b932f513a1..46aecb553e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -252,6 +252,34 @@ text or blue underlined text, on ANSI terminals.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-anyhow-1.0
+  (package
+    (name "rust-anyhow")
+    (version "1.0.26")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "anyhow" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0g6mzcxyj88k8bv8rr3zx4yczgimqvvgr12n14a29sqj6s1zc9bq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-futures" ,rust-futures-0.3)
+        ("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-thiserror" ,rust-thiserror-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/dtolnay/anyhow")
+    (synopsis
+     "Flexible concrete Error type built on std::error::Error")
+    (description
+     "Flexible concrete Error type built on std::error::Error.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-approx-0.3
   (package
     (name "rust-approx")
@@ -13782,6 +13810,35 @@ handle Unicode characters correctly.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-thiserror-1.0
+  (package
+    (name "rust-thiserror")
+    (version "1.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thiserror" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zlp3kzjssl1ndqmn7cipqnyggq4851ghhqj4bfc4fxk2hc7sdbg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-thiserror-impl" ,rust-thiserror-impl-1.0))
+       #:cargo-development-inputs
+       (("rust-anyhow" ,rust-anyhow-1.0)
+        ("rust-ref-cast" ,rust-ref-cast-1.0)
+        ("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page
+     "https://github.com/dtolnay/thiserror")
+    (synopsis "derive(Error)")
+    (description "derive(Error)")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-thiserror-impl-1.0
   (package
     (name "rust-thiserror-impl")
-- 
2.25.0

From 8f290c4a7f4afe9ec5cf78ce56f16778b946994b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:05:30 +0300
Subject: [PATCH 112/275] gnu: Add rust-ref-cast-1.0.

* gnu/packages/crates-io.scm (rust-ref-cast-1.0): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8f93427840..9d64309079 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10917,6 +10917,33 @@ system calls.")
 functionality.")
     (license license:expat)))
 
+(define-public rust-ref-cast-1.0
+  (package
+    (name "rust-ref-cast")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ref-cast" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vy378bdzb4kcz13kh96c5n5qw1jinhfrya5j4bf9rxz65x1jzq7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-ref-cast-impl" ,rust-ref-cast-impl-1.0))
+       #:cargo-development-inputs
+       (("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/dtolnay/ref-cast")
+    (synopsis "Safely cast &T to &U")
+    (description
+     "Safely cast &T to &U where the struct U contains a single field of type T.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ref-cast-0.2
   (package
     (name "rust-ref-cast")
-- 
2.25.0

From a648c8f70404e531c9f80e439fe895b8dfb94bb8 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:03:14 +0300
Subject: [PATCH 111/275] gnu: rust-ref-cast-impl-0.2: Inherit from
 rust-ref-cast-impl-1.0.

* gnu/packages/crates-io.scm (rust-ref-cast-impl-0.2):
Inherit from rust-ref-cast-impl-1.0.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c7d8de15c6..8f93427840 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10969,6 +10969,7 @@ functionality.")
 
 (define-public rust-ref-cast-impl-0.2
   (package
+    (inherit rust-ref-cast-impl-1.0)
     (name "rust-ref-cast-impl")
     (version "0.2.6")
     (source
@@ -10980,18 +10981,12 @@ functionality.")
        (sha256
         (base32
          "0hw0frpzna5rf5szix56zyzd0vackcb3svj94ndj629xi75dkb32"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.4)
         ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-0.15))))
-    (home-page "https://github.com/dtolnay/ref-cast")
-    (synopsis "Derive implementation for @code{ref_cast::RefCast}")
-    (description
-     "Derive implementation for ref_cast::RefCast.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-syn" ,rust-syn-0.15))))))
 
 (define-public rust-regex-1.3
   (package
-- 
2.25.0

From 4f414563bfa3498fa3dd8399c2aed724d94c37c7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 16:01:57 +0300
Subject: [PATCH 110/275] gnu: Add rust-ref-cast-impl-1.0.

* gnu/packages/crates-io.scm (rust-ref-cast-impl-1.0): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e01daf5c9f..c7d8de15c6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10941,6 +10941,32 @@ functionality.")
      "Safely cast &T to &U where the struct U contains a single field of type T.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-ref-cast-impl-1.0
+  (package
+    (name "rust-ref-cast-impl")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ref-cast-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07rc752npmkyc5b8xcqk2ydbl3gxi1n4fzrq0wx9wz5qd4mvavn3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/dtolnay/ref-cast")
+    (synopsis "Derive implementation for @code{ref_cast::RefCast}")
+    (description
+     "Derive implementation for ref_cast::RefCast.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ref-cast-impl-0.2
   (package
     (name "rust-ref-cast-impl")
-- 
2.25.0

From 9ab9256738e103be7472a2660925c8f8c542ba0c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:54:07 +0300
Subject: [PATCH 109/275] gnu: Add rust-thiserror-impl-1.0.

* gnu/packages/crates-io.scm (rust-thiserror-impl-1.0): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5cd25c10eb..e01daf5c9f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13739,6 +13739,34 @@ handle Unicode characters correctly.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-thiserror-impl-1.0
+  (package
+    (name "rust-thiserror-impl")
+    (version "1.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thiserror-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vxzhb98pm5yrq9mmcz50bgpml35iyx7lwjgi4v89sq7ag92abpb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page
+     "https://github.com/dtolnay/thiserror")
+    (synopsis
+     "Implementation detail of the `thiserror` crate")
+    (description
+     "Implementation detail of the `thiserror` crate")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-thread-id-3.3
   (package
     (name "rust-thread-id")
-- 
2.25.0

From 3397e320723dd86aae6a7d9040f41126aefb972f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:52:34 +0300
Subject: [PATCH 107/275] gnu: Add rust-futures-0.3.

* gnu/packages/crates-io.scm (rust-futures-0.3): New variable.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 05d79abc4e..41c4616c83 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4349,6 +4349,44 @@ pseudorandom number generator")
     (description "Handling fragments of UTF-8.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-futures-0.3
+  (package
+    (name "rust-futures")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11srrbc0hp7pgz142qjfx2z07kfhc98rbfwqyrgm4mxvxib61wdn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures-channel" ,rust-futures-channel-0.3)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-futures-executor" ,rust-futures-executor-0.3)
+        ("rust-futures-io" ,rust-futures-io-0.3)
+        ("rust-futures-sink" ,rust-futures-sink-0.3)
+        ("rust-futures-task" ,rust-futures-task-0.3)
+        ("rust-futures-util" ,rust-futures-util-0.3))
+       #:cargo-development-inputs
+       (("rust-assert-matches" ,rust-assert-matches-1.3)
+        ("rust-pin-utils" ,rust-pin-utils-0.1)
+        ("rust-tokio" ,rust-tokio-0.1))))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "An implementation of futures and streams featuring zero allocations,
+composability, and iterator-like interfaces")
+    (description
+     "An implementation of futures and streams featuring zero allocations,
+composability, and iterator-like interfaces.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-0.1
   (package
     (name "rust-futures")
-- 
2.25.0

From 554b717952381885d93bd6fede4d26cc4c50b4a7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:53:31 +0300
Subject: [PATCH 108/275] gnu: Add rust-rustversion-1.0.

* gnu/packages/crates-io.scm (rust-rustversion-1.0): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 41c4616c83..5cd25c10eb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11488,6 +11488,34 @@ rustc compiler.")
      "Automatically apply the suggestions made by rustc.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustversion-1.0
+  (package
+    (name "rust-rustversion")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustversion" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11krxgi7j6h5crhs6ws06wwzjvgdqaazvli805xja5vyi6ykh19s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page
+     "https://github.com/dtolnay/rustversion")
+    (synopsis
+     "Conditional compilation according to rustc compiler version")
+    (description
+     "Conditional compilation according to rustc compiler version.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rusty-fork-0.2
   (package
     (name "rust-rusty-fork")
-- 
2.25.0

From 27d3833a14a71ac56b01930e54faa3a719c89f98 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:51:59 +0300
Subject: [PATCH 106/275] gnu: Add rust-futures-executor-0.3.

* gnu/packages/crates-io.scm (rust-futures-executor-0.3): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4609278d3c..05d79abc4e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4488,6 +4488,35 @@ the computation on the threads themselves.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-executor-0.3
+  (package
+    (name "rust-futures-executor")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-executor" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cf24wbgxqh4kdjbb557vk1axzmbpmwb8s05ga1nls1zaqv4f9qy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-futures-task" ,rust-futures-task-0.3)
+        ("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-num-cpus" ,rust-num-cpus-1.10))))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "Executors for asynchronous tasks based on the futures-rs library")
+    (description
+     "Executors for asynchronous tasks based on the futures-rs library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-executor-preview-0.3
   (package
     (name "rust-futures-executor-preview")
-- 
2.25.0

From 3cd00c3ff0d81c17cd42ef8071555862ea3535aa Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:51:36 +0300
Subject: [PATCH 105/275] gnu: Add rust-futures-util-0.3.

* gnu/packages/crates-io.scm (rust-futures-util-0.3): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3deba437d3..4609278d3c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4686,6 +4686,43 @@ futures-rs library.")
     (description "Tools for working with tasks.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-futures-util-0.3
+  (package
+    (name "rust-futures-util")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-util" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0xlyqdn6lnpkw27lwxczihx91h64gbdd31n8c8y5v63nzds65mn0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-futures-channel" ,rust-futures-channel-0.3)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-futures-io" ,rust-futures-io-0.3)
+        ("rust-futures-macro" ,rust-futures-macro-0.3)
+        ("rust-futures-sink" ,rust-futures-sink-0.3)
+        ("rust-futures-task" ,rust-futures-task-0.3)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-pin-utils" ,rust-pin-utils-0.1)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "Common utilities and extension traits for the futures-rs library")
+    (description
+     "Common utilities and extension traits for the futures-rs library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-util-preview-0.3
   (package
     (name "rust-futures-util-preview")
-- 
2.25.0

From 5c9949d79166d8b87987199b225b43122ec5220a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:50:47 +0300
Subject: [PATCH 104/275] gnu: Add rust-futures-macro-0.3.

* gnu/packages/crates-io.scm (rust-futures-macro-0.3): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e73d68589f..3deba437d3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4562,6 +4562,35 @@ library.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-macro-0.3
+  (package
+    (name "rust-futures-macro")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-macro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0r3px32wgqfbmfyb1lrj9wplvjris5magdyhfr7xnyjk2mncbrsj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "The futures-rs procedural macro implementations")
+    (description
+     "The futures-rs procedural macro implementations.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-select-macro-preview-0.3
   (package
     (name "rust-futures-select-macro-preview")
-- 
2.25.0

From b4feb8dbd874cb6d27e9dabc01a79f323cdbea7f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:48:52 +0300
Subject: [PATCH 103/275] gnu: Add rust-inotify-sys-0.1.

* gnu/packages/crates-io.scm (rust-inotify-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bb331ae0b2..e73d68589f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5918,6 +5918,30 @@ renamed to indexmap.")
     (description "DEFLATE decoding")
     (license license:expat)))
 
+(define-public rust-inotify-sys-0.1
+  (package
+    (name "rust-inotify-sys")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "inotify-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1h2nwgajz80qddjm4mpma94zahxw84nscbycy9pgzbjrgjl1ljp7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page
+     "https://github.com/inotify-rs/inotify-sys")
+    (synopsis
+     "inotify bindings for the Rust programming language")
+    (description
+     "inotify bindings for the Rust programming language")
+    (license license:isc)))
+
 (define-public rust-insta-0.8
   (package
     (name "rust-insta")
-- 
2.25.0

From 7abb1a3a8ddaa2c8f24444ec2265e2496ed44488 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:48:03 +0300
Subject: [PATCH 102/275] gnu: Add rust-inflate-0.4.

* gnu/packages/crates-io.scm (rust-inflate-0.4): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a68b548a20..bb331ae0b2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5895,6 +5895,29 @@ This crate was initially published under the name ordermap, but it was
 renamed to indexmap.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-inflate-0.4
+  (package
+    (name "rust-inflate")
+    (version "0.4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "inflate" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zxjdn8iwa0ssxrnjmywm3r1v284wryvzrf8vkc7nyf5ijbjknqw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-adler32" ,rust-adler32-1.0))))
+    (home-page
+     "https://github.com/PistonDevelopers/inflate.git")
+    (synopsis "DEFLATE decoding")
+    (description "DEFLATE decoding")
+    (license license:expat)))
+
 (define-public rust-insta-0.8
   (package
     (name "rust-insta")
-- 
2.25.0

From b912db1e6722bac3cce69106354b6b15b2ee9e3c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:47:14 +0300
Subject: [PATCH 101/275] gnu: Add rust-fsevent-0.4.

* gnu/packages/crates-io.scm (rust-fsevent-0.4): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0195031704..a68b548a20 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4211,6 +4211,36 @@ implementation that is more efficient for smaller hash keys.")
       "Rust bindings to the fsevent macOS API for file changes notifications")
     (license license:expat)))
 
+(define-public rust-fsevent-0.4
+  (package
+    (name "rust-fsevent")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fsevent" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1djxnc2fmv265xqf1iyfz56smh13v9r1p0w9125wjg6k3fyx3dss"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+        (("rust-bitflags" ,rust-bitflags-1)
+         ("rust-fsevent-sys" ,rust-fsevent-sys-2))
+        #:cargo-development-inputs
+        (("rust-tempdir" ,rust-tempdir-0.3)
+         ("rust-time" ,rust-time-0.1))))
+    (home-page
+      "https://github.com/octplane/fsevent-rust")
+    (synopsis
+      "Rust bindings to the fsevent-sys macOS API for file changes notifications")
+    (description
+      "Rust bindings to the fsevent-sys macOS API for file changes notifications")
+    (license license:expat)))
+
 (define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
-- 
2.25.0

From 89386e2b00714e96184c3fb7153c598c3e5a2a1e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 15:42:40 +0300
Subject: [PATCH 100/275] gnu: Add rust-byteorder-1.2.

* gnu/packages/crates-io.scm (rust-byteorder-1.2): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 06d3571ff4..0195031704 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1283,6 +1283,26 @@ in a byte slice, fast.")
 little-endian.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-byteorder-1.2
+  (package
+    (inherit rust-byteorder-1.3)
+    (name "rust-byteorder")
+    (version "1.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "byteorder" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pgpxnfcsg1s7chdkpbigzl304yc2rbhzar2r6npnh957br8vy4l"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.7)
+        ("rust-rand" ,rust-rand-0.5))))))
+
 (define-public rust-bytes-0.4
   (package
     (name "rust-bytes")
-- 
2.25.0

From ab68a9af5ff094341943536802d3138933ae40ef Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:20:55 +0300
Subject: [PATCH 099/275] gnu: Add rust-fsevent-sys-2.

* gnu/packages/crates-io.scm (rust-fsevent-sys-2): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8f04557a64..06d3571ff4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4166,6 +4166,31 @@ implementation that is more efficient for smaller hash keys.")
      "Cross-platform file locks and file duplication.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-fsevent-sys-2
+  (package
+    (name "rust-fsevent-sys")
+    (version "2.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fsevent-sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "18246vxk7rqn52m0sfrhivxq802i34p2wqqx5zsa0pamjj5086zl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page
+      "https://github.com/octplane/fsevent-rust/tree/master/fsevent-sys")
+    (synopsis
+      "Rust bindings to the fsevent macOS API for file changes notifications")
+    (description
+      "Rust bindings to the fsevent macOS API for file changes notifications")
+    (license license:expat)))
+
 (define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
-- 
2.25.0

From f7a401aa59bc571c29384b0470c99f74658a0182 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:20:11 +0300
Subject: [PATCH 098/275] gnu: Add rust-fs2-0.2.

* gnu/packages/crates-io.scm (rust-fs2-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f7c6174ba2..8f04557a64 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4136,6 +4136,36 @@ implementation that is more efficient for smaller hash keys.")
      "Low level binding for FreeType font library")
     (license license:expat)))
 
+(define-public rust-fs2-0.2
+  (package
+    (name "rust-fs2")
+    (version "0.2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fs2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vsih93cvds3x6f3w9bc5rnkyv8haix1px4jpcqvjyd9l7ji9m5w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://github.com/danburkert/fs2-rs")
+    (synopsis
+     "Cross-platform file locks and file duplication.")
+    (description
+     "Cross-platform file locks and file duplication.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
-- 
2.25.0

From 31d709fad61b342f171ff8d284de11c904126757 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:18:59 +0300
Subject: [PATCH 097/275] gnu: Add rust-freetype-rs-0.23.

* gnu/packages/crates-io.scm (rust-freetype-rs-0.23): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ce67166aa9..f7c6174ba2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4078,6 +4078,35 @@ implementation that is more efficient for smaller hash keys.")
         (base32
          "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00"))))))
 
+(define-public rust-freetype-rs-0.23
+  (package
+    (name "rust-freetype-rs")
+    (version "0.23.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "freetype-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06yn6l44wad0h0i4nzs5jfq64zgf89xr01fy1w22i90j22ilnkmd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-freetype-sys" ,rust-freetype-sys-0.9)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))
+    (home-page
+     "https://github.com/PistonDevelopers/freetype-rs")
+    (synopsis "Bindings for FreeType font library")
+    (description
+     "Bindings for FreeType font library")
+    (license license:expat)))
+
 (define-public rust-freetype-sys-0.9
   (package
     (name "rust-freetype-sys")
-- 
2.25.0

From 0f53b4e7d61eaf8002fd326714fed28f057ea022 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:17:38 +0300
Subject: [PATCH 096/275] gnu: Add rust-freetype-sys-0.9.

* gnu/packages/crates-io.scm (rust-freetype-sys-0.9): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 62d915ae5d..ce67166aa9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4078,6 +4078,35 @@ implementation that is more efficient for smaller hash keys.")
         (base32
          "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00"))))))
 
+(define-public rust-freetype-sys-0.9
+  (package
+    (name "rust-freetype-sys")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "freetype-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1i309xc6gcsgdfiim3j5f0sk08imr4frlzfa185iaxqciysqgikx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-libz-sys" ,rust-libz-sys-1.0))
+       #:cargo-development-inputs
+       (("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page
+     "https://github.com/PistonDevelopers/freetype-sys")
+    (synopsis
+     "Low level binding for FreeType font library")
+    (description
+     "Low level binding for FreeType font library")
+    (license license:expat)))
+
 (define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
-- 
2.25.0

From d2c0ededda3491c12b96ca3e8c6dbb9a82546f38 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:06:52 +0300
Subject: [PATCH 095/275] gnu: Add rust-mio-extras-2.

* gnu/packages/crates-io.scm (rust-mio-extras-2):
New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1a4b932eee..62d915ae5d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7208,6 +7208,33 @@ drop-in replacement for miniz.")
      "Asynchronous wrapper for windows synchronous pipes")
     (license license:expat)))
 
+(define-public rust-mio-extras-2
+  (package
+    (name "rust-mio-extras")
+    (version "2.0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mio-extras" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "069gfhlv0wlwfx1k2sriwfws490kjp490rv2qivyfb01j3i3yh2j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazycell" ,rust-lazycell-1.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-slab" ,rust-slab-0.4))))
+    (home-page
+     "https://github.com/dimbleby/mio-extras")
+    (synopsis "Extra components for use with Mio")
+    (description "Extra components for use with Mio")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-mio-named-pipes-0.1
   (package
     (name "rust-mio-named-pipes")
-- 
2.25.0

From 5dd0b23520400c527e71c49d1f2ec4acaafe68e0 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:05:44 +0300
Subject: [PATCH 093/275] gnu: Add rust-spsc-buffer-0.1.

* gnu/packages/crates-io.scm (rust-spsc-buffer-0.1):
New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 40c4ffb1a5..d9569d20f6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12188,6 +12188,32 @@ initializers are available.")
          "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f"))))
     (arguments '(#:skip-build? #t))))
 
+(define-public rust-spsc-buffer-0.1
+  (package
+    (name "rust-spsc-buffer")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "spsc-buffer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fsv5zpxkax2n46flxhyajq1yblgh8f33la39gp86hksqcwkyv5y"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2))))
+    (home-page
+     "https://github.com/davidhewitt/spsc-buffer")
+    (synopsis
+     "Single-producer single-consumer lock-free buffer")
+    (description
+     "Single-producer single-consumer lock-free buffer")
+    (license license:expat)))
+
 (define-public rust-stable-deref-trait-1.1
   (package
     (name "rust-stable-deref-trait")
-- 
2.25.0

From 6a6cc291a6cd2030ed838d79265b25ec802f68a2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:06:19 +0300
Subject: [PATCH 094/275] gnu: Add rust-mio-anonymous-pipes-0.1.

* gnu/packages/crates-io.scm (rust-mio-anonymous-pipes-0.1):
New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d9569d20f6..1a4b932eee 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7179,6 +7179,35 @@ drop-in replacement for miniz.")
     (description "Lightweight non-blocking IO.")
     (license license:expat)))
 
+(define-public rust-mio-anonymous-pipes-0.1
+  (package
+    (name "rust-mio-anonymous-pipes")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mio-anonymous-pipes" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bqs8wncd73q4pnbiwskhgds57hyr8g89vfpqmw1vk9dqp1p9hpq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-mio" ,rust-mio-0.6)
+        ("rust-miow" ,rust-miow-0.3)
+        ("rust-spsc-buffer" ,rust-spsc-buffer-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/davidhewitt/mio-anonymous-pipes")
+    (synopsis
+     "Asynchronous wrapper for windows synchronous pipes")
+    (description
+     "Asynchronous wrapper for windows synchronous pipes")
+    (license license:expat)))
+
 (define-public rust-mio-named-pipes-0.1
   (package
     (name "rust-mio-named-pipes")
-- 
2.25.0

From de9b43dbc4e95f504f9dbdaf1f59c002f7777a84 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:04:12 +0300
Subject: [PATCH 092/275] gnu: Add rust-raw-window-handle-0.3.

* gnu/packages/crates-io.scm (rust-raw-window-handle-0.3):
New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 94595c86b2..40c4ffb1a5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15477,6 +15477,30 @@ color in a Windows console.")
      "Rust bindings to MS Windows Registry API")
     (license license:expat)))
 
+(define-public rust-raw-window-handle-0.3
+  (package
+    (name "rust-raw-window-handle")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "raw-window-handle" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page
+     "https://github.com/rust-windowing/raw-window-handle")
+    (synopsis
+     "Interoperability library for Rust Windowing applications")
+    (description
+     "Interoperability library for Rust Windowing applications.")
+    (license license:expat)))
+
 (define-public rust-winutil-0.1
   (package
     (name "rust-winutil")
-- 
2.25.0

From f66aeee6b700cb7ab1740d7c4633fada81ca9492 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:03:51 +0300
Subject: [PATCH 091/275] gnu: Add rust-winreg-0.6.

* gnu/packages/crates-io.scm (rust-winreg-0.6): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 010febc9ba..94595c86b2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15446,6 +15446,37 @@ color in a Windows console.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-winreg-0.6
+  (package
+    (name "rust-winreg")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winreg" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jdcqr6zmvwyrp87h48miasfdvv16gjsb60rc8dy2kqwb3mnv65j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page
+     "https://github.com/gentoo90/winreg-rs")
+    (synopsis
+     "Rust bindings to MS Windows Registry API")
+    (description
+     "Rust bindings to MS Windows Registry API")
+    (license license:expat)))
+
 (define-public rust-winutil-0.1
   (package
     (name "rust-winutil")
-- 
2.25.0

From 3fe2b479d6e6762fefab824dea1286a7d8175672 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 02:02:52 +0300
Subject: [PATCH 090/275] gnu: Add rust-which-1.0.

* gnu/packages/crates-io.scm (rust-which-1.0): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fb9b054969..010febc9ba 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15243,6 +15243,28 @@ attribute that is not in the shared backend crate.")
 Locate installed executable in cross platforms.")
     (license license:expat)))
 
+(define-public rust-which-1.0
+  (package
+    (inherit rust-which-2.0)
+    (name "rust-which")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "which" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1cjwa57kzfgzs681a27m5pjmq580pv3hkcg23smf270bgqz60jp8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))))
+
 (define-public rust-widestring-0.4
   (package
     (name "rust-widestring")
-- 
2.25.0

From f11828a9e53e2062b8bc4fe1b8354555779ce589 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 01:55:06 +0300
Subject: [PATCH 089/275] gnu: Add rust-gdi32-sys-0.2.

* gnu/packages/crates-io.scm (rust-gdi32-sys-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 744adfbbc9..fb9b054969 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4586,6 +4586,36 @@ archive to be linked into Rustcode.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-gdi32-sys-0.2
+  (package
+    (name "rust-gdi32-sys")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gdi32-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-winapi-build" ,rust-winapi-build-0.1))))
+    (home-page
+     "https://github.com/retep998/winapi-rs")
+    (synopsis
+     "Contains function definitions for the Windows API library gdi32.
+See winapi for types and constants")
+    (description
+     "Contains function definitions for the Windows API library gdi32.
+See winapi for types and constants.")
+    (license license:expat)))
+
 (define-public rust-generic-array-0.13
   (package
     (name "rust-generic-array")
-- 
2.25.0

From 0bf26addc71cb5618935902b40a522c24ab30c64 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 19 Jan 2020 01:14:15 +0300
Subject: [PATCH 088/275] gnu: Add rust-same-file-0.1.

* gnu/packages/crates-io.scm (rust-same-file-0.1): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0bd9049b68..744adfbbc9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11156,6 +11156,35 @@ paths point to the same file.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-same-file-0.1
+  (package
+    (name "rust-same-file")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "same-file" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19qpl6j8s3ph9jm8rh1k0wp2nkyw5ah34xly00vqcfx4v97s8cfr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3))))
+    (home-page
+     "https://github.com/BurntSushi/same-file")
+    (synopsis
+     "A simple crate for determining whether two file paths point to the same file")
+    (description
+     "This package provides a simple crate for determining whether two file paths
+point to the same file.")
+    (license (list license:unlicense license:expat))))
+
 (define-public rust-schannel-0.1
   (package
     (name "rust-schannel")
-- 
2.25.0

From 934b72b7b1b0cfea2650cc7d35985601ef245526 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:21:48 +0300
Subject: [PATCH 087/275] gnu: Add rust-docopt-0.7.

* gnu/packages/crates-io.scm (rust-docopt-0.7): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f62d3544ff..0bd9049b68 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2987,6 +2987,28 @@ from macros.")
     (description "Command line argument parsing.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-docopt-0.7
+  (package
+    (inherit rust-docopt-1.1)
+    (name "rust-docopt")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "docopt" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1n6gbhsks2w9y0b4bwqyawh4ghbkka09w6pjcrq9i1sd51pflcmb"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-regex" ,rust-regex-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-strsim" ,rust-strsim-0.6))))))
+
 (define-public rust-downcast-rs-1.1
   (package
     (name "rust-downcast-rs")
-- 
2.25.0

From c22b3ece7bcfcd3bf9ebd107168021298d917f55 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:17:28 +0300
Subject: [PATCH 086/275] gnu: rust-base64-0.10: Inherit from rust-base64-0.11.

* gnu/packages/crates-io.scm (rust-base64-0.10): Inherit from
rust-base64-0.11.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 966be63579..f62d3544ff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -650,6 +650,7 @@ trace (backtrace) at runtime in a Rust program.")
 
 (define-public rust-base64-0.10
   (package
+    (inherit rust-base64-0.11)
     (name "rust-base64")
     (version "0.10.1")
     (source
@@ -661,19 +662,13 @@ trace (backtrace) at runtime in a Rust program.")
        (sha256
         (base32
          "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.2)
-        ("rust-rand" ,rust-rand-0.4))))
-    (home-page "https://github.com/marshallpierce/rust-base64")
-    (synopsis "Encodes and decodes base64 as bytes or utf8")
-    (description
-     "Encodes and decodes base64 as bytes or utf8.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-rand" ,rust-rand-0.4))))))
 
 (define-public rust-base-x-0.2
   (package
-- 
2.25.0

From ad8997479b36be1e1036fcc4a22a3c73495d608e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:16:59 +0300
Subject: [PATCH 085/275] gnu: Add rust-base64-0.11.

* gnu/packages/crates-io.scm (rust-base64-0.11): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2797eb6407..966be63579 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -620,6 +620,34 @@ trace (backtrace) at runtime in a Rust program.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-base64-0.11
+  (package
+    (name "rust-base64")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "base64" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1iqmims6yvr6vwzyy54qd672zw29ipjj17p8klcr578c9ajpw6xl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page
+     "https://github.com/marshallpierce/rust-base64")
+    (synopsis
+     "encodes and decodes base64 as bytes or utf8")
+    (description
+     "encodes and decodes base64 as bytes or utf8")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-base64-0.10
   (package
     (name "rust-base64")
-- 
2.25.0

From 165748a240099520d7beb99917014cd1625f68ca Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:15:12 +0300
Subject: [PATCH 083/275] gnu: Add rust-criterion-0.3.

* gnu/packages/crates-io.scm (rust-criterion-0.3): New variable.
---
 gnu/packages/crates-io.scm | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0de67f0066..6922efb775 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2065,6 +2065,53 @@ intrinsics.")
      "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-criterion-0.3
+  (package
+    (name "rust-criterion")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "criterion" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1iig7r9c6bkn5qb6axxkblc1amif6k49lix35rhqs728cphh71wk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-cast" ,rust-cast-0.2)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-criterion-plot" ,rust-criterion-plot-0.4)
+        ("rust-csv" ,rust-csv-1.1)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-rand-os" ,rust-rand-os-0.2)
+        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.3)
+        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-tinytemplate" ,rust-tinytemplate-1.0)
+        ("rust-walkdir" ,rust-walkdir-2.2))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://bheisler.github.io/criterion.rs/book/index.html")
+    (synopsis
+     "Statistics-driven micro-benchmarking library")
+    (description
+     "Statistics-driven micro-benchmarking library")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-criterion-0.2
   (package
     (name "rust-criterion")
-- 
2.25.0

From 3c6d4fd65fb181301096167e95ad3867c7de7f15 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:16:00 +0300
Subject: [PATCH 084/275] gnu: rust-criterion-0.2: Inherit from
 rust-criterion-0.3.

* gnu/packages/crates-io.scm (rust-criterion-0.2): Inherit from
rust-criterion-0.3.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6922efb775..2797eb6407 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2114,6 +2114,7 @@ intrinsics.")
 
 (define-public rust-criterion-0.2
   (package
+    (inherit rust-criterion-0.3)
     (name "rust-criterion")
     (version "0.2.11")
     (source
@@ -2125,7 +2126,6 @@ intrinsics.")
        (sha256
         (base32
          "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -2152,12 +2152,7 @@ intrinsics.")
        (("rust-approx" ,rust-approx-0.3)
         ("rust-quickcheck" ,rust-quickcheck-0.8)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://bheisler.github.io/criterion.rs/book/index.html")
-    (synopsis "Statistics-driven micro-benchmarking library")
-    (description
-     "Statistics-driven micro-benchmarking library.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-tempdir" ,rust-tempdir-0.3))))))
 
 (define-public rust-criterion-plot-0.4
   (package
-- 
2.25.0

From e73130b58ce4198d67adc70f218961b8197e43d4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:13:00 +0300
Subject: [PATCH 082/275] gnu: rust-criterion-plot-0.3: Inherit from
 rust-criterion-plot-0.4.

* gnu/packages/crates-io.scm (rust-criterion-plot-0.3): Inherit from
rust-criterion-plot-0.4.
---
 gnu/packages/crates-io.scm | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9fd90e005d..0de67f0066 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2143,6 +2143,7 @@ intrinsics.")
 
 (define-public rust-criterion-plot-0.3
   (package
+    (inherit rust-criterion-plot-0.4)
     (name "rust-criterion-plot")
     (version "0.3.1")
     (source
@@ -2154,7 +2155,6 @@ intrinsics.")
        (sha256
         (base32
          "13pv09z4ryp70qyzablkibwa2mh6c2852qq1sjr9wjigvwnj3ybn"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -2164,11 +2164,7 @@ intrinsics.")
        #:cargo-development-inputs
        (("rust-itertools-num" ,rust-itertools-num-0.1)
         ("rust-num-complex" ,rust-num-complex-0.2)
-        ("rust-rand" ,rust-rand-0.4))))
-    (home-page "https://github.com/bheisler/criterion.rs")
-    (synopsis "Criterion's plotting library")
-    (description "Criterion's plotting library.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-rand" ,rust-rand-0.4))))))
 
 (define-public rust-crossbeam-0.7
   (package
-- 
2.25.0

From 2825741fd2760a3eb33e077445a87e3373c37ed5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:11:42 +0300
Subject: [PATCH 081/275] gnu: Add rust-criterion-plot-0.4.

* gnu/packages/crates-io.scm (rust-criterion-plot-0.4): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d7f8474b7e..9fd90e005d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2112,6 +2112,35 @@ intrinsics.")
      "Statistics-driven micro-benchmarking library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-criterion-plot-0.4
+  (package
+    (name "rust-criterion-plot")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "criterion-plot" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "18kjl0fh2n5ws6ssiqskikmz893dm9rfdgi5j2l2qddyig7cdkgc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cast" ,rust-cast-0.2)
+        ("rust-itertools" ,rust-itertools-0.8))
+       #:cargo-development-inputs
+       (("rust-itertools-num" ,rust-itertools-num-0.1)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/bheisler/criterion.rs")
+    (synopsis "Criterion's plotting library")
+    (description "Criterion's plotting library")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-criterion-plot-0.3
   (package
     (name "rust-criterion-plot")
-- 
2.25.0

From cf58ea25623a9252e15d9545eeb9bd5be5fdedc4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:05:02 +0300
Subject: [PATCH 080/275] gnu: rust-foreign-types-0.3: Inherit from
 rust-foreign-types-0.5.

* gnu/packages/crates-io.scm (rust-foreign-types-0.3): Inherit from
rust-foreign-types-0.5.
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 563dba307a..d7f8474b7e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3847,6 +3847,7 @@ implementation that is more efficient for smaller hash keys.")
 
 (define-public rust-foreign-types-0.3
   (package
+    (inherit rust-foreign-types-0.5)
     (name "rust-foreign-types")
     (version "0.3.2")
     (source
@@ -3858,18 +3859,11 @@ implementation that is more efficient for smaller hash keys.")
        (sha256
         (base32
          "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.1)
-        ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.1))))
-    (home-page "https://github.com/sfackler/foreign-types")
-    (synopsis "Framework for Rust wrappers over C APIs")
-    (description
-     "This package provides a framework for Rust wrappers over C
-APIs.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.1))))))
 
 (define-public rust-foreign-types-macros-0.2
   (package
-- 
2.25.0

From a5c7e7f7a2692cae1713e32b1a888ccab93fca37 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sun, 26 Jan 2020 16:14:43 +0300
Subject: [PATCH 209/275] gnu: Add rust-bindget-0.33.

* gnu/packages/crates-io.scm (rust-bindget-0.33): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5cd47effcf..5b8027502a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -924,6 +924,40 @@ Bresenham's line algorithm.")
 libraries.")
     (license license:bsd-3)))
 
+(define-public rust-bindgen-0.33
+  (package
+    (inherit rust-bindgen-0.50)
+    (name "rust-bindgen")
+    (version "0.33.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bindgen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0vnw5fb74gl9pgnimgbrkac1xgwrjz86pqilx20rbkia77cdhgk0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cexpr" ,rust-cexpr-0.2)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-clang-sys" ,rust-clang-sys-0.22)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-env-logger" ,rust-env-logger-0.5)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
+        ("rust-quote" ,rust-quote-0.3)
+        ("rust-regex" ,rust-regex-0.2)
+        ("rust-which" ,rust-which-1.0))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-diff" ,rust-diff-0.1)
+        ("rust-shlex" ,rust-shlex-0.1))))))
+
 (define-public rust-bit-set-0.5
   (package
     (name "rust-bit-set")
-- 
2.25.0

From e979b3694528c9255e1e9283964cc68613cebda7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 23:04:24 +0300
Subject: [PATCH 079/275] gnu: Add rust-foreign-types-0.5.

* gnu/packages/crates-io.scm (rust-foreign-types-0.5):
New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ec2e4978a7..563dba307a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3818,6 +3818,33 @@ implementation that is more efficient for smaller hash keys.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-foreign-types-0.5
+  (package
+    (name "rust-foreign-types")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "foreign-types" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rfr2zfxnx9rz3292z5nyk8qs2iirznn5ff3rd4vgdwza6mdjdyp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.2)
+        ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.3))))
+    (home-page
+     "https://github.com/sfackler/foreign-types")
+    (synopsis
+     "A framework for Rust wrappers over C APIs")
+    (description
+     "This package provides a framework for Rust wrappers over C APIs")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-foreign-types-0.3
   (package
     (name "rust-foreign-types")
-- 
2.25.0

From 994a53dac6fa8328a9b175fb471325936194bbd6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 22:56:53 +0300
Subject: [PATCH 077/275] gnu: Add rust-foreign-types-shared-0.3.

* gnu/packages/crates-io.scm (rust-foreign-types-shared-0.3):
New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bb47ba2c30..13c67339c9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3893,6 +3893,29 @@ APIs.")
         ("rust-quote" ,rust-quote-1.0)
         ("rust-syn" ,rust-syn-0.15))))))
 
+(define-public rust-foreign-types-shared-0.3
+  (package
+    (name "rust-foreign-types-shared")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "foreign-types-shared" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0mg85r21bxg2i97zl3q8l3cviqz4wcbwziz875wlja3zpcrwz13n"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/sfackler/foreign-types")
+    (synopsis
+     "An internal crate used by foreign-types")
+    (description
+     "An internal crate used by foreign-types.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-foreign-types-shared-0.2
   (package
     (name "rust-foreign-types-shared")
-- 
2.25.0

From eff95f89433df4b6f38dbcab87a6ff165dd31fa3 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 22:58:04 +0300
Subject: [PATCH 078/275] gnu: rust-foreign-types-shared-0.2: Inherit from
 rust-foreign-types-shared-0.3.

* gnu/packages/crates-io.scm (rust-foreign-types-shared-0.2): Inherit from
rust-foreign-types-shared-0.3.
---
 gnu/packages/crates-io.scm | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 13c67339c9..ec2e4978a7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3918,6 +3918,7 @@ APIs.")
 
 (define-public rust-foreign-types-shared-0.2
   (package
+    (inherit rust-foreign-types-shared-0.3)
     (name "rust-foreign-types-shared")
     (version "0.2.0")
     (source
@@ -3927,15 +3928,7 @@ APIs.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/sfackler/foreign-types")
-    (synopsis "Internal crate used by foreign-types")
-    (description
-     "An internal crate used by foreign-types.")
-    (license (list license:asl2.0
-                   license:expat))))
+          "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))))
 
 (define-public rust-foreign-types-shared-0.1
   (package
-- 
2.25.0

From 75353a834f898baaed73cbb0555cd1249c79b936 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 22:54:54 +0300
Subject: [PATCH 076/275] gnu: rust-foreign-types-macros-0.1: Inherit from
 rust-foreign-types-macros-0.2.

* gnu/packages/crates-io.scm (rust-foreign-types-macros-0.1): Inherit from
rust-foreign-types-macros-0.2.
---
 gnu/packages/crates-io.scm | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f726e15175..bb47ba2c30 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3874,6 +3874,7 @@ APIs.")
 
 (define-public rust-foreign-types-macros-0.1
   (package
+    (inherit rust-foreign-types-macros-0.2)
     (name "rust-foreign-types-macros")
     (version "0.1.0")
     (source
@@ -3885,18 +3886,12 @@ APIs.")
        (sha256
         (base32
          "16yjigjcsklcwy2ad32l24k1nwm9n3bsnyhxc3z9whjbsrj60qk6"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-0.4)
         ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-0.15))))
-    (home-page "https://github.com/sfackler/foreign-types")
-    (synopsis "Internal crate used by foreign-types")
-    (description
-     "An internal crate used by foreign-types.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-syn" ,rust-syn-0.15))))))
 
 (define-public rust-foreign-types-shared-0.2
   (package
-- 
2.25.0

From ba0023693792fceaabb6a937faeab57d1c82989c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 22:47:58 +0300
Subject: [PATCH 075/275] gnu: Add rust-foreign-types-macros-0.2.

* gnu/packages/crates-io.scm (rust-foreign-types-macros-0.2):
New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f5306dc9eb..f726e15175 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3844,6 +3844,34 @@ implementation that is more efficient for smaller hash keys.")
 APIs.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-foreign-types-macros-0.2
+  (package
+    (name "rust-foreign-types-macros")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "foreign-types-macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0x71sdffjfb123l2jn5vhz0ni09b4rdq3h3gpczd1dj1g5qlr2yv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page
+     "https://github.com/sfackler/foreign-types")
+    (synopsis
+     "An internal crate used by foreign-types")
+    (description
+     "An internal crate used by foreign-types.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-foreign-types-macros-0.1
   (package
     (name "rust-foreign-types-macros")
-- 
2.25.0

From ca3a4982a3df8fc72cf707e0f0252b54e62e0917 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 21:12:47 +0300
Subject: [PATCH 074/275] gnu: Add rust-nom-3.

* gnu/packages/crates-io.scm (rust-nom-3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 43e64ab180..f5306dc9eb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7495,6 +7495,29 @@ implementation (which is unstable / requires nightly).")
 combinators library.")
     (license license:expat)))
 
+(define-public rust-nom-3
+  (package
+    (inherit rust-nom-4.2)
+    (name "rust-nom")
+    (version "3.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0yr8fazcspgawl6s7wmx5llz61s68jl88cnrph18fa7xf06cbbh5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-compiler-error" ,rust-compiler-error-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-memchr" ,rust-memchr-1.0)
+        ("rust-regex" ,rust-regex-0.2))))))
+
 (define-public rust-num-complex-0.2
   (package
     (name "rust-num-complex")
-- 
2.25.0

From ab4a4c0c526a8de13d33587d66dd99ea0f0f5d8e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 21:11:08 +0300
Subject: [PATCH 073/275] gnu: Add rust-lazy-static-0.1.

* gnu/packages/crates-io.scm (rust-lazy-static-0.1): New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7919805595..43e64ab180 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6012,6 +6012,21 @@ requires non-const function calls to be computed.")
        (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
         ("rust-spin" ,rust-spin-0.4))))))
 
+(define-public rust-lazy-static-0.1
+  (package
+    (inherit rust-lazy-static-0.2)
+    (name "rust-lazy-static")
+    (version "0.1.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lazy_static" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05vl1h4b0iv800grsdyc3fg2bq29p70wjav6zpjvxxd5i8d6s66g"))))))
+
 (define-public rust-lazycell-1.2
   (package
     (name "rust-lazycell")
-- 
2.25.0

From df062aafc0db416663e9b6def05b0b8a10459fa2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 21:10:49 +0300
Subject: [PATCH 072/275] gnu: Add rust-lazy-static-0.2.

* gnu/packages/crates-io.scm (rust-lazy-static-0.2): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0e499a3a64..7919805595 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5992,6 +5992,26 @@ requires non-const function calls to be computed.")
      `(#:skip-build? #t
        #:cargo-inputs (("rust-spin" ,rust-spin-0.5))))))
 
+(define-public rust-lazy-static-0.2
+  (package
+    (inherit rust-lazy-static-1.3)
+    (name "rust-lazy-static")
+    (version "0.2.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lazy_static" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wxy8vak7jsx6r8gx475pjqpx11p2bfq4wvw6idmqi31mp3k7w3n"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3)
+        ("rust-spin" ,rust-spin-0.4))))))
+
 (define-public rust-lazycell-1.2
   (package
     (name "rust-lazycell")
-- 
2.25.0

From 9c1290bdd146e7e6ddce575aaf4ab2c93ba364a2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 21:07:55 +0300
Subject: [PATCH 071/275] gnu: rust-nom-4.2: Add missing rust-version-check
 dependency.

* gnu/packages/crates-io.scm (rust-nom-4.2): Add missing
rust-version-check dependency.
[arguments]: Add "rust-version-check" dependency.
---
 gnu/packages/crates-io.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f88dfa7efe..0e499a3a64 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7445,7 +7445,8 @@ implementation (which is unstable / requires nightly).")
        (("rust-lazy-static" ,rust-lazy-static-1.3)
         ("rust-lexical-core" ,rust-lexical-core-0.4)
         ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex" ,rust-regex-1.1))
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-version-check" ,rust-version-check-0.1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.2)
         ("rust-doc-comment" ,rust-doc-comment-0.3)
-- 
2.25.0

From f8d49f5795e2a0e4ad36b19fa5de64d56538c8c7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 21:04:40 +0300
Subject: [PATCH 070/275] gnu: Add rust-osmesa-sys-0.1.

* gnu/packages/crates-io.scm (rust-osmesa-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 666a4703f5..f88dfa7efe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8032,6 +8032,30 @@ under its new name.")
      "A cross-platform library for opening OS pipes.")
     (license license:expat)))
 
+(define-public rust-osmesa-sys-0.1
+  (package
+    (name "rust-osmesa-sys")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "osmesa-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fq1q1zcgfb0qydrg9r2738jlwc4hqxgb9vj11z72bjxx7kfrkw8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-shared-library" ,rust-shared-library-0.1))))
+    (home-page
+     "https://github.com/Daggerbot/osmesa-rs.git")
+    (synopsis "OSMesa library bindings for Rust")
+    (description "OSMesa library bindings for Rust")
+    (license license:cc0)))
+
 (define-public rust-owning-ref-0.4
   (package
     (name "rust-owning-ref")
-- 
2.25.0

From f6992af47d263ac86b68d90f6433db8a60bb08d4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 19:57:33 +0300
Subject: [PATCH 068/275] gnu: rust-mio-0.6: Update to 0.6.21.

* gnu/packages/crates-io.scm (rust-mio-0.6): Update to 0.6.21.
[arguments]: Fix "rust-winapi" dependency version, it should be 0.2.
---
 gnu/packages/crates-io.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e7230a052a..a9f1af5c10 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6909,7 +6909,7 @@ drop-in replacement for miniz.")
 (define-public rust-mio-0.6
   (package
     (name "rust-mio")
-    (version "0.6.19")
+    (version "0.6.21")
     (source
      (origin
        (method url-fetch)
@@ -6918,7 +6918,7 @@ drop-in replacement for miniz.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "08zzs227vrnyz5kvws6awzlgzb8zqpnihs71hkqlw07dlfb1kxc3"))))
+         "13q02a7cwc140aygf8amadpzpl5lyj3p2r4wnvgydfpnphifqb9h"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -6932,7 +6932,7 @@ drop-in replacement for miniz.")
         ("rust-miow" ,rust-miow-0.2)
         ("rust-net2" ,rust-net2-0.2)
         ("rust-slab" ,rust-slab-0.4)
-        ("rust-winapi" ,rust-winapi-0.3))
+        ("rust-winapi" ,rust-winapi-0.2))
        #:cargo-development-inputs
        (("rust-bytes" ,rust-bytes-0.4)
         ("rust-env-logger" ,rust-env-logger-0.6)
-- 
2.25.0

From f0b34f571c054348dda2dbe167d4c6b823f90e2f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 20:56:01 +0300
Subject: [PATCH 069/275] gnu: Add rust-shared-library-0.1.

* gnu/packages/crates-io.scm (rust-shared-library-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a9f1af5c10..666a4703f5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11536,6 +11536,33 @@ proven statistical guarantees.")
      "A library for using child processes from multiple threads.")
     (license license:expat)))
 
+(define-public rust-shared-library-0.1
+  (package
+    (name "rust-shared-library")
+    (version "0.1.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "shared_library" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04fs37kdak051hm524a360978g58ayrcarjsbf54vqps5c7px7js"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page
+     "https://github.com/tomaka/shared_library/")
+    (synopsis
+     "Easily bind to and load shared libraries")
+    (description
+     "Easily bind to and load shared libraries")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-shlex-0.1
   (package
     (name "rust-shlex")
-- 
2.25.0

From e6f0e1279f86f850de74ab72c2917a8e5c88e92e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 19:50:05 +0300
Subject: [PATCH 067/275] gnu: Add rust-named-pipe-0.4.

* gnu/packages/crates-io.scm (rust-named-pipe-0.4): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3a068fe3d1..e7230a052a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7098,6 +7098,31 @@ checking.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-named-pipe-0.4
+  (package
+    (name "rust-named-pipe")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "named-pipe" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0azby10wzmsrf66m1bysbil0sjfybnvhsa8py093xz4irqy4975d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/blackbeam/named_pipe")
+    (synopsis
+     "Wrapper for overlapped (asyncronous) IO of Windows's named pipes")
+    (description
+     "Wrapper for overlapped (asyncronous) IO of Windows's named pipes")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-net2-0.2
   (package
     (name "rust-net2")
-- 
2.25.0

From bfa9a67f03af9b0a84855d20d018288fb2c65f11 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:40:53 +0300
Subject: [PATCH 066/275] gnu: rust-quickcheck-0.8: Inherit from
 rust-quickcheck-0.9.

* gnu/packages/crates-io.scm (rust-quickcheck-0.8): Inherit from
rust-quickcheck-0.9
---
 gnu/packages/crates-io.scm | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 46e4d937a3..3a068fe3d1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9210,6 +9210,7 @@ to write.")
 ;; Dev dependencies are allowed to have them in crates.io.
 (define-public rust-quickcheck-0.8
   (package
+    (inherit rust-quickcheck-0.9)
     (name "rust-quickcheck")
     (version "0.8.5")
     (source
@@ -9221,21 +9222,13 @@ to write.")
        (sha256
         (base32
          "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-env-logger" ,rust-env-logger-0.6)
         ("rust-log" ,rust-log-0.4)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-core" ,rust-rand-core-0.5))))
-    (home-page
-     "https://github.com/BurntSushi/quickcheck")
-    (synopsis
-     "Automatic property based testing with shrinking")
-    (description
-     "Automatic property based testing with shrinking.")
-    (license (list license:expat license:unlicense))))
+        ("rust-rand-core" ,rust-rand-core-0.5))))))
 
 (define-public rust-quickcheck-0.7
   (package
-- 
2.25.0

From 1666f9082f45415fe7f3608553ff9697149dc876 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:37:46 +0300
Subject: [PATCH 065/275] gnu: Add rust-quickcheck-0.9.

* gnu/packages/crates-io.scm (rust-quickcheck-0.9): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3e5dd24d8e..46e4d937a3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9177,6 +9177,35 @@ to write.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-quickcheck-0.9
+  (package
+    (name "rust-quickcheck")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qi67dg7cf50i23ac7n5qhg4vhhsm6xznhpl2wsqv86s5x551jnm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5))))
+    (home-page
+     "https://github.com/BurntSushi/quickcheck")
+    (synopsis
+     "Automatic property based testing with shrinking")
+    (description
+     "Automatic property based testing with shrinking.")
+    (license (list license:unlicense license:expat))))
+
 ;; Many circular dependencies.
 ;; Dev dependencies are allowed to have them in crates.io.
 (define-public rust-quickcheck-0.8
-- 
2.25.0

From b047eba07b394b65b45ce2bec2593f57c3fe7251 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:31:50 +0300
Subject: [PATCH 063/275] gnu: Add rust-quasi-macros-0.32.

* gnu/packages/crates-io.scm (rust-quasi-macros-0.32): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 69b6080cbf..9370e63adc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9128,6 +9128,34 @@ in terms of the upstream unstable API.")
      "This package provides a quasi-quoting macro system")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-quasi-macros-0.32
+  (package
+    (name "rust-quasi-macros")
+    (version "0.32.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quasi_macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p825s96wa9xcc01pm5f4nlb01nx0pah50qnwkbncrw1q9xwiki9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-quasi-codegen" ,rust-quasi-codegen-0.32))
+       #:cargo-development-inputs
+       (("rust-aster" ,rust-aster-0.41)
+        ("rust-quasi" ,rust-quasi-0.32))))
+    (home-page "https://github.com/serde-rs/quasi")
+    (synopsis "A quasi-quoting macro system")
+    (description
+     "This package provides a quasi-quoting macro system")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
-- 
2.25.0

From 3be5a123dde862990ce8a82931c32542f876d7e9 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:33:23 +0300
Subject: [PATCH 064/275] gnu: Add rust-serde-codegen-0.4.

* gnu/packages/crates-io.scm (rust-serde-codegen-0.4): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9370e63adc..3e5dd24d8e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11234,6 +11234,38 @@ proven statistical guarantees.")
     (description "CBOR support for serde.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-codegen-0.4
+  (package
+    (name "rust-serde-codegen")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0167ghvqs0n8qin8fjx2ihn3gx92m55685qpv4nzihw48h4rq0vq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aster" ,rust-aster-0.41)
+        ("rust-quasi" ,rust-quasi-0.32)
+        ("rust-quasi-macros" ,rust-quasi-macros-0.32)
+        ("rust-syntex" ,rust-syntex-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))
+       #:cargo-development-inputs
+       (("rust-quasi-codegen" ,rust-quasi-codegen-0.32)
+        ("rust-syntex" ,rust-syntex-0.58))))
+    (home-page "https://serde.rs")
+    (synopsis
+     "Macros to auto-generate implementations for the serde framework")
+    (description
+     "Macros to auto-generate implementations for the serde framework")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-derive-1.0
   (package
     (name "rust-serde-derive")
-- 
2.25.0

From a13d1eb3effe23f695f8f3c8eb5d02c40aa45684 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:31:26 +0300
Subject: [PATCH 062/275] gnu: Add rust-quasi-codegen-0.32.

* gnu/packages/crates-io.scm (rust-quasi-codegen-0.32): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b6d01b1ffb..69b6080cbf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9100,6 +9100,34 @@ in terms of the upstream unstable API.")
      "This package provides a quasi-quoting macro system")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-quasi-codegen-0.32
+  (package
+    (name "rust-quasi-codegen")
+    (version "0.32.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quasi_codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1m3nwzn5ip8y86cyfk6hdnbhiinsk2faag7l0cc4q11wl9gy5fai"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aster" ,rust-aster-0.41)
+        ("rust-clippy" ,rust-clippy-0.0)
+        ("rust-syntex" ,rust-syntex-0.58)
+        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+    (home-page "https://github.com/serde-rs/quasi")
+    (synopsis "A quasi-quoting macro system")
+    (description
+     "This package provides a quasi-quoting macro system")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
-- 
2.25.0

From 5eec4f1d15c1af10c86fac42e0cb74bfae6fa2a1 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:30:55 +0300
Subject: [PATCH 061/275] gnu: Add rust-aster-0.41.

* gnu/packages/crates-io.scm (rust-aster-0.41): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 46f8352bab..b6d01b1ffb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -480,6 +480,32 @@ ArrayVec and ArrayString.")
      "Asserts that a value matches a pattern")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-aster-0.41
+  (package
+    (name "rust-aster")
+    (version "0.41.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "aster" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1q704kn23wnwnrxml7w1mxw6a3xb6386x5wgys6ibnyramrxzksc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-compiletest-rs" ,rust-compiletest-rs-0.2)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+    (home-page "https://github.com/serde-rs/aster")
+    (synopsis "A libsyntax ast builder")
+    (description
+     "This package provides a libsyntax ast builder")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-atty-0.2
   (package
     (name "rust-atty")
-- 
2.25.0

From 342a91a932273b67576d085f0785882a22e0fb2e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:29:13 +0300
Subject: [PATCH 060/275] gnu: Add rust-quasi-0.32.

* gnu/packages/crates-io.scm (rust-quasi-0.32): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1d70160e0f..46f8352bab 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9048,6 +9048,32 @@ in terms of the upstream unstable API.")
      "This package provides a pull parser for CommonMark.")
     (license license:expat)))
 
+(define-public rust-quasi-0.32
+  (package
+    (name "rust-quasi")
+    (version "0.32.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quasi" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1csqqgz3aw85q570ywmhb34r3sqgi1sprf8xadfwzlfnai45ri0q"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+    (home-page "https://github.com/serde-rs/quasi")
+    (synopsis "A quasi-quoting macro system")
+    (description
+     "This package provides a quasi-quoting macro system")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
-- 
2.25.0

From ba91d82c0f08b5eb3ca128ff3a4308bf3c2ef0a6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 01:53:02 +0300
Subject: [PATCH 058/275] gnu: rust-rand-xoshiro-0.3: Inherit from
 rust-rand-xoshiro-0.4.

* gnu/packages/crates-io.scm (rust-rand-xoshiro-0.3): Inherit from
rust-rand-xoshiro-0.4.
---
 gnu/packages/crates-io.scm | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6ecc8dda05..9b22b69514 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9765,6 +9765,7 @@ generator that uses the HC-128 algorithm.")
 
 (define-public rust-rand-xoshiro-0.3
   (package
+    (inherit rust-rand-xoshiro-0.4)
     (name "rust-rand-xoshiro")
     (version "0.3.0")
     (source
@@ -9776,7 +9777,6 @@ generator that uses the HC-128 algorithm.")
        (sha256
         (base32
          "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -9784,13 +9784,7 @@ generator that uses the HC-128 algorithm.")
         ("rust-rand-core" ,rust-rand-core-0.5)
         ("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://github.com/rust-random/rand")
-    (synopsis
-     "Xoshiro, xoroshiro and splitmix64 random number generators")
-    (description
-     "Xoshiro, xoroshiro and splitmix64 random number generators.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-bincode" ,rust-bincode-1.1))))))
 
 (define-public rust-rand-xoshiro-0.1
   (package
-- 
2.25.0

From c4798cd8bef0cce2d4e2b2af0d694a3b3a5cafb0 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 02:19:17 +0300
Subject: [PATCH 059/275] gnu: rust-stdweb-0.4: Update to 0.4.20.

* gnu/packages/crates-io.scm (rust-stdweb-0.4): Update to 0.4.20
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9b22b69514..1d70160e0f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11757,7 +11757,7 @@ are met.")
 (define-public rust-stdweb-0.4
   (package
     (name "rust-stdweb")
-    (version "0.4.17")
+    (version "0.4.20")
     (source
      (origin
        (method url-fetch)
@@ -11766,7 +11766,7 @@ are met.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "094giad1v81rxxs4izf88ijc9c6w3c7cr5a7cwwr86mc22xn4hy3"))))
+         "1md14n9rzxzdskz3hpgln8vxfwqsw2cswc0f5nslh4r82rmlj8nh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-- 
2.25.0

From 4b34f3bcb28e19ce09326961c90fe294c05cf3fa Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 01:52:00 +0300
Subject: [PATCH 057/275] gnu: Add rust-rand-xoshiro-0.4.

* gnu/packages/crates-io.scm (rust-rand-xoshiro-0.4): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 67c999d033..6ecc8dda05 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9734,6 +9734,35 @@ generator that uses the HC-128 algorithm.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-xoshiro-0.4
+  (package
+    (name "rust-rand-xoshiro")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand-xoshiro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "013h45rikipv5bda2ixmwx5rwsk9wpc7mr0a77cz20hxi0pdvz59"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page
+     "https://crates.io/crates/rand_xoshiro")
+    (synopsis
+     "Xoshiro, xoroshiro and splitmix64 random number generators")
+    (description
+     "Xoshiro, xoroshiro and splitmix64 random number generators.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rand-xoshiro-0.3
   (package
     (name "rust-rand-xoshiro")
-- 
2.25.0

From d8cf4a94ac5f22afd513e93f03837e144ff4d979 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Sat, 18 Jan 2020 01:45:48 +0300
Subject: [PATCH 056/275] gnu: Add rust-rand-isaac-0.2.

* gnu/packages/crates-io.scm (rust-rand-isaac-0.2): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a51a2c4dd7..67c999d033 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9516,6 +9516,32 @@ generator that uses the HC-128 algorithm.")
      `(#:skip-build? #t
        #:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3))))))
 
+(define-public rust-rand-isaac-0.2
+  (package
+    (name "rust-rand-isaac")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand_isaac" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0xlb9415x518ffkazxhvk8b04i9i548nva4i5l5s34crvjrv1xld"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://crates.io/crates/rand_isaac")
+    (synopsis "ISAAC random number generator")
+    (description "ISAAC random number generator")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rand-isaac-0.1
   (package
     (name "rust-rand-isaac")
-- 
2.25.0

From 30301deeaa45be4d3cd1d19f0f1c207f3712f133 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 18:02:08 +0300
Subject: [PATCH 053/275] gnu: Add rust-syntex-errors-0.58.

* gnu/packages/crates-io.scm (rust-syntex-errors-0.58): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 67e5bb4cd9..0db5e3bd54 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12164,6 +12164,33 @@ cryptographic implementations.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-syntex-errors-0.58
+  (package
+    (name "rust-syntex-errors")
+    (version "0.58.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syntex_errors" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "176vma7sjv6li17q7dsilryac66b76zyis9ampmff2hlsz1caz46"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
+        ("rust-term" ,rust-term-0.4)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.0))))
+    (home-page "https://github.com/serde-rs/syntex")
+    (synopsis "Backport of librustc_errors")
+    (description "Backport of librustc_errors")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-syntex-pos-0.58
   (package
     (name "rust-syntex-pos")
-- 
2.25.0

From ec46f428829efcb64bd50d8393cb02f67f1b773a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 18:07:55 +0300
Subject: [PATCH 055/275] gnu: Add rust-syntex-syntax-0.58.

* gnu/packages/crates-io.scm (rust-syntex-syntax-0.58): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ac44a14bab..a51a2c4dd7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12242,6 +12242,34 @@ cryptographic implementations.")
 syntax extension expansion.")
    (license (list license:expat license:asl2.0))))
 
+(define-public rust-syntex-syntax-0.58
+  (package
+    (name "rust-syntex-syntax")
+    (version "0.58.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syntex_syntax" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14f74l7yzwl6fr9i23k4j23k66qn0gakvhk4jjc9ipb3w6x4s3kf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.8)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
+        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.0))))
+    (home-page "https://github.com/serde-rs/syntex")
+    (synopsis "Backport of libsyntax")
+    (description "Backport of libsyntax")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-sysctl-0.4
   (package
     (name "rust-sysctl")
-- 
2.25.0

From 57192ce04f0a3fc67911c7e77ba8fd7c3daa3470 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 18:02:50 +0300
Subject: [PATCH 054/275] gnu: Add rust-syntex-0.58.

* gnu/packages/crates-io.scm (rust-syntex-0.58): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0db5e3bd54..ac44a14bab 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12214,6 +12214,34 @@ cryptographic implementations.")
     (description "Backport of libsyntax_pos")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-syntex-0.58
+ (package
+   (name "rust-syntex")
+   (version "0.58.1")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "syntex" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "03lgd36cxhc6gzaab0wqvckbhml00s6s73lk34ymf6cklymf7xd8"))))
+   (build-system cargo-build-system)
+   (arguments
+    `(#:skip-build? #t
+      #:cargo-inputs
+      (("rust-syntex-errors" ,rust-syntex-errors-0.58)
+       ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+   (home-page
+    "https://github.com/erickt/rust-syntex")
+   (synopsis
+    "A library that enables compile time syntax extension expansion")
+   (description
+    "This package provides a library that enables compile time
+syntax extension expansion.")
+   (license (list license:expat license:asl2.0))))
+
 (define-public rust-sysctl-0.4
   (package
     (name "rust-sysctl")
-- 
2.25.0

From 1237e136435428391fb3c5a68a7aec4c467364cf Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:59:41 +0300
Subject: [PATCH 052/275] gnu: Add rust-syntex-pos-0.58.

* gnu/packages/crates-io.scm (rust-syntex-pos-0.58): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f259d2782b..67e5bb4cd9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12164,6 +12164,29 @@ cryptographic implementations.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-syntex-pos-0.58
+  (package
+    (name "rust-syntex-pos")
+    (version "0.58.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syntex_pos" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0iqhircpr723da1g97xrrj8smqqz3gxw91cf03sckasjzri4gb8k"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
+    (home-page "https://github.com/serde-rs/syntex")
+    (synopsis "Backport of libsyntax_pos")
+    (description "Backport of libsyntax_pos")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-sysctl-0.4
   (package
     (name "rust-sysctl")
-- 
2.25.0

From 9e2a6d096d9bb9944b99dcaac9f99f259a8d28c1 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:50:31 +0300
Subject: [PATCH 051/275] gnu: Add rust-nix-0.14.

* gnu/packages/crates-io.scm (rust-nix-0.14): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ca005ee043..f259d2782b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7270,6 +7270,36 @@ release (fork of debug_unreachable)")
      "Rust friendly bindings to *nix APIs.")
     (license license:expat)))
 
+(define-public rust-nix-0.14
+  (package
+    (inherit rust-nix-0.15)
+    (name "rust-nix")
+    (version "0.14.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nix" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kmxdlmvnmq8cfpmr3g6wk37rwi2ybdvp1z6z3831m1p23p2nwkc"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-void" ,rust-void-1.0))
+       #:cargo-development-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-caps" ,rust-caps-0.3)
+        ("rust-cc" ,rust-cc-1.0)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-sysctl" ,rust-sysctl-0.1)
+        ("rust-tempfile" ,rust-tempfile-3.0))))))
+
 (define-public rust-no-panic-0.1
   (package
     (name "rust-no-panic")
-- 
2.25.0

From a1580a5567859cd08134107ac49049e9d1c1600a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:47:48 +0300
Subject: [PATCH 049/275] gnu: Add rust-no-panic-0.1.

* gnu/packages/crates-io.scm (rust-no-panic-0.1): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e11a8eb8ec..bd6bdec46e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7270,6 +7270,35 @@ release (fork of debug_unreachable)")
      "Rust friendly bindings to *nix APIs.")
     (license license:expat)))
 
+(define-public rust-no-panic-0.1
+  (package
+    (name "rust-no-panic")
+    (version "0.1.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "no-panic" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0xan5v9ac1aklinc8aw16raq36pb4idjrl502np8gy32gfs6s751"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.0))))
+    (home-page "https://github.com/dtolnay/no-panic")
+    (synopsis
+     "Attribute macro to require that the compiler prove a function can't ever panic")
+    (description
+     "Attribute macro to require that the compiler prove a function can't ever panic.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-nodrop-0.1
   (package
     (name "rust-nodrop")
-- 
2.25.0

From 43e2a2eb167dbdbae137e2e86bd5beb807d964b5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:49:25 +0300
Subject: [PATCH 050/275] gnu: Add rust-sysctl-0.1.

* gnu/packages/crates-io.scm (rust-sysctl-0.1): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bd6bdec46e..ca005ee043 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12162,6 +12162,27 @@ cryptographic implementations.")
      "Simplified interface to libc::sysctl.")
     (license license:expat)))
 
+(define-public rust-sysctl-0.1
+  (package
+    (inherit rust-sysctl-0.4)
+    (name "rust-sysctl")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sysctl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10wxlk4nkzlxp4fg435jmdmfwl4hy0y4w2rcsgs634lvbp8pgksb"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-errno" ,rust-errno-0.2)
+        ("rust-libc" ,rust-libc-0.2))))))
+
 (define-public rust-tar-0.4
   (package
     (name "rust-tar")
-- 
2.25.0

From f2930cb57bfa8da0e816a304e9b876758aa88438 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:44:47 +0300
Subject: [PATCH 048/275] gnu: Add rust-objc-foundation-0.1.

* gnu/packages/crates-io.scm (rust-objc-foundation-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4e9c095ef2..e11a8eb8ec 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7583,6 +7583,34 @@ combinators library.")
      "Rust smart pointers for Objective-C reference counting.")
     (license license:expat)))
 
+(define-public rust-objc-foundation-0.1
+  (package
+    (name "rust-objc-foundation")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "objc-foundation" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1y9bwb3m5fdq7w7i4bnds067dhm4qxv4m1mbg9y61j9nkrjipp8s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-block" ,rust-block-0.1)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-objc-id" ,rust-objc-id-0.1))))
+    (home-page
+     "http://github.com/SSheldon/rust-objc-foundation")
+    (synopsis
+     "Rust wrapper for Objective-C's Foundation framework")
+    (description
+     "Rust wrapper for Objective-C's Foundation framework.")
+    (license license:expat)))
+
 (define-public rust-objc-test-utils-0.0
   (package
     (name "rust-objc-test-utils")
-- 
2.25.0

From e0b56ad68ff5d5cb3e32ccfcf1c79a925a196a40 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:43:48 +0300
Subject: [PATCH 047/275] gnu: Add rust-block-0.1.

* gnu/packages/crates-io.scm (rust-block-0.1): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c869ab9b0e..4e9c095ef2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1006,6 +1006,32 @@ BLAKE2bp hash functions.")
      "Iterator over simple binary blob storage.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-block-0.1
+  (package
+    (name "rust-block")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "block" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16k9jgll25pzsq14f244q22cdv0zb4bqacldg3kx6h89d7piz30d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-objc-test-utils" ,rust-objc-test-utils-0.0))))
+    (home-page
+     "http://github.com/SSheldon/rust-block")
+    (synopsis
+     "Rust interface for Apple's C language extension of blocks")
+    (description
+     "Rust interface for Apple's C language extension of blocks.")
+    (license license:expat)))
+
 (define-public rust-block-buffer-0.7
   (package
     (name "rust-block-buffer")
-- 
2.25.0

From 7c8ee9f918e076acd3d6ec081394c4c4b48b65fb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:37:56 +0300
Subject: [PATCH 046/275] gnu: Add rust-objc-id-0.1.

* gnu/packages/crates-io.scm (rust-objc-id-0.1): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5c21af4f1f..c869ab9b0e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7532,6 +7532,31 @@ combinators library.")
      "Rust interface for Objective-C's throw and try/catch statements.")
     (license license:expat)))
 
+(define-public rust-objc-id-0.1
+  (package
+    (name "rust-objc-id")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "objc_id" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fq71hnp2sdblaighjc82yrac3adfmqzhpr11irhvdfp9gdlsbf9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-objc" ,rust-objc-0.2))))
+    (home-page
+     "http://github.com/SSheldon/rust-objc-id")
+    (synopsis
+     "Rust smart pointers for Objective-C reference counting")
+    (description
+     "Rust smart pointers for Objective-C reference counting.")
+    (license license:expat)))
+
 (define-public rust-objc-test-utils-0.0
   (package
     (name "rust-objc-test-utils")
-- 
2.25.0

From 6c48868605003291fdd2fc97ce3fe68ecd036f0b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:36:29 +0300
Subject: [PATCH 045/275] gnu: Add rust-objc-0.2.

* gnu/packages/crates-io.scm (rust-objc-0.2): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 695bfb1716..5c21af4f1f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7479,6 +7479,33 @@ combinators library.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-objc-0.2
+  (package
+    (name "rust-objc")
+    (version "0.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "objc" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1cbpf6kz8a244nn1qzl3xyhmp05gsg4n313c9m3567625d3innwi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-malloc-buf" ,rust-malloc-buf-0)
+        ("rust-objc-exception" ,rust-objc-exception-0.1))))
+    (home-page
+     "http://github.com/SSheldon/rust-objc")
+    (synopsis
+     "Objective-C Runtime bindings and wrapper for Rust")
+    (description
+     "Objective-C Runtime bindings and wrapper for Rust.")
+    (license license:expat)))
+
 (define-public rust-objc-exception-0.1
   (package
     (name "rust-objc-exception")
-- 
2.25.0

From 3bf251d1d677a5c5d624655b30ab42333aa79412 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:32:03 +0300
Subject: [PATCH 044/275] gnu: Add rust-malloc-buf-0.

* gnu/packages/crates-io.scm (rust-malloc-buf-0): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2bcf8436c4..695bfb1716 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6407,6 +6407,31 @@ implementation of LZMA and xz stream encoding/decoding.")
      "Enables build.rs scripts to invoke gnu_make platform-independently.")
     (license license:expat)))
 
+(define-public rust-malloc-buf-0
+ (package
+   (name "rust-malloc-buf")
+   (version "0.0.6")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "malloc-buf" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1jqr77j89pwszv51fmnknzvd53i1nkmcr8rjrvcxhm4dx1zr1fv2"))))
+   (build-system cargo-build-system)
+   (arguments
+    `(#:skip-build? #t
+      #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+   (home-page
+    "https://github.com/SSheldon/malloc_buf")
+   (synopsis
+    "Structs for handling malloc'd memory passed to Rust")
+   (description
+    "Structs for handling malloc'd memory passed to Rust.")
+   (license license:expat)))
+
 (define-public rust-maplit-1.0
   (package
     (name "rust-maplit")
-- 
2.25.0

From f4d2be13afd694c2d5e069235a20fafb6bce66e6 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:31:15 +0300
Subject: [PATCH 043/275] gnu: Add rust-objc-exception-0.1.

* gnu/packages/crates-io.scm (rust-objc-exception-0.1): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7fea3dd852..2bcf8436c4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7454,6 +7454,32 @@ combinators library.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-objc-exception-0.1
+  (package
+    (name "rust-objc-exception")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "objc-exception" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "191cmdmlypp6piw67y4m8y5swlxf5w0ss8n1lk5xd2l1ans0z5xd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page
+     "http://github.com/SSheldon/rust-objc-exception")
+    (synopsis
+     "Rust interface for Objective-C's throw and try/catch statements")
+    (description
+     "Rust interface for Objective-C's throw and try/catch statements.")
+    (license license:expat)))
+
 (define-public rust-objc-test-utils-0.0
   (package
     (name "rust-objc-test-utils")
-- 
2.25.0

From 348298763c0716bd0a7612c312cf873aedd835b9 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:18:33 +0300
Subject: [PATCH 041/275] gnu: Add rust-compiletest-rs-0.2.

* gnu/packages/crates-io.scm (rust-compiletest-rs-0.2): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 02b12b7561..b3c5724f94 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1802,6 +1802,27 @@ need compiler-rt intrinsics.")
 harness.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-compiletest-rs-0.2
+  (package
+    (inherit rust-compiletest-rs-0.3)
+    (name "rust-compiletest-rs")
+    (version "0.2.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "compiletest_rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0njz4shbhl1pvb6ngpi1wpz2gr5lf2dcha22lpdk995pzrwd6h97"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-tempdir" ,rust-tempdir-0.3))))))
+
 (define-public rust-console-0.7
   (package
     (name "rust-console")
-- 
2.25.0

From d39cbf097ca1ccc5462eca7652200d7046904d40 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Thu, 16 Jan 2020 17:29:52 +0300
Subject: [PATCH 042/275] gnu: Add rust-objc-test-utils-0.0.

* gnu/packages/crates-io.scm (rust-objc-test-utils-0.0): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b3c5724f94..7fea3dd852 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7454,6 +7454,32 @@ combinators library.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-objc-test-utils-0.0
+  (package
+    (name "rust-objc-test-utils")
+    (version "0.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "objc_test_utils" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09rckmp5h9bbns08xzicdlk7y5lxj2ygbg3yqk1cszfnzd5n8kzx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-gcc" ,rust-gcc-0.3))))
+    (home-page
+     "http://github.com/SSheldon/rust-objc")
+    (synopsis
+     "Utilities for testing Objective-C interop")
+    (description
+     "Utilities for testing Objective-C interop.")
+    (license license:expat)))
+
 (define-public rust-object-0.12
   (package
     (name "rust-object")
-- 
2.25.0

From 23afdf4951da0923dc9ce69df62afa26cad5fdb2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:20:22 +0300
Subject: [PATCH 040/275] gnu: Add rust-dwrote-0.9.

* gnu/packages/crates-io.scm (rust-dwrote-0.9): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5bd9542e86..02b12b7561 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2914,6 +2914,34 @@ floating-point primitives to an @code{io::Write}.")
      "A library for running child processes.")
     (license license:expat)))
 
+(define-public rust-dwrote-0.9
+  (package
+    (name "rust-dwrote")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dwrote" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03gzl5pd90nlkmwqmbmjmyz47h7wlblbqrwv5a29npnv0ag3dl8b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/servo/dwrote-rs")
+    (synopsis "Lightweight binding to DirectWrite.")
+    (description
+     "Lightweight binding to DirectWrite.")
+    (license license:mpl2.0)))
+
 (define-public rust-either-1.5
   (package
     (name "rust-either")
-- 
2.25.0

From 02b2413fe1b357472cf05503993e948592866cd2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:17:53 +0300
Subject: [PATCH 039/275] gnu: Add rust-clipboard-win-2.1.

* gnu/packages/crates-io.scm (rust-clipboard-win-2.1): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 052a6b58fa..5bd9542e86 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1614,6 +1614,31 @@ Command Line Argument Parser.")
 colorization.")
     (license license:expat)))
 
+(define-public rust-clipboard-win-2.1
+  (package
+    (name "rust-clipboard-win")
+    (version "2.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clipboard-win" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0431sg4jhabrqf2dliiwhbx9hinb9z4qfcm6914lm5mb17ya5798"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/DoumanAsh/clipboard-win")
+    (synopsis
+     "Provides simple way to interact with Windows clipboard.")
+    (description
+     "This package provides simple way to interact with Windows clipboard.")
+    (license license:expat)))
+
 (define-public rust-clippy-0.0
   (package
     (name "rust-clippy")
-- 
2.25.0

From a7452b203ab6032c139691ab0111b2fbf07cd098 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:13:29 +0300
Subject: [PATCH 038/275] gnu: Add rust-md5-0.3.

* gnu/packages/crates-io.scm (rust-md5-0.3): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 35d12d9ab0..052a6b58fa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6478,6 +6478,22 @@ parallelize and optimize.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-md5-0.3
+  (package
+    (inherit rust-md5-0.6)
+    (name "rust-md5")
+    (version "0.3.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "md5" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0j2s8aqdkhwhy7awga2bmv5n8qq8bgy8672iha9f3y871dm6vibr"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-memchr-2.2
   (package
     (name "rust-memchr")
-- 
2.25.0

From ad2b93474b0e8f1417777d408429f8f47ce264c5 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:12:53 +0300
Subject: [PATCH 037/275] gnu: Add rust-lzw-0.10.

* gnu/packages/crates-io.scm (rust-lzw-0.10): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2558221b81..35d12d9ab0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6268,6 +6268,27 @@ implementation of LZMA and xz stream encoding/decoding.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-lzw-0.10
+  (package
+    (name "rust-lzw")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lzw" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1170dfskhzlh8h2bm333811hykjvpypgnvxyhhm1rllyi2xpr53x"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/nwin/lzw.git")
+    (synopsis "LZW compression and decompression.")
+    (description
+     "LZW compression and decompression.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-mac-0.1
   (package
     (name "rust-mac")
-- 
2.25.0

From d430b65c95f5bbbc7f02263f05f1e9b43abd58dc Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:12:13 +0300
Subject: [PATCH 036/275] gnu: Add rust-khronos-api-3.

* gnu/packages/crates-io.scm (rust-khronos-api-3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c40284c831..2558221b81 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5769,6 +5769,29 @@ friction with idiomatic Rust structs to ease interopability.")
 kernel32.")
     (license license:expat)))
 
+(define-public rust-khronos-api-3
+  (package
+    (name "rust-khronos-api")
+    (version "3.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "khronos-api" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p0xj5mlbagqyvvnv8wmv3cr7l9y1m153888pxqwg3vk3mg5inz2"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/brendanzab/gl-rs/")
+    (synopsis
+     "The Khronos XML API Registry, exposed as byte string constants")
+    (description
+     "The Khronos XML API Registry, exposed as byte string constants.")
+    (license license:asl2.0)))
+
 (define-public rust-language-tags-0.2
   (package
     (name "rust-language-tags")
-- 
2.25.0

From 5846e685fb1e8b422735cd819c31bd660ed179ff Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:11:16 +0300
Subject: [PATCH 035/275] gnu: Add rust-glutin-emscripten-sys-0.1.

* gnu/packages/crates-io.scm (rust-glutin-emscripten-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 84cb5725ba..c40284c831 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4572,6 +4572,27 @@ the process of matching one or more glob patterns against a single candidate
 path simultaneously, and returning all of the globs that matched.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-glutin-emscripten-sys-0.1
+  (package
+    (name "rust-glutin-emscripten-sys")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "glutin_emscripten_sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ix0jmm8p5if4qarzdfl5mz9rbq4hhgqarakb3bzwvyz13dkynr4"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/tomaka/glutin")
+    (synopsis "The emscripten bindings for glutin")
+    (description
+     "The emscripten bindings for glutin")
+    (license license:asl2.0)))
+
 (define-public rust-goblin-0.0
   (package
     (name "rust-goblin")
-- 
2.25.0

From 7236977c174d33cfef1b1fbd2325ea6f5272b2fc Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:10:19 +0300
Subject: [PATCH 034/275] gnu: Add rust-downcast-rs-1.1.

* gnu/packages/crates-io.scm (rust-downcast-rs-1.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bae93caa0c..84cb5725ba 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2799,6 +2799,30 @@ from macros.")
     (description "Command line argument parsing.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-downcast-rs-1.1
+  (package
+    (name "rust-downcast-rs")
+    (version "1.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "downcast-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xhs2qj02k9m4mm5fgh19y88850y9jsnwwlblf2ffc91gjs6xfjj"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/marcianx/downcast-rs")
+    (synopsis
+     "Trait object downcasting support using only safe Rust")
+    (description
+     "Trait object downcasting support using only safe Rust.  It supports type
+parameters, associated types, and type constraints.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-dtoa-0.4
   (package
     (name "rust-dtoa")
-- 
2.25.0

From 56f32223764701cefbe2f00fe747397856d08428 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:09:21 +0300
Subject: [PATCH 033/275] gnu: Add rust-dispatch-0.1.

* gnu/packages/crates-io.scm (rust-dispatch-0.1): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cc1083b7bc..bae93caa0c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2730,6 +2730,29 @@ memory but not other memory.  This package provides a discard trait which allows
 for intentionally leaking memory")
     (license license:expat)))
 
+(define-public rust-dispatch-0.1
+  (package
+    (name "rust-dispatch")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dispatch" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "http://github.com/SSheldon/rust-dispatch")
+    (synopsis
+     "Rust wrapper for Apple's Grand Central Dispatch.")
+    (description
+     "Rust wrapper for Apple's Grand Central Dispatch.")
+    (license license:expat)))
+
 (define-public rust-doc-comment-0.3
   (package
     (name "rust-doc-comment")
-- 
2.25.0

From 1ff9a4873bb0a1401a85ca8b95a18e292e1c99a1 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:04:31 +0300
Subject: [PATCH 032/275] gnu: Add rust-bitflags-0.7.

* gnu/packages/crates-io.scm (rust-bitflags-0.7): New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 29dfbb7bb4..cc1083b7bc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -885,6 +885,21 @@ behave like a set of bitflags.")
          "1x5z8hmirpnapkx6sww8gkc6x0q8ppni0lbsigm3mrba5byfjw0k"))))
     (arguments '(#:skip-build? #t))))
 
+(define-public rust-bitflags-0.7
+  (package
+    (inherit rust-bitflags-0.8)
+    (name "rust-bitflags")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitflags" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))))
+
 (define-public rust-blake2-rfc-0.2
   (package
     (name "rust-blake2-rfc")
-- 
2.25.0

From dfeec6b80037c031440f195d032f7364fb60e9f3 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:04:11 +0300
Subject: [PATCH 031/275] gnu: Add rust-bitflags-0.8.

* gnu/packages/crates-io.scm (rust-bitflags-0.8): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ee9fbcfcd4..29dfbb7bb4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -869,6 +869,22 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-bitflags-0.8
+  (package
+    (inherit rust-bitflags-1)
+    (name "rust-bitflags")
+    (version "0.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitflags" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1x5z8hmirpnapkx6sww8gkc6x0q8ppni0lbsigm3mrba5byfjw0k"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-blake2-rfc-0.2
   (package
     (name "rust-blake2-rfc")
-- 
2.25.0

From 9e601e01649ff21f740f490f1536a622b372c1be Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:03:03 +0300
Subject: [PATCH 030/275] gnu: Add rust-x11-dl-2.

* gnu/packages/crates-io.scm (rust-x11-dl-2): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3efcef8f9a..ee9fbcfcd4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14342,6 +14342,35 @@ color in a Windows console.")
     (description "x11 clipboard support for Rust.")
     (license license:expat)))
 
+(define-public rust-x11-dl-2
+  (package
+    (name "rust-x11-dl")
+    (version "2.18.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "x11-dl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0n1w837xagxqgwx2880d7c9ks6l3g1kk00yd75afdaiv58sf2rdy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))
+       #:cargo-development-inputs
+       (("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page
+     "https://github.com/erlepereira/x11-rs.git")
+    (synopsis "X11 library bindings for Rust")
+    (description "X11 library bindings for Rust")
+    (license license:cc0)))
+
 (define-public rust-xattr-0.2
   (package
     (name "rust-xattr")
-- 
2.25.0

From b5238997d5e9bac5a8c9ac5bc7f2126395fb93eb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:02:18 +0300
Subject: [PATCH 029/275] gnu: Add rust-maybe-uninit-2.0.

* gnu/packages/crates-io.scm (rust-maybe-uninit-2.0): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9fc2fbcc7e..3efcef8f9a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6292,6 +6292,29 @@ parallelize and optimize.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-maybe-uninit-2.0
+  (package
+    (name "rust-maybe-uninit")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "maybe-uninit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "004y0nzmpfdrhz251278341z6ql34iv1k6dp1h6af7d6nd6jwc30"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/est31/maybe-uninit")
+    (synopsis
+     "MaybeUninit for friends of backwards compatibility")
+    (description
+     "MaybeUninit for friends of backwards compatibility")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-md5-0.6
   (package
     (name "rust-md5")
-- 
2.25.0

From 6ce4502e0378fc5773879b7c781acad248102534 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:00:58 +0300
Subject: [PATCH 028/275] gnu: Add rust-x11-clipboard-0.4.

* gnu/packages/crates-io.scm (rust-x11-clipboard-0.4): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d669f82bc8..9fc2fbcc7e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14296,6 +14296,29 @@ color in a Windows console.")
     (description "X11 library bindings for Rust")
     (license license:cc0)))
 
+(define-public rust-x11-clipboard-0.4
+  (package
+    (name "rust-x11-clipboard")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "x11-clipboard" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9))))
+    (home-page
+     "https://github.com/quininer/x11-clipboard")
+    (synopsis "x11 clipboard support for Rust.")
+    (description "x11 clipboard support for Rust.")
+    (license license:expat)))
+
 (define-public rust-xattr-0.2
   (package
     (name "rust-xattr")
-- 
2.25.0

From 0dc6e85785b3c96eb0bebc9beba8e1f0d5cc8975 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 04:00:08 +0300
Subject: [PATCH 027/275] gnu: Add rust-xcb-0.9.

* gnu/packages/crates-io.scm (rust-xcb-0.9): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b0d59d20dd..d669f82bc8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14323,6 +14323,34 @@ extended attributes.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-xcb-0.9
+  (package
+    (name "rust-xcb")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xcb" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19i2pm8alpn2f0m4jg8bsw6ckw8irj1wjh55h9pi2fcb2diny1b2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-x11" ,rust-x11-2))
+       #:cargo-development-inputs
+       (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/rtbo/rust-xcb")
+    (synopsis "Rust bindings and wrappers for XCB")
+    (description
+     "Rust bindings and wrappers for XCB")
+    (license license:expat)))
+
 (define-public rust-xdg-2.2
   (package
     (name "rust-xdg")
-- 
2.25.0

From 4ce829eb24aed6d24d1f25fc1e529d9ea281ee1f Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:58:11 +0300
Subject: [PATCH 026/275] gnu: Add rust-x11-2.

* gnu/packages/crates-io.scm (rust-x11-2): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 39989fde28..b0d59d20dd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14270,6 +14270,32 @@ color in a Windows console.")
      "Contains function definitions for the Windows API library ws2_32.")
     (license license:expat)))
 
+(define-public rust-x11-2
+  (package
+    (name "rust-x11")
+    (version "2.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "x11" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dg2d0yrqmwg6prpxkw3vpmwzwxnaki2cn0v64ylh5gp4cqpws9r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page
+     "https://github.com/erlepereira/x11-rs.git")
+    (synopsis "X11 library bindings for Rust")
+    (description "X11 library bindings for Rust")
+    (license license:cc0)))
+
 (define-public rust-xattr-0.2
   (package
     (name "rust-xattr")
-- 
2.25.0

From d4502b7933d5029337b7e1d3e6477e508fe7961b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:56:09 +0300
Subject: [PATCH 025/275] gnu: Add rust-futures-channel-0.3.

* gnu/packages/crates-io.scm (rust-futures-channel-0.3): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d4dfe80dfb..39989fde28 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3831,6 +3831,33 @@ featuring zero allocations, composability, and iterator-like interfaces.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-channel-0.3
+  (package
+    (name "rust-futures-channel")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-channel" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11lvk749n61654ad40xn751gmxzwb697nwh36s5gs0ni2z59ibpw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-futures-sink" ,rust-futures-sink-0.3))))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "Channels for asynchronous communication using futures-rs")
+    (description
+     "Channels for asynchronous communication using futures-rs.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-channel-preview-0.3
   (package
     (name "rust-futures-channel-preview")
-- 
2.25.0

From 5007aafe0e8721c907c794189d5a5f25561c127d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:55:21 +0300
Subject: [PATCH 024/275] gnu: Add rust-futures-core-0.3.

* gnu/packages/crates-io.scm (rust-futures-core-0.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index eab773dd96..d4dfe80dfb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3856,6 +3856,29 @@ featuring zero allocations, composability, and iterator-like interfaces.")
      "Channels for asynchronous communication using futures-rs.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-futures-core-0.3
+  (package
+    (name "rust-futures-core")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rh8q6pg08dizk5hwksvjgvkw26s3sr3b199nggv3ypyg914qmkr"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "The core traits and types in for the `futures` library")
+    (description
+     "The core traits and types in for the `futures` library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-core-preview-0.3
   (package
     (name "rust-futures-core-preview")
-- 
2.25.0

From 8431d7d87fdb1461f940f215a32e57957206d223 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:46:01 +0300
Subject: [PATCH 023/275] gnu: Add rust-unicode-xid-0.0.

* gnu/packages/crates-io.scm (rust-unicode-xid-0.0): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 683a38fe59..eab773dd96 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13276,6 +13276,22 @@ or XID_Continue properties according to Unicode Standard Annex #31.")
          (base32
           "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
 
+(define-public rust-unicode-xid-0.0
+  (package
+    (inherit rust-unicode-xid-0.1)
+    (name "rust-unicode-xid")
+    (version "0.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-xid" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p5l9h3n3i53cp95fb65p8q3vbwib79ryd9z5z5h5kr9gl6qc7wc"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-unindent-0.1
   (package
     (name "rust-unindent")
-- 
2.25.0

From 1d967958655d35c25088e592369fa94b352fe652 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:44:26 +0300
Subject: [PATCH 022/275] gnu: Add rust-takeable-option-0.4.

* gnu/packages/crates-io.scm (rust-takeable-option-0.4): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1cfa022d47..683a38fe59 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11669,6 +11669,27 @@ memory all at once.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-takeable-option-0.4
+  (package
+    (name "rust-takeable-option")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "takeable-option" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://docs.rs/takeable-option/")
+    (synopsis "A small wrapper around option.")
+    (description
+     "This package provides a small wrapper around option.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-tempdir-0.3
   (package
     (name "rust-tempdir")
-- 
2.25.0

From 4094d364847eda4213412ccd03e56a56b0708393 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:40:42 +0300
Subject: [PATCH 021/275] gnu: Add rust-spin-0.4.

* gnu/packages/crates-io.scm (rust-spin-0.4): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3b54f2cbb0..1cfa022d47 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11047,6 +11047,22 @@ initializers are available.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-spin-0.4
+  (package
+    (inherit rust-spin-0.5)
+    (name "rust-spin")
+    (version "0.4.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "spin" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-stable-deref-trait-1.1
   (package
     (name "rust-stable-deref-trait")
-- 
2.25.0

From aca0bd2c4392942616b2146506439e6be8fa02d2 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:35:43 +0300
Subject: [PATCH 020/275] gnu: Add rust-subtle-1.0.

* gnu/packages/crates-io.scm (rust-subtle-1.0): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6083419f5a..3b54f2cbb0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11479,6 +11479,30 @@ and Jaro-Winkler.")
         (base32
          "0z3zzvmilfldp4xw42qbkjf901dcnbk58igrzsvivydjzd24ry37"))))))
 
+(define-public rust-subtle-1.0
+  (package
+    (name "rust-subtle")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "subtle" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://dalek.rs/")
+    (synopsis
+     "Pure-Rust traits and utilities for constant-time
+cryptographic implementations")
+    (description
+     "Pure-Rust traits and utilities for constant-time
+cryptographic implementations.")
+    (license license:bsd-3)))
+
 (define-public rust-syn-1.0
   (package
     (name "rust-syn")
-- 
2.25.0

From 1479b096bcfc9e7bb23c1493d51eb51511afeb7c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:34:30 +0300
Subject: [PATCH 018/275] gnu: Add rust-strsim-0.6.

* gnu/packages/crates-io.scm (rust-strsim-0.6): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index abc89ccf33..cf0c3975b6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11448,6 +11448,22 @@ and Jaro-Winkler.")
          (base32
           "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
 
+(define-public rust-strsim-0.6
+  (package
+    (inherit rust-strsim-0.8)
+    (name "rust-strsim")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "strsim" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-syn-1.0
   (package
     (name "rust-syn")
-- 
2.25.0

From caca0861dd066e1a606f065eb0b68c511616d33d Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:35:13 +0300
Subject: [PATCH 019/275] gnu: Add rust-strsim-0.5.

* gnu/packages/crates-io.scm (rust-strsim-0.5): New variable.
---
 gnu/packages/crates-io.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cf0c3975b6..6083419f5a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11464,6 +11464,21 @@ and Jaro-Winkler.")
          "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))
     (arguments '(#:skip-build? #t))))
 
+(define-public rust-strsim-0.5
+  (package
+    (inherit rust-strsim-0.6)
+    (name "rust-strsim")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "strsim" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0z3zzvmilfldp4xw42qbkjf901dcnbk58igrzsvivydjzd24ry37"))))))
+
 (define-public rust-syn-1.0
   (package
     (name "rust-syn")
-- 
2.25.0

From 4012462d3c9d83d5d8e9333466db90606c66f958 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:33:28 +0300
Subject: [PATCH 017/275] gnu: Add rust-futures-task-0.3.

* gnu/packages/crates-io.scm (rust-futures-task-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4bd335219f..abc89ccf33 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4047,6 +4047,27 @@ futures-rs library.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-task-0.3
+  (package
+    (name "rust-futures-task")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-task" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1yg5d7b3z58mhqbrax5a0qdsfvzfclwyqvw5k3i41x4wnbb55bhb"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis "Tools for working with tasks")
+    (description "Tools for working with tasks.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-util-preview-0.3
   (package
     (name "rust-futures-util-preview")
-- 
2.25.0

From bc9b3616852bea87a9325ae8fda526c990d9da9c Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:33:05 +0300
Subject: [PATCH 016/275] gnu: Add rust-futures-sink-0.3.

* gnu/packages/crates-io.scm (rust-futures-sink-0.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f47fe14730..4bd335219f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4002,6 +4002,29 @@ library.")
 @code{Future}s at once and handling the first one to complete.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-futures-sink-0.3
+  (package
+    (name "rust-futures-sink")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-sink" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05iwskzxq3yqvxv9l1kqnd7kkmp0dwc39fnvwrcjsg76z8zf66qp"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "The asynchronous `Sink` trait for the futures-rs library")
+    (description
+     "The asynchronous `Sink` trait for the futures-rs library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-sink-preview-0.3
   (package
     (name "rust-futures-sink-preview")
-- 
2.25.0

From a76c8373e487cd550e39f1311bb6f0f60616507b Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:32:29 +0300
Subject: [PATCH 015/275] gnu: Add rust-futures-io-0.3.

* gnu/packages/crates-io.scm (rust-futures-io-0.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 80d03d81f0..f47fe14730 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3929,6 +3929,29 @@ the computation on the threads themselves.")
 library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-futures-io-0.3
+  (package
+    (name "rust-futures-io")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-io" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zxm41fmkrb0r39ajk3rr9invcd5bdwlafazn8m9aw4y49ymfxp6"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://rust-lang-nursery.github.io/futures-rs")
+    (synopsis
+     "The `AsyncRead` and `AsyncWrite` traits for the futures-rs library")
+    (description
+     "The `AsyncRead` and `AsyncWrite` traits for the futures-rs library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-futures-io-preview-0.3
   (package
     (name "rust-futures-io-preview")
-- 
2.25.0

From a641d2e01dc59638ed42ba45ec3e93ec9766769e Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:30:54 +0300
Subject: [PATCH 014/275] gnu: Add rust-rustc-tools-util-0.2.

* gnu/packages/crates-io.scm (rust-rustc-tools-util-0.2): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 143b22fc76..80d03d81f0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9903,6 +9903,29 @@ rust-lang/rust integration.")
 require unstable language features.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-rustc-tools-util-0.2
+  (package
+    (name "rust-rustc-tools-util")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc_tools_util" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vj4ymv29igs7n52m12k138zbsn5k5d7ya4sys6lig7sx7ddl9dp"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/rust-lang/rust-clippy")
+    (synopsis
+     "small helper to generate version information for git packages")
+    (description
+     "small helper to generate version information for git packages")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustc-version-0.2
   (package
     (name "rust-rustc-version")
-- 
2.25.0

From 89e994b08bd08a7be1476f99f710859b15d73987 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:30:08 +0300
Subject: [PATCH 013/275] gnu: Add rust-proc-macro-hack-impl-0.4.

* gnu/packages/crates-io.scm (rust-proc-macro-hack-impl-0.4): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 199d8b52df..143b22fc76 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8270,6 +8270,29 @@ dependency to expose a precomputed hash.")
      "Procedural macros in expression position.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-proc-macro-hack-impl-0.4
+  (package
+    (name "rust-proc-macro-hack-impl")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "proc-macro-hack-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hk8g6s0zsi1ps0w48la2s8q5iqq42g8jfrgq3l2v04l2p5pvi1q"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/dtolnay/proc-macro-hack")
+    (synopsis
+     "Procedural functionlike!() macros using only Macros 1.1")
+    (description
+     "Procedural functionlike!() macros using only Macros 1.1")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-proc-macro-nested-0.1
   (package
     (name "rust-proc-macro-nested")
-- 
2.25.0

From 1bbc7baf86c4d36fdac402b243a4664f83230f94 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:29:13 +0300
Subject: [PATCH 012/275] gnu: Add rust-podio-0.1.

* gnu/packages/crates-io.scm (rust-podio-0.1): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3eff1eccb7..199d8b52df 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8172,6 +8172,28 @@ applications.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-podio-0.1
+  (package
+    (name "rust-podio")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "podio" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ga5arhwakj5rwrqzf9410zrbwnf24jd59af8kr9rgwbd6vb83vq"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/mvdnes/podio.git")
+    (synopsis
+     "Additional trait for Read and Write to read and write Plain Old Data")
+    (description
+     "Additional trait for Read and Write to read and write Plain Old Data")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ppv-lite86-0.2
   (package
     (name "rust-ppv-lite86")
-- 
2.25.0

From 4d751be8ada0f9242902325ba18ff7b4926adcc4 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:28:39 +0300
Subject: [PATCH 011/275] gnu: Add rust-mint-0.5.

* gnu/packages/crates-io.scm (rust-mint-0.5): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6d16295ab3..3eff1eccb7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6435,6 +6435,27 @@ drop-in replacement for miniz.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-mint-0.5
+  (package
+    (name "rust-mint")
+    (version "0.5.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mint" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0c4190gr348fkfijij7vm19iagwl36mssj1irc9f6m448hbhgn68"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/kvark/mint")
+    (synopsis "Math interoperability standard types")
+    (description
+     "Math interoperability standard types")
+    (license license:expat)))
+
 (define-public rust-mio-0.6
   (package
     (name "rust-mio")
-- 
2.25.0

From 28ba7450eba74ce55971d8965345daf5e54652bf Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:27:53 +0300
Subject: [PATCH 010/275] gnu: Add rust-make-cmd-0.1.

* gnu/packages/crates-io.scm (rust-make-cmd-0.1): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 99b452b08a..6d16295ab3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6050,6 +6050,29 @@ implementation of LZMA and xz stream encoding/decoding.")
      "This package provides a collection of great and ubiqutitous macros.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-make-cmd-0.1
+  (package
+    (name "rust-make-cmd")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "make-cmd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ly0lc5p1a0qdiqnh19ly3snb9q83sjbbb1njvh8a5xgx3xqmjm8"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/mneumann/make-cmd-rs")
+    (synopsis
+     "Enables build.rs scripts to invoke gnu_make platform-independently.")
+    (description
+     "Enables build.rs scripts to invoke gnu_make platform-independently.")
+    (license license:expat)))
+
 (define-public rust-maplit-1.0
   (package
     (name "rust-maplit")
-- 
2.25.0

From ac2bc9127cf76008ef4d601143ed069aa8459f1a Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:26:55 +0300
Subject: [PATCH 009/275] gnu: Add rust-itoa-0.3.

* gnu/packages/crates-io.scm (rust-itoa-0.3): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8106370396..99b452b08a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5353,6 +5353,22 @@ primitives to an @code{io::Write}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-itoa-0.3
+  (package
+    (inherit rust-itoa-0.4)
+    (name "rust-itoa")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "itoa" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "136vwi6l2k1vrlvfx49lhficj813pk88xrcx1q3axqh1mwms6943"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-itoa-0.1
  (package
    (inherit rust-itoa-0.4)
-- 
2.25.0

From 8644e7a754b9b2ed57185174d2f791be8d664dc7 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:24:40 +0300
Subject: [PATCH 008/275] gnu: Add rust-bresenham-0.1.

* gnu/packages/crates-io.scm (rust-bresenham-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a28ed7040c..8106370396 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -699,6 +699,30 @@ and no more (caveat: black_box is still missing!).")
 that uses Serde for transforming structs into bytes and vice versa!")
     (license license:expat)))
 
+(define-public rust-bresenham-0.1
+  (package
+    (name "rust-bresenham")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bresenham" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mvg3zcyll0m3z79jwbg183ha4kb7bw06rd286ijwvgn4mi13hdz"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/mbr/bresenham-rs")
+    (synopsis
+     "A fast, iterator-based integer-only implementation of
+Bresenham's line algorithm.")
+    (description
+     "This package provides a fast, iterator-based integer-only implementation of
+Bresenham's line algorithm.")
+    (license license:expat)))
+
 (define-public rust-generator-0.6
   (package
     (name "rust-generator")
-- 
2.25.0

From b0d4b2ed9d42cb68d8d169ffa257e0e0f65f7561 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:24:17 +0300
Subject: [PATCH 007/275] gnu: Add rust-assert-matches-1.3.

* gnu/packages/crates-io.scm (rust-assert-matches-1.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0e5abe68c2..a28ed7040c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -457,6 +457,29 @@ ArrayVec and ArrayString.")
      "ASCII-only equivalents to @code{char}, @code{str} and @code{String}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-assert-matches-1.3
+  (package
+    (name "rust-assert-matches")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "assert_matches" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rar61v00gz2aniid0mylxcr4q98s6l77c3hvbszmg57kj10msvx"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/murarth/assert_matches")
+    (synopsis
+     "Asserts that a value matches a pattern")
+    (description
+     "Asserts that a value matches a pattern")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-atty-0.2
   (package
     (name "rust-atty")
-- 
2.25.0

From f2f4f49ffcedc5a13e33ec313ae5b21899de5adf Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:23:44 +0300
Subject: [PATCH 006/275] gnu: Add rust-approx-0.1.

* gnu/packages/crates-io.scm (rust-approx-0.1): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9fa7dccb3b..0e5abe68c2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -278,6 +278,22 @@ text or blue underlined text, on ANSI terminals.")
      "Approximate floating point equality comparisons and assertions.")
     (license license:asl2.0)))
 
+(define-public rust-approx-0.1
+  (package
+    (inherit rust-approx-0.3)
+    (name "rust-approx")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "approx" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-arc-swap-0.3
   (package
     (name "rust-arc-swap")
-- 
2.25.0

From 77293c2166f4629bb0fb439dac54b4c15242c1bf Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:18:12 +0300
Subject: [PATCH 005/275] gnu: Add rust-quote-0.3.

* gnu/packages/crates-io.scm (rust-quote-0.3): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ebe6e7afdc..9fa7dccb3b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8413,6 +8413,22 @@ to write.")
          (base32
           "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))))
 
+(define-public rust-quote-0.3
+  (package
+    (inherit rust-quote-0.6)
+    (name "rust-quote")
+    (version "0.3.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quote" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0yhnnix4dzsv8y4wwz4csbnqjfh73al33j35msr10py6cl5r4vks"))))
+    (arguments '(#:skip-build? #t))))
+
 (define-public rust-rand-0.7
   (package
     (name "rust-rand")
-- 
2.25.0

From f56318372c18512976aa1402a5cce05919dae729 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:16:01 +0300
Subject: [PATCH 004/275] gnu: Add rust-android-glue-0.2.

* gnu/packages/crates-io.scm (rust-android-glue-0.2): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f6407cb89a..ebe6e7afdc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -185,6 +185,27 @@ Rust, using gimli.")
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0))))))
 
+(define-public rust-android-glue-0.2
+  (package
+    (name "rust-android-glue")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "android-glue" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "01y495x4i9vqkwmklwn2xk7sqg666az2axjcpkr4iwngdwi48100"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+     "https://github.com/tomaka/android-rs-glue")
+    (synopsis "Glue for the Android JNI")
+    (description "Glue for the Android JNI")
+    (license license:expat)))
+
 (define-public rust-ansi-term-0.11
   (package
     (name "rust-ansi-term")
-- 
2.25.0

From 28c3f9a95faf4e76c08ca34d35060b6d43212124 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:14:52 +0300
Subject: [PATCH 003/275] gnu: Add rust-utf8parse-0.1.

* gnu/packages/crates-io.scm (rust-utf8parse-0.1): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 66aef3c53c..f6407cb89a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13080,6 +13080,26 @@ untrusted inputs in Rust.")
      "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
     (license (list license:expat license:unlicense))))
 
+(define-public rust-utf8parse-0.1
+  (package
+    (name "rust-utf8parse")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf8parse" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zamsj2986shm4x9zncjf2m5qy9scaw7qnxw4f89b2afpg6a8wl7"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/jwilm/vte")
+    (synopsis "Table-driven UTF-8 parser")
+    (description "Table-driven UTF-8 parser")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-uuid-0.7
   (package
     (name "rust-uuid")
-- 
2.25.0

From 081c25a90c94bf95f09e103adb3b545d4f73d0bb Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:11:02 +0300
Subject: [PATCH 002/275] gnu: Add rust-xml-rs-0.8.

* gnu/packages/crates-io.scm (rust-xml-rs-0.8): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5983993694..66aef3c53c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13846,6 +13846,26 @@ to XDG Base Directory specification")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-xml-rs-0.8
+  (package
+    (name "rust-xml-rs")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xml-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1db4v716rbpgjiasaim2s17rmvsfcq1qzwg6nji6mdf5k34i46sl"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/netvl/xml-rs")
+    (synopsis "An XML library in pure Rust")
+    (description "An XML library in pure Rust")
+    (license license:expat)))
+
 (define-public rust-yaml-rust-0.4
   (package
     (name "rust-yaml-rust")
-- 
2.25.0

From 62d6ad5f4488940319b761eeca1e17119af1f435 Mon Sep 17 00:00:00 2001
From: Valentin Ignatev <[email-masked]>
Date: Wed, 15 Jan 2020 03:04:28 +0300
Subject: [PATCH 001/275] gnu: Add rust-compiler-error-0.1.

* gnu/packages/crates-io.scm (rust-compiler-error-0.1): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a5f224f99e..5983993694 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1603,6 +1603,27 @@ need compiler-rt intrinsics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-compiler-error-0.1
+  (package
+    (name "rust-compiler-error")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "compiler_error" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0irh7c0gznk2k6mj3cmqw7x4pg59lppmy1y8d6k5xc926rnmz5zg"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/lu-zero/compiler_error")
+    (synopsis "Triggerable compiler error")
+    (description "Triggerable compiler error")
+    (license license:expat)))
+
 (define-public rust-compiletest-rs-0.3
   (package
     (name "rust-compiletest-rs")
-- 
2.25.0