Subject: [PATCH] Add Alacritty and many Rust dependencies
From: Valentin Ignatev <[email-masked]>
To: [email-masked]
Date: Sun, 2 Feb 2020 23:46:14 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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