about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/crates-io.scm2805
1 files changed, 2699 insertions, 106 deletions
diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm
index 39e9e17..3ccb71e 100644
--- a/gn/packages/crates-io.scm
+++ b/gn/packages/crates-io.scm
@@ -33,10 +33,7 @@
     (arguments
      `(#:cargo-development-inputs
        (("rust-libc" ,rust-libc))
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build)))) ; only available for macOS
+       #:skip-build? #t)) ; Only available for macOS.
     (home-page "https://github.com/blas-lapack-rs/accelerate-src")
     (synopsis "Source of BLAS and LAPACK via the Accelerate framework")
     (description
@@ -194,6 +191,26 @@
         ("rust-serde" ,rust-serde)
         ("rust-serde-derive" ,rust-serde-derive))))))
 
+(define-public rust-android-glue
+  (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)
+    (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.12
   (package
     (name "rust-ansi-term")
@@ -223,6 +240,22 @@
       "Library for ANSI terminal colours and styles (bold, underline)")
     (license license:expat)))
 
+(define-public rust-ansi-term-0.9
+  (package
+    (inherit rust-ansi-term)
+    (name "rust-ansi-term")
+    (version "0.9.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ansi-term" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13"))))
+    (arguments '())))
+
 (define-public rust-approx
   (package
     (name "rust-approx")
@@ -246,6 +279,22 @@
      "Approximate floating point equality comparisons and assertions.")
     (license license:asl2.0)))
 
+(define-public rust-approx-0.1
+  (package
+    (inherit rust-approx)
+    (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 '())))
+
 (define-public rust-argon2rs
   (package
     (name "rust-argon2rs")
@@ -516,8 +565,8 @@ password-based key derivation.")
       `(#:cargo-inputs
         (("rust-byteorder" ,rust-byteorder))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
-         ("rust-rand" ,rust-rand))))
+        (("rust-criterion" ,rust-criterion-0.2)
+         ("rust-rand" ,rust-rand-0.6))))
     (home-page
       "https://github.com/marshallpierce/rust-base64")
     (synopsis
@@ -728,6 +777,20 @@ password-based key derivation.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-bitflags-0.9
+  (package
+    (inherit rust-bitflags)
+    (name "rust-bitflags")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitflags" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "19dk39gfwmhi3iy1x0wgml1fv1bkb525ywy25zwihbm063i05zaf"))))))
+
 (define-public rust-bitflags-0.8
   (package
     (inherit rust-bitflags)
@@ -737,11 +800,10 @@ password-based key derivation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "bitflags" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1x5z8hmirpnapkx6sww8gkc6x0q8ppni0lbsigm3mrba5byfjw0k"))))))
+         (base32
+          "1x5z8hmirpnapkx6sww8gkc6x0q8ppni0lbsigm3mrba5byfjw0k"))))))
 
 (define-public rust-bitflags-0.7
   (package
@@ -752,11 +814,10 @@ password-based key derivation.")
       (origin
         (method url-fetch)
         (uri (crate-uri "bitflags" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))))
+         (base32
+          "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))))
 
 (define-public rust-blake2-rfc
   (package
@@ -772,12 +833,19 @@ password-based key derivation.")
           "0034g47hyq2bzmk40895ill1mbnpmmjakdq3dmm9clidvl5m6vax"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:cargo-inputs
-        (("rust-arrayvec" ,rust-arrayvec)
-         ("rust-constant-time-eq" ,rust-constant-time-eq)
-         ("rust-clippy" ,rust-clippy))
-        #:cargo-development-inputs
-        (("rust-data-encoding" ,rust-data-encoding))))
+     `(#:cargo-inputs
+       (("rust-arrayvec" ,rust-arrayvec)
+        ("rust-constant-time-eq" ,rust-constant-time-eq)
+        ("rust-clippy" ,rust-clippy))
+       #:cargo-development-inputs
+       (("rust-data-encoding" ,rust-data-encoding))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'ddont-require-rust-clippy
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("0.0.41") "0.0"))
+             #t)))))
     (home-page "https://github.com/cesarb/blake2-rfc")
     (synopsis "pure Rust implementation of BLAKE2 based on RFC 7693")
     (description
@@ -857,6 +925,31 @@ length} and @code{key length} parameters can be used.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-block
+  (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
+      `(#:cargo-development-inputs
+        (("rust-objc-test-utils" ,rust-objc-test-utils))))
+    (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-bodyparser
   (package
     (name "rust-bodyparser")
@@ -905,7 +998,7 @@ length} and @code{key length} parameters can be used.")
          ("rust-regex-automata" ,rust-regex-automata)
          ("rust-serde" ,rust-serde))
         #:cargo-development-inputs
-        (("rust-quickcheck" ,rust-quickcheck)
+        (("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-ucd-parse" ,rust-ucd-parse)
          ("rust-unicode-segmentation"
           ,rust-unicode-segmentation))))
@@ -932,8 +1025,8 @@ length} and @code{key length} parameters can be used.")
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
-         ("rust-quickcheck" ,rust-quickcheck))))
+        (("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")
@@ -942,6 +1035,56 @@ length} and @code{key length} parameters can be used.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-bytecount
+  (package
+    (name "rust-bytecount")
+    (version "0.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bytecount" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0vplsx73zncb7mz8x0fs3k0p0rz5bmavj09vjk5nqn4z6fa7h0dh"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-packed-simd" ,rust-packed-simd))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion)
+         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-rand" ,rust-rand))))
+    (home-page "https://github.com/llogiq/bytecount")
+    (synopsis
+      "count occurrences of a given byte, or the number of UTF-8 code points, in a byte slice, fast")
+    (description
+      "count occurrences of a given byte, or the number of UTF-8 code points, in a byte slice, fast")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-bytecount-0.4
+  (package
+    (inherit rust-bytecount)
+    (name "rust-bytecount")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bytecount" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "13qpy38z5wx0rzcdvr2h0ixbfgi1dbrif068il3hwn3k2mah88mr"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-packed-simd" ,rust-packed-simd))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.6)
+        ("rust-rand" ,rust-rand-0.4))))))
+
 (define-public rust-byteorder
   (package
     (name "rust-byteorder")
@@ -959,7 +1102,7 @@ length} and @code{key length} parameters can be used.")
     (arguments
       `(#:cargo-development-inputs
         (("rust-doc-comment" ,rust-doc-comment)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-rand" ,rust-rand))))
     (home-page
       "https://github.com/BurntSushi/byteorder")
@@ -1049,6 +1192,87 @@ length} and @code{key length} parameters can be used.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-cargo-metadata
+  (package
+    (name "rust-cargo-metadata")
+    (version "0.8.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cargo-metadata" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "09n4fp9hrg0z84y5q0q98rlinh0832zls3q0s0ip4dbxzlqkf2vh"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-semver" ,rust-semver)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-serde-json" ,rust-serde-json))
+        #:cargo-development-inputs
+        (("rust-clap" ,rust-clap)
+         ("rust-docopt" ,rust-docopt)
+         ("rust-structopt" ,rust-structopt))
+        #:cargo-test-flags '("--release" "--test" "selftest")))
+    (home-page "https://github.com/oli-obk/cargo_metadata")
+    (synopsis
+      "structured access to the output of `cargo metadata`")
+    (description
+      "structured access to the output of `cargo metadata`")
+    (license license:expat)))
+
+(define-public rust-cargo-metadata-0.6
+  (package
+    (inherit rust-cargo-metadata)
+    (name "rust-cargo-metadata")
+    (version "0.6.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cargo-metadata" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1givpi2w7iwqqnl87x5yc15zcm5hs6yw490sb6abkfp1h39v9lg5"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-error-chain" ,rust-error-chain)
+         ("rust-semver" ,rust-semver)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-serde-json" ,rust-serde-json))
+        #:cargo-development-inputs
+        (("rust-clap" ,rust-clap)
+         ("rust-docopt" ,rust-docopt-0.8))))))
+
+(define-public rust-cargo-metadata-0.5
+  (package
+    (inherit rust-cargo-metadata)
+    (name "rust-cargo-metadata")
+    (version "0.5.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cargo-metadata" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1l3ba9mb0ihh4n33s41y3lifpfy41dgcbccz216fs0yacfwa1z0y"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-error-chain" ,rust-error-chain-0.11)
+        ("rust-semver" ,rust-semver)
+        ("rust-serde" ,rust-serde)
+        ("rust-serde-derive" ,rust-serde-derive)
+        ("rust-serde-json" ,rust-serde-json))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap)
+        ("rust-docopt" ,rust-docopt-0.8))))))
+
 (define-public rust-cast
   (package
     (name "rust-cast")
@@ -1138,6 +1362,87 @@ length} and @code{key length} parameters can be used.")
     (inputs
      `(("libclang" ,clang)))))
 
+(define-public rust-cgl
+  (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
+     `(#:cargo-inputs (("rust-libc" ,rust-libc))
+       #:skip-build? #t)) ; Only for macOS.
+    (home-page "https://github.com/servo/cgl-rs")
+    (synopsis "Rust bindings for CGL on Mac")
+    (description "Rust bindings for CGL on Mac")
+    (license #f)))
+
+(define-public rust-cgmath
+  (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
+      `(#:cargo-inputs
+        (("rust-approx" ,rust-approx)
+         ("rust-mint" ,rust-mint)
+         ("rust-num-traits" ,rust-num-traits)
+         ("rust-rand" ,rust-rand)
+         ("rust-serde" ,rust-serde)
+         ("rust-simd" ,rust-simd))
+        #:cargo-development-inputs
+        (("rust-glium" ,rust-glium)
+         ("rust-serde-json" ,rust-serde-json))))
+    (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-cgmath-0.16
+  (package
+    (inherit rust-cgmath)
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-approx" ,rust-approx-0.1)
+         ("rust-mint" ,rust-mint)
+         ("rust-num-traits" ,rust-num-traits-0.1)
+         ("rust-rand" ,rust-rand-0.4)
+         ("rust-serde" ,rust-serde)
+         ("rust-simd" ,rust-simd))
+        #:cargo-development-inputs
+        (("rust-glium" ,rust-glium)
+         ("rust-serde-json" ,rust-serde-json))))))
+
 (define-public rust-chrono
   (package
     (name "rust-chrono")
@@ -1304,6 +1609,210 @@ length} and @code{key length} parameters can be used.")
 Command Line Argument Parser.")
     (license license:expat)))
 
+(define-public rust-clippy
+  (package
+    (name "rust-clippy")
+    (version "0.0.302")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clippy" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1562x3sq9mgmc8j39gd34wqm7ybrdvpmj7cc1n450gwsawayw4fr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-term" ,rust-term-0.5))
+       #:skip-build? #t)) ; DEPRECATED: please run `rustup component add clippy-preview` instead
+    (home-page "https://github.com/rust-lang/rust-clippy")
+    (synopsis "Helpful lints to avoid common pitfalls in Rust")
+    (description
+     "This package provides a bunch of helpful lints to avoid common pitfalls in Rust.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+;; This is the last version hosted on crates.io
+(define-public rust-clippy-0.0.212
+  (package
+    (inherit rust-clippy)
+    (name "rust-clippy")
+    (version "0.0.212")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clippy" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0cq5s3m6ckgi2nxjzzlmb3fdx4ym96zg25ng49zrrhqc7bqkl9by"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace)
+        ("rust-clippy-lints" ,rust-clippy-lints)
+        ("rust-num-traits" ,rust-num-traits)
+        ("rust-regex" ,rust-regex)
+        ("rust-semver" ,rust-semver)
+        ("rust-winapi" ,rust-winapi))
+       #:cargo-development-inputs
+       (("rust-ansi-term" ,rust-ansi-term)
+        ("rust-cargo-metadata" ,rust-cargo-metadata-0.5)
+        ("rust-clippy-mini-macro-test"
+         ,rust-clippy-mini-macro-test)
+        ("rust-compiletest-rs" ,rust-compiletest-rs)
+        ("rust-derive-new" ,rust-derive-new)
+        ("rust-lazy-static" ,rust-lazy-static)
+        ("rust-rustc-version" ,rust-rustc-version)
+        ("rust-serde" ,rust-serde)
+        ("rust-serde-derive" ,rust-serde-derive))
+       ;; thread 'main' panicked at 'current rustc version information does not contain a rustc commit date'
+       #:skip-build? #t))))
+
+(define-public rust-clippy-mini-macro-test
+  (package
+    (name "rust-clippy-mini-macro-test")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clippy-mini-macro-test" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "01175ynzasmyymx7w4rgh0dzcp9mqac9y4fgz9xa9xb56cgjz9x2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t)) ; Requires unstable features.
+    (home-page
+      "https://github.com/rust-lang-nursery/rust-clippy")
+    (synopsis
+      "A macro to test clippy's procedural macro checks")
+    (description
+      "This package provides a macro to test clippy's procedural macro checks")
+    (license license:mpl2.0)))
+
+(define-public rust-clippy-lints
+  (package
+    (name "rust-clippy-lints")
+    (version "0.0.212")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clippy-lints" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "04l579yx9485qx8ksr9m153kmb9gml6v6p5xmmr9cr05ah32c8xx"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cargo-metadata" ,rust-cargo-metadata-0.5)
+         ("rust-if-chain" ,rust-if-chain-0.1)
+         ("rust-itertools" ,rust-itertools-0.7)
+         ("rust-lazy-static" ,rust-lazy-static)
+         ("rust-matches" ,rust-matches)
+         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.1)
+         ("rust-quine-mc-cluskey" ,rust-quine-mc-cluskey)
+         ("rust-regex-syntax" ,rust-regex-syntax)
+         ("rust-semver" ,rust-semver)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-toml" ,rust-toml-0.4)
+         ("rust-unicode-normalization"
+          ,rust-unicode-normalization)
+         ("rust-url" ,rust-url-1))
+       #:skip-build? #t)) ; Everything fails hard
+    (home-page
+      "https://github.com/rust-lang-nursery/rust-clippy")
+    (synopsis
+      "A bunch of helpful lints to avoid common pitfalls in Rust")
+    (description
+      "This package provides a bunch of helpful lints to avoid common pitfalls in Rust")
+    (license license:mpl2.0)))
+
+(define-public rust-cocoa
+  (package
+    (name "rust-cocoa")
+    (version "0.19.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cocoa" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1n9pklag536ghbw93hhld8gzp1fykag67mc6h953p2c0x12h1llc"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitflags" ,rust-bitflags)
+         ("rust-block" ,rust-block)
+         ("rust-core-foundation" ,rust-core-foundation)
+         ("rust-core-graphics" ,rust-core-graphics)
+         ("rust-foreign-types" ,rust-foreign-types)
+         ("rust-libc" ,rust-libc)
+         ("rust-objc" ,rust-objc))))
+    (home-page
+      "https://github.com/servo/core-foundation-rs")
+    (synopsis "Bindings to Cocoa for macOS")
+    (description "Bindings to Cocoa for macOS")
+    (license #f)))
+
+(define-public rust-color-quant
+  (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)
+    (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)))
+
+(define-public rust-colored
+  (package
+    (name "rust-colored")
+    (version "1.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "colored" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "00vwd3r2jrd6qz4r91bwqhmkl371wyyjvirrc7bzh9r91yv91nvc"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-lazy-static" ,rust-lazy-static)
+         ("rust-winconsole" ,rust-winconsole))
+        #:cargo-development-inputs
+        (("rust-ansi-term" ,rust-ansi-term-0.9)
+         ("rust-rspec" ,rust-rspec-1.0.0-beta3))))
+    (home-page "https://github.com/mackwic/colored")
+    (synopsis
+      "The most simple way to add colors in your terminal")
+    (description
+      "The most simple way to add colors in your terminal")
+    (license license:mpl2.0)))
+
 (define-public rust-compiler-error
   (package
     (name "rust-compiler-error")
@@ -1330,7 +1839,7 @@ Command Line Argument Parser.")
 (define-public rust-compiletest-rs
   (package
     (name "rust-compiletest-rs")
-    (version "0.3.2")
+    (version "0.3.7")
     (source
       (origin
         (method url-fetch)
@@ -1338,7 +1847,7 @@ Command Line Argument Parser.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0rvckrzk4bs3h9vsvf0z8rzhh59rddxcq5z5c0iyzv1daihci5sq"))))
+          "1qz70s11n0bdy61wd36bw1d00riscxknqi8wdmldbynw3gd53wjs"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -1347,12 +1856,11 @@ Command Line Argument Parser.")
         ("rust-getopts" ,rust-getopts)
         ("rust-libc" ,rust-libc)
         ("rust-log" ,rust-log-0.3)
+        ("rust-miow" ,rust-miow-0.2)
         ("rust-rustc-serialize" ,rust-rustc-serialize)
-        ("rust-tempdir" ,rust-tempdir))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build)) ; Requires unstable features.
-       #:tests? #f)) ; Requires unstable features.
+        ("rust-tempdir" ,rust-tempdir)
+        ("rust-winapi" ,rust-winapi))
+       #:skip-build? #t)) ; Requires unstable features.
     (home-page "https://github.com/laumann/compiletest-rs")
     (synopsis "Compiletest utility from the Rust compiler")
     (description
@@ -1363,6 +1871,28 @@ compile, issue warnings or otherwise produce compile-time output.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-compiletest-rs-0.2
+  (package
+    (inherit rust-compiletest-rs)
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-log" ,rust-log-0.3)
+         ("rust-rustc-serialize" ,rust-rustc-serialize)
+         ("rust-tempdir" ,rust-tempdir))
+        #:skip-build? #t)))) ; Requires unstable features.
+
 (define-public rust-console
   (package
     (name "rust-console")
@@ -1442,7 +1972,7 @@ compile, issue warnings or otherwise produce compile-time output.")
       `(#:cargo-inputs
         (("rust-custom-derive" ,rust-custom-derive))
         #:cargo-development-inputs
-        (("rust-quickcheck" ,rust-quickcheck)
+        (("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-winapi" ,rust-winapi))))
     (home-page
       "https://github.com/DanielKeep/rust-conv")
@@ -1600,6 +2130,33 @@ compile, issue warnings or otherwise produce compile-time output.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-core-graphics
+  (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
+      `(#:cargo-inputs
+        (("rust-bitflags" ,rust-bitflags)
+         ("rust-core-foundation" ,rust-core-foundation)
+         ("rust-foreign-types" ,rust-foreign-types)
+         ("rust-libc" ,rust-libc))))
+    (home-page
+      "https://github.com/servo/core-graphics-rs")
+    (synopsis "Bindings to Core Graphics for OS X")
+    (description
+      "Bindings to Core Graphics for OS X")
+    (license #f)))
+
 (define-public rust-cpp-demangle
   (package
     (name "rust-cpp-demangle")
@@ -1703,7 +2260,7 @@ compile, issue warnings or otherwise produce compile-time output.")
 (define-public rust-criterion
   (package
     (name "rust-criterion")
-    (version "0.2.11")
+    (version "0.3.0")
     (source
       (origin
         (method url-fetch)
@@ -1712,7 +2269,7 @@ compile, issue warnings or otherwise produce compile-time output.")
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3"))))
+            "1iig7r9c6bkn5qb6axxkblc1amif6k49lix35rhqs728cphh71wk"))))
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-inputs
@@ -1723,13 +2280,11 @@ compile, issue warnings or otherwise produce compile-time output.")
          ("rust-csv" ,rust-csv)
          ("rust-itertools" ,rust-itertools)
          ("rust-lazy-static" ,rust-lazy-static)
-         ("rust-libc" ,rust-libc)
          ("rust-num-traits" ,rust-num-traits)
          ("rust-rand-core" ,rust-rand-core)
          ("rust-rand-os" ,rust-rand-os)
          ("rust-rand-xoshiro" ,rust-rand-xoshiro)
          ("rust-rayon" ,rust-rayon)
-         ("rust-rayon-core" ,rust-rayon-core)
          ("rust-serde" ,rust-serde)
          ("rust-serde-derive" ,rust-serde-derive)
          ("rust-serde-json" ,rust-serde-json)
@@ -1737,7 +2292,7 @@ compile, issue warnings or otherwise produce compile-time output.")
          ("rust-walkdir" ,rust-walkdir))
         #:cargo-development-inputs
         (("rust-approx" ,rust-approx)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-rand" ,rust-rand)
          ("rust-tempdir" ,rust-tempdir))))
     (home-page
@@ -1749,33 +2304,97 @@ compile, issue warnings or otherwise produce compile-time output.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-criterion-plot
+(define-public rust-criterion-0.2
   (package
-    (name "rust-criterion-plot")
-    (version "0.4.0")
+    (inherit rust-criterion)
+    (name "rust-criterion")
+    (version "0.2.11")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "criterion-plot" version))
+        (uri (crate-uri "criterion" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "18kjl0fh2n5ws6ssiqskikmz893dm9rfdgi5j2l2qddyig7cdkgc"))))
-    (build-system cargo-build-system)
+            "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3"))))
     (arguments
       `(#:cargo-inputs
-        (("rust-cast" ,rust-cast)
-         ("rust-itertools" ,rust-itertools))
+        (("rust-atty" ,rust-atty)
+         ("rust-cast" ,rust-cast)
+         ("rust-clap" ,rust-clap)
+         ("rust-criterion-plot" ,rust-criterion-plot-0.3)
+         ("rust-csv" ,rust-csv)
+         ("rust-itertools" ,rust-itertools)
+         ("rust-lazy-static" ,rust-lazy-static)
+         ("rust-libc" ,rust-libc)
+         ("rust-num-traits" ,rust-num-traits)
+         ("rust-rand-core" ,rust-rand-core)
+         ("rust-rand-os" ,rust-rand-os)
+         ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1)
+         ("rust-rayon" ,rust-rayon)
+         ("rust-rayon-core" ,rust-rayon-core)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-serde-json" ,rust-serde-json)
+         ("rust-tinytemplate" ,rust-tinytemplate)
+         ("rust-walkdir" ,rust-walkdir))
         #:cargo-development-inputs
-        (("rust-itertools-num" ,rust-itertools-num)
-         ("rust-num-complex" ,rust-num-complex)
-         ("rust-rand" ,rust-rand-0.4))))
-    (home-page
-      "https://github.com/bheisler/criterion.rs")
+        (("rust-approx" ,rust-approx)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
+         ("rust-rand" ,rust-rand)
+         ("rust-tempdir" ,rust-tempdir))))))
+
+(define-public rust-criterion-plot
+  (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
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder)
+        ("rust-cast" ,rust-cast)
+        ("rust-itertools" ,rust-itertools))
+       #:cargo-development-inputs
+       (("rust-itertools-num" ,rust-itertools-num)
+        ("rust-num-complex" ,rust-num-complex)
+        ("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 #f)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-criterion-plot-0.3
+  (package
+    (inherit rust-criterion-plot)
+    (name "rust-criterion-plot")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "criterion-plot" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "13pv09z4ryp70qyzablkibwa2mh6c2852qq1sjr9wjigvwnj3ybn"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder)
+        ("rust-cast" ,rust-cast)
+        ("rust-itertools" ,rust-itertools))
+       #:cargo-development-inputs
+       (("rust-itertools-num" ,rust-itertools-num)
+        ("rust-num-complex" ,rust-num-complex)
+        ("rust-rand" ,rust-rand-0.4))))))
 
 (define-public rust-crossbeam
   (package
@@ -2090,6 +2709,34 @@ compile, issue warnings or otherwise produce compile-time output.")
                    license:isc
                    license:expat))))
 
+(define-public rust-ctor
+  (package
+    (name "rust-ctor")
+    (version "0.1.12")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ctor" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1p7fd2zp3lkb098sn740jlf3np8qg5ivycsc037b4jhqsixf736d"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-quote" ,rust-quote)
+         ("rust-syn" ,rust-syn))
+        #:cargo-development-inputs
+        (("rust-libc-print" ,rust-libc-print))))
+    (home-page
+      "https://github.com/mmastrac/rust-ctor")
+    (synopsis
+      "__attribute__((constructor)) for Rust")
+    (description
+      "__attribute__((constructor)) for Rust")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-custom-derive
   (package
     (name "rust-custom-derive")
@@ -2115,6 +2762,105 @@ attributes.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-darling
+  (package
+    (name "rust-darling")
+    (version "0.10.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "darling" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "13ia8dx03gy867j3gjqs03zxfnkdz000gysf8lk5bbgg6ajjkriz"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-darling-core" ,rust-darling-core)
+         ("rust-darling-macro" ,rust-darling-macro))
+        #:cargo-development-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2)
+         ("rust-quote" ,rust-quote)
+         ("rust-syn" ,rust-syn))))
+    (home-page
+      "https://github.com/TedDriggs/darling")
+    (synopsis
+      "A proc-macro library for reading attributes into structs when
+      implementing custom derives.
+      ")
+      (description
+        "This package provides a proc-macro library for reading attributes into structs when
+        implementing custom derives.
+        ")
+        (license license:expat)))
+
+(define-public rust-darling-core
+  (package
+    (name "rust-darling-core")
+    (version "0.10.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "darling-core" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "119vd2nkgc6phshw4ka9733x9iskvgxds8ks6gr1rd2lxhmm2m7f"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-fnv" ,rust-fnv)
+         ("rust-ident-case" ,rust-ident-case)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-strsim" ,rust-strsim)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page
+      "https://github.com/TedDriggs/darling")
+    (synopsis
+      "Helper crate for proc-macro library for reading attributes into structs when
+      implementing custom derives. Use https://crates.io/crates/darling in your code.
+      ")
+      (description
+        "Helper crate for proc-macro library for reading attributes into structs when
+        implementing custom derives.  Use https://crates.io/crates/darling in your code.
+        ")
+        (license license:expat)))
+
+(define-public rust-darling-macro
+  (package
+    (name "rust-darling-macro")
+    (version "0.10.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "darling-macro" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1hb2bajmf18kgbg6rzvxa78ph7bbsrlnlacq52vi021cwlrf9lqc"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-darling-core" ,rust-darling-core)
+         ("rust-quote" ,rust-quote)
+         ("rust-syn" ,rust-syn))))
+    (home-page
+      "https://github.com/TedDriggs/darling")
+    (synopsis
+      "Internal support for a proc-macro library for reading attributes into structs when
+      implementing custom derives. Use https://crates.io/crates/darling in your code.
+      ")
+      (description
+        "Internal support for a proc-macro library for reading attributes into structs when
+        implementing custom derives.  Use https://crates.io/crates/darling in your code.
+        ")
+        (license license:expat)))
+
 (define-public rust-demo-hack
   (package
     (name "rust-demo-hack")
@@ -2166,6 +2912,186 @@ attributes.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-derivative
+  (package
+    (name "rust-derivative")
+    (version "1.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "derivative" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0fpfcw0if70gnp8hvz6ki2wasldzi31pnwx6jmjq18zpxqqa8b4l"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2)
+         ("rust-quote" ,rust-quote)
+         ("rust-syn" ,rust-syn)
+         ("rust-trybuild" ,rust-trybuild))))
+    (home-page
+      "https://github.com/mcarton/rust-derivative")
+    (synopsis
+      "A set of alternative `derive` attributes for Rust")
+    (description
+      "This package provides a set of alternative `derive` attributes for Rust")
+    (license #f)))
+
+(define-public rust-derive-builder
+  (package
+    (name "rust-derive-builder")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "derive-builder" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1rk2ahk10cqhcmzaym154y18ff3qjqyv2hcm5krh2wmpqglq1g6z"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-compiletest-rs" ,rust-compiletest-rs)
+         ("rust-darling" ,rust-darling)
+         ("rust-derive-builder-core"
+          ,rust-derive-builder-core)
+         ("rust-env-logger" ,rust-env-logger)
+         ("rust-log" ,rust-log)
+         ("rust-proc-macro2" ,rust-proc-macro2)
+         ("rust-quote" ,rust-quote)
+         ("rust-skeptic" ,rust-skeptic)
+         ("rust-syn" ,rust-syn))
+        #:cargo-development-inputs
+        (("rust-env-logger" ,rust-env-logger)
+         ("rust-log" ,rust-log)
+         ("rust-pretty-assertions"
+          ,rust-pretty-assertions)
+         ("rust-skeptic" ,rust-skeptic))))
+    (home-page
+      "https://github.com/colin-kiegel/rust-derive-builder")
+    (synopsis
+      "Rust macro to automatically implement the builder pattern for arbitrary structs.")
+    (description
+      "Rust macro to automatically implement the builder pattern for arbitrary structs.")
+    (license #f)))
+
+(define-public rust-derive-builder-0.5
+  (package
+    (inherit rust-derive-builder)
+    (name "rust-derive-builder")
+    (version "0.5.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "derive-builder" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0fgl8dsigr7h70clxjq8xmsfc021w5ag262wfgcqv0ian1m8x6cc"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-compiletest-rs" ,rust-compiletest-rs)
+         ("rust-derive-builder-core" ,rust-derive-builder-core-0.2)
+         ("rust-env-logger" ,rust-env-logger)
+         ("rust-log" ,rust-log)
+         ("rust-quote" ,rust-quote)
+         ("rust-skeptic" ,rust-skeptic)
+         ("rust-syn" ,rust-syn))
+        #:cargo-development-inputs
+        (("rust-env-logger" ,rust-env-logger)
+         ("rust-log" ,rust-log)
+         ("rust-pretty-assertions"
+          ,rust-pretty-assertions)
+         ("rust-skeptic" ,rust-skeptic))))))
+
+(define-public rust-derive-builder-core
+  (package
+    (name "rust-derive-builder-core")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "derive-builder-core" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1af5fkgswbxyyhy39wjqzi16ss90j05kdck072zs3p8gb3za8s4b"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-darling" ,rust-darling)
+         ("rust-log" ,rust-log)
+         ("rust-proc-macro2" ,rust-proc-macro2)
+         ("rust-quote" ,rust-quote)
+         ("rust-syn" ,rust-syn))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.5))))
+    (home-page
+      "https://github.com/colin-kiegel/rust-derive-builder")
+    (synopsis
+      "Internal helper library for the derive_builder crate.")
+    (description
+      "Internal helper library for the derive_builder crate.")
+    (license #f)))
+
+(define-public rust-derive-builder-core-0.2
+  (package
+    (inherit rust-derive-builder-core)
+    (name "rust-derive-builder-core")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "derive-builder-core" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0mxpl1ja3l60w1v5vr3733hr5mcpds2hfl6shrmy3a2zkvp28pkk"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-log" ,rust-log-0.3)
+         ("rust-quote" ,rust-quote-0.3)
+         ("rust-syn" ,rust-syn-0.11))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions"
+          ,rust-pretty-assertions-0.2))))))
+
+(define-public rust-derive-new
+  (package
+    (name "rust-derive-new")
+    (version "0.5.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "derive-new" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1ncibp4jhpkym7namg3viqyw8hljd32n6abg64af8qjwrn91iwvi"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/nrc/derive-new")
+    (synopsis
+      "`#[derive(new)]` implements simple constructor functions for structs and enums.")
+    (description
+      "`#[derive(new)]` implements simple constructor functions for structs and enums.")
+    (license license:expat)))
+
 (define-public rust-diff
   (package
     (name "rust-diff")
@@ -2182,7 +3108,7 @@ attributes.")
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-development-inputs
-        (("rust-quickcheck" ,rust-quickcheck)
+        (("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-speculate" ,rust-speculate))))
     (home-page
       "https://github.com/utkarshkukreti/diff.rs")
@@ -2211,7 +3137,7 @@ attributes.")
       `(#:cargo-inputs
         (("rust-getopts" ,rust-getopts))
         #:cargo-development-inputs
-        (("rust-quickcheck" ,rust-quickcheck)
+        (("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-term" ,rust-term-0.5))))
     (home-page
       "https://github.com/johannhof/difference.rs")
@@ -2221,6 +3147,27 @@ attributes.")
       "This package provides a Rust text diffing and assertion library.")
     (license license:expat)))
 
+(define-public rust-difference-1
+  (package
+    (inherit rust-difference)
+    (name "rust-difference")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "difference" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1a5v0b73z7vywbclll32wjsfkdgh6wn9prnq91z0d3lag4clsc5k"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-getopts" ,rust-getopts))
+        #:cargo-development-inputs
+        (("rust-term" ,rust-term))))))
+
 (define-public rust-dirs-2
   (package
     (inherit rust-dirs)
@@ -2293,6 +3240,27 @@ attributes.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-docopt-0.8
+  (package
+    (inherit rust-docopt)
+    (name "rust-docopt")
+    (version "0.8.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "docopt" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0jha611mffc2qnxvdl3pmglz07akl99lk1vihhb3nl1cd69x7b6q"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-lazy-static" ,rust-lazy-static)
+         ("rust-regex" ,rust-regex-0.2)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-strsim" ,rust-strsim-0.6))))))
+
 (define-public rust-docopt-0.7
   (package
     (inherit rust-docopt)
@@ -2302,11 +3270,10 @@ attributes.")
       (origin
         (method url-fetch)
         (uri (crate-uri "docopt" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1n6gbhsks2w9y0b4bwqyawh4ghbkka09w6pjcrq9i1sd51pflcmb"))))
+         (base32
+          "1n6gbhsks2w9y0b4bwqyawh4ghbkka09w6pjcrq9i1sd51pflcmb"))))
     (arguments
       `(#:cargo-inputs
         (("rust-lazy-static" ,rust-lazy-static-0.2)
@@ -2322,11 +3289,10 @@ attributes.")
       (origin
         (method url-fetch)
         (uri (crate-uri "duct" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1vm1nzyi434h2zwix7c925qfa886ri1qx4nkq4hdrgkq7h9ayh1n"))))
+         (base32
+          "1vm1nzyi434h2zwix7c925qfa886ri1qx4nkq4hdrgkq7h9ayh1n"))))
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-inputs
@@ -2387,7 +3353,7 @@ attributes.")
         (("rust-ascii" ,rust-ascii)
          ("rust-clippy" ,rust-clippy))
         #:cargo-development-inputs
-        (("rust-lazy-static" ,rust-lazy-static))))
+        (("rust-lazy-static" ,rust-lazy-static-1.0))))
     (home-page
       "https://github.com/tormol/encode_unicode")
     (synopsis
@@ -2817,26 +3783,87 @@ attributes.")
       (origin
         (method url-fetch)
         (uri (crate-uri "error-chain" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace)
+        ("rust-version-check" ,rust-version-check-0.1))
+       #:cargo-development-inputs
+       (("rust-version-check" ,rust-version-check-0.1))
+       #:tests? #f)) ; has_backtrace_depending_on_env fails
+    (home-page "https://github.com/rust-lang-nursery/error-chain")
+    (synopsis
+      "Yet another error boilerplate library.")
+    (description
+      "Yet another error boilerplate library.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-error-chain-0.11
+  (package
+    (inherit rust-error-chain)
+    (name "rust-error-chain")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "error-chain" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1wykkr0naizbkwxjwia1rch8xhwvgij9khqvjzs07mrmqifislgz"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace))
+       #:tests? #f)))) ; has_backtrace_depending_on_env fails
+
+(define-public rust-expectest
+  (package
+    (name "rust-expectest")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "expectest" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s"))))
+            "00dv47irmsyq7brzjhz4xns3p722gm98zp39h9hq2mrzd5marpgq"))))
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-inputs
-        (("rust-backtrace" ,rust-backtrace)
-         ("rust-version-check" ,rust-version-check-0.1))
-        #:cargo-development-inputs
-        (("rust-version-check" ,rust-version-check-0.1))))
+        (("rust-num-traits" ,rust-num-traits))))
     (home-page
-      "https://github.com/rust-lang-nursery/error-chain")
+      "https://github.com/zummenix/expectest")
     (synopsis
-      "Yet another error boilerplate library.")
+      "Crate provides matchers and matcher functions for unit testing.")
     (description
-      "Yet another error boilerplate library.")
-    (license (list license:asl2.0
-                   license:expat))))
+      "Crate provides matchers and matcher functions for unit testing.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-expectest-0.9
+  (package
+    (inherit rust-expectest)
+    (name "rust-expectest")
+    (version "0.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "expectest" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0f24q2a53x7sfmmrqjbwbk7pahzwkpd829fcr023kb7q5xnd6z4g"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-num-traits" ,rust-num-traits-0.1))))))
 
 (define-public rust-failure
   (package
@@ -3098,7 +4125,7 @@ attributes.")
          ("rust-tokio-io" ,rust-tokio-io))
         #:cargo-development-inputs
         (("rust-futures" ,rust-futures)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-rand" ,rust-rand)
          ("rust-tokio-io" ,rust-tokio-io)
          ("rust-tokio-tcp" ,rust-tokio-tcp)
@@ -3359,6 +4386,33 @@ attributes.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-futf
+  (package
+    (name "rust-futf")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "futf" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0fxc18bnabird5jl941nsd6d25vq8cn8barmz4d30dlkzbiir73w"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-mac" ,rust-mac)
+         ("rust-new-debug-unreachable"
+          ,rust-new-debug-unreachable))
+        #:tests? #f ; Requires unstable features.
+        ))
+    (home-page "https://github.com/servo/futf")
+    (synopsis "Handling fragments of UTF-8")
+    (description "Handling fragments of UTF-8")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-futures-channel-preview
   (package
     (name "rust-futures-channel-preview")
@@ -3614,6 +4668,30 @@ futures-rs.")
       "Generic types implementing functionality of arrays")
     (license license:expat)))
 
+(define-public rust-genmesh
+  (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
+      `(#:cargo-inputs
+        (("rust-cgmath" ,rust-cgmath-0.16)
+         ("rust-mint" ,rust-mint))))
+    (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-getrandom
   (package
     (name "rust-getrandom")
@@ -3644,6 +4722,33 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-gif
+  (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
+      `(#:cargo-inputs
+        (("rust-color-quant" ,rust-color-quant)
+         ("rust-libc" ,rust-libc)
+         ("rust-lzw" ,rust-lzw))
+        #:cargo-development-inputs
+        (("rust-glob" ,rust-glob))))
+    (home-page
+      "https://github.com/image-rs/image-gif")
+    (synopsis "GIF de- and encoder")
+    (description "GIF de- and encoder")
+    (license #f)))
+
 (define-public rust-git2
   (package
     (name "rust-git2")
@@ -3794,6 +4899,253 @@ futures-rs.")
           (base32
             "0ma1zg2klqr47rasm7jn3zzd1j1pj2a8wkfbv5zsx10qh43phy4k"))))))
 
+(define-public rust-glium
+  (package
+    (name "rust-glium")
+    (version "0.26.0-alpha3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "glium" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0gsvz19cnfaqygyqmvskl2qz3ykr7mjiab7478awpw77vhpn3vkb"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-backtrace" ,rust-backtrace)
+         ("rust-fnv" ,rust-fnv)
+         ("rust-glutin" ,rust-glutin)
+         ("rust-lazy-static" ,rust-lazy-static)
+         ("rust-smallvec" ,rust-smallvec)
+         ("rust-takeable-option" ,rust-takeable-option))
+        #:cargo-development-inputs
+        (("rust-cgmath" ,rust-cgmath)
+         ("rust-genmesh" ,rust-genmesh)
+         ("rust-gl-generator" ,rust-gl-generator)
+         ("rust-image" ,rust-image)
+         ("rust-obj" ,rust-obj)
+         ("rust-rand" ,rust-rand)
+         ("rust-rental" ,rust-rental))))
+    (home-page "https://github.com/glium/glium")
+    (synopsis
+      "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.
+      ")
+      (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-gl-generator
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-khronos-api" ,rust-khronos-api)
+         ("rust-log" ,rust-log)
+         ("rust-xml-rs" ,rust-xml-rs))))
+    (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-glutin
+  (package
+    (name "rust-glutin")
+    (version "0.21.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "glutin" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0jcr3fg5wmq32db4jjvrs9867d61z6ivwcv12qsibzmvn6ifg34k"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-android-glue" ,rust-android-glue)
+         ("rust-cgl" ,rust-cgl)
+         ("rust-cocoa" ,rust-cocoa)
+         ("rust-core-foundation" ,rust-core-foundation)
+         ("rust-core-graphics" ,rust-core-graphics)
+         ("rust-derivative" ,rust-derivative)
+         ("rust-glutin-egl-sys" ,rust-glutin-egl-sys)
+         ("rust-glutin-emscripten-sys"
+          ,rust-glutin-emscripten-sys)
+         ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys)
+         ("rust-glutin-glx-sys" ,rust-glutin-glx-sys)
+         ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys)
+         ("rust-lazy-static" ,rust-lazy-static)
+         ("rust-libloading" ,rust-libloading)
+         ("rust-objc" ,rust-objc)
+         ("rust-osmesa-sys" ,rust-osmesa-sys)
+         ("rust-parking-lot" ,rust-parking-lot)
+         ("rust-wayland-client" ,rust-wayland-client)
+         ("rust-winapi" ,rust-winapi)
+         ("rust-winit" ,rust-winit))))
+    (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
+  (package
+    (name "rust-glutin-egl-sys")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "glutin-egl-sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "09nk7nknjsw2svzqrxmggc53h37xl9a9xd83v4dbdckcmf3qkx13"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-winapi" ,rust-winapi))
+        #:cargo-development-inputs
+        (("rust-gl-generator" ,rust-gl-generator))))
+    (home-page "https://github.com/tomaka/glutin")
+    (synopsis "The egl bindings for glutin")
+    (description "The egl bindings for glutin")
+    (license license:asl2.0)))
+
+(define-public rust-glutin-emscripten-sys
+  (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)
+    (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-glutin-gles2-sys
+  (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
+      `(#:cargo-inputs
+        (("rust-objc" ,rust-objc))
+        #:cargo-development-inputs
+        (("rust-gl-generator" ,rust-gl-generator))))
+    (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-glutin-glx-sys
+  (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
+      `(#:cargo-inputs
+        (("rust-x11-dl" ,rust-x11-dl))
+        #:cargo-development-inputs
+        (("rust-gl-generator" ,rust-gl-generator))))
+    (inputs
+     `(("pkg-config" ,pkg-config)))
+    (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-glutin-wgl-sys
+  (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
+      `(#:cargo-development-inputs
+        (("rust-gl-generator" ,rust-gl-generator))))
+    (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
   (package
     (name "rust-goblin")
@@ -3870,7 +5222,7 @@ futures-rs.")
         #:cargo-development-inputs
         (("rust-env-logger" ,rust-env-logger)
          ("rust-hex" ,rust-hex)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-rand" ,rust-rand)
          ("rust-rustls" ,rust-rustls)
          ("rust-serde" ,rust-serde)
@@ -3887,6 +5239,30 @@ futures-rs.")
       "A Tokio aware, HTTP/2.0 client & server implementation for Rust.")
     (license license:expat)))
 
+(define-public rust-half
+  (package
+    (name "rust-half")
+    (version "1.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "half" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "032h6rdvkvg4k0j3zrpvzf3f1w1wnnzj0izjf0xvr5v5qsfxiqx4"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs (("rust-serde" ,rust-serde))))
+    (home-page
+      "https://github.com/starkat99/half-rs")
+    (synopsis
+      "Half-precision floating point f16 type for Rust implementing the IEEE 754-2008 binary16 type.")
+    (description
+      "Half-precision floating point f16 type for Rust implementing the IEEE 754-2008 binary16 type.")
+    (license #f)))
+
 (define-public rust-hashbrown
   (package
     (name "rust-hashbrown")
@@ -4031,6 +5407,70 @@ futures-rs.")
      `(#:cargo-inputs
        (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))
 
+(define-public rust-html5ever
+  (package
+    (name "rust-html5ever")
+    (version "0.24.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "html5ever" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1js4cr04941ld4r4fqpblvfigy75ds48qcbqhnr7nmz4l6q86m02"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-log" ,rust-log)
+         ("rust-mac" ,rust-mac)
+         ("rust-markup5ever" ,rust-markup5ever))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.2)
+         ("rust-phf-codegen" ,rust-phf-codegen)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-rustc-test" ,rust-rustc-test)
+         ("rust-serde-json" ,rust-serde-json)
+         ("rust-string-cache-codegen" ,rust-string-cache-codegen)
+         ("rust-syn" ,rust-syn-1)
+         ("rust-typed-arena" ,rust-typed-arena))))
+    (home-page "https://github.com/servo/html5ever")
+    (synopsis
+      "High-performance browser-grade HTML5 parser")
+    (description
+      "High-performance browser-grade HTML5 parser")
+    (license #f)))
+
+(define-public rust-html5ever-0.22
+  (package
+    (inherit rust-html5ever)
+    (name "rust-html5ever")
+    (version "0.22.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "html5ever" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0vn2hj096dkp0s4lxv4j7j48wpdhfjx5ry2l5xaxmhcdc5mgl4y2"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-log" ,rust-log)
+         ("rust-mac" ,rust-mac)
+         ("rust-markup5ever" ,rust-markup5ever-0.7))
+        #:cargo-development-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2)
+         ("rust-quote" ,rust-quote)
+         ("rust-rustc-serialize" ,rust-rustc-serialize)
+         ("rust-rustc-test" ,rust-rustc-test)
+         ("rust-syn" ,rust-syn)
+         ("rust-typed-arena" ,rust-typed-arena))))))
+
 (define-public rust-http
   (package
     (name "rust-http")
@@ -4388,7 +5828,7 @@ futures-rs.")
           ,rust-hyphenation-commons)
          ("rust-lazy-static" ,rust-lazy-static)
          ("rust-pocket-resources" ,rust-pocket-resources)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-serde" ,rust-serde)
          ("rust-unicode-normalization"
           ,rust-unicode-normalization)
@@ -4430,6 +5870,28 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ident-case
+  (package
+    (name "rust-ident-case")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ident-case" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r"))))
+    (build-system cargo-build-system)
+    (home-page
+      "https://github.com/TedDriggs/ident_case")
+    (synopsis
+      "Utility for applying case rules to Rust identifiers.")
+    (description
+      "Utility for applying case rules to Rust identifiers.")
+    (license #f)))
+
 (define-public rust-idna
   (package
     (name "rust-idna")
@@ -4486,6 +5948,80 @@ futures-rs.")
         (("rust-rustc-serialize" ,rust-rustc-serialize)
          ("rust-rustc-test" ,rust-rustc-test))))))
 
+(define-public rust-if-chain
+  (package
+    (name "rust-if-chain")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "if-chain" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0zgcn31bahnsmsjc0cgk0cy38p8sfjs79yvi6rjs5zz5b5xhqdn3"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/lfairy/if_chain")
+    (synopsis
+      "Macro for writing nested `if let` expressions.")
+    (description
+      "Macro for writing nested `if let` expressions.")
+    (license #f)))
+
+(define-public rust-if-chain-0.1
+  (package
+    (inherit rust-if-chain)
+    (name "rust-if-chain")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "if-chain" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1v2phdgq9i313svbrcaldygivd0jn25gpml7h6vyf906mbcrbb2b"))))))
+
+(define-public rust-image
+  (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
+      `(#:cargo-inputs
+        (("rust-byteorder" ,rust-byteorder)
+         ("rust-gif" ,rust-gif)
+         ("rust-jpeg-decoder" ,rust-jpeg-decoder)
+         ("rust-num-iter" ,rust-num-iter)
+         ("rust-num-rational" ,rust-num-rational)
+         ("rust-num-traits" ,rust-num-traits)
+         ("rust-png" ,rust-png)
+         ("rust-scoped-threadpool"
+          ,rust-scoped-threadpool)
+         ("rust-tiff" ,rust-tiff))
+        #:cargo-development-inputs
+        (("rust-crc32fast" ,rust-crc32fast)
+         ("rust-glob" ,rust-glob)
+         ("rust-num-complex" ,rust-num-complex)
+         ("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (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
   (package
     (name "rust-indexmap")
@@ -4854,6 +6390,33 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-jpeg-decoder
+  (package
+    (name "rust-jpeg-decoder")
+    (version "0.1.16")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "jpeg-decoder" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1flj2wq4xdzv6nqs3vk2l3jsg4lpwiz6lfrccb30kr7azs7y3an1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-byteorder" ,rust-byteorder)
+         ("rust-rayon" ,rust-rayon))
+        #:cargo-development-inputs
+        (("rust-png" ,rust-png)
+         ("rust-walkdir" ,rust-walkdir))))
+    (home-page
+      "https://github.com/kaksmet/jpeg-decoder")
+    (synopsis "JPEG decoder")
+    (description "JPEG decoder")
+    (license #f)))
+
 (define-public rust-js-sys
   (package
     (name "rust-js-sys")
@@ -4886,6 +6449,28 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-khronos-api
+  (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)
+    (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-lazycell
   (package
     (name "rust-lazycell")
@@ -4924,6 +6509,24 @@ futures-rs.")
     (arguments
      `(#:cargo-inputs (("rust-spin" ,rust-spin-0.4))))))
 
+(define-public rust-lazy-static-1.0
+  (package
+    (inherit rust-lazy-static)
+    (name "rust-lazy-static")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lazy-static" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1lvdk5mkhw0im12fignd0i38miy2gyh5cjfrrwqs7dk2scspqjgv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-spin" ,rust-spin-0.4))
+       #:tests? #f)))) ; TODO: Fix doc test.
+
 (define-public rust-lazy-static-0.2
   (package
     (inherit rust-lazy-static)
@@ -4983,7 +6586,7 @@ futures-rs.")
         #:cargo-development-inputs
         (("rust-approx" ,rust-approx)
          ("rust-proptest" ,rust-proptest)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-rustc-version" ,rust-rustc-version))))
     (home-page
       "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
@@ -4994,6 +6597,30 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-libc-print
+  (package
+    (name "rust-libc-print")
+    (version "0.1.11")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "libc-print" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1sh4l815w7zxg8w17fvwj63y421sjqxxrdamzwyvg90n6mr70phv"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs (("rust-libc" ,rust-libc))))
+    (home-page
+      "https://github.com/mmastrac/rust-libc-print")
+    (synopsis
+      "println! and eprintln! macros on libc without stdlib")
+    (description
+      "println! and eprintln! macros on libc without stdlib")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-libflate
   (package
     (name "rust-libflate")
@@ -5271,6 +6898,132 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-mac
+  (package
+    (name "rust-mac")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "mac" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "194vc7vrshqff72rl56f9xgb0cazyl4jda7qsv31m5l6xx7hq7n4"))))
+    (build-system cargo-build-system)
+    (home-page
+      "https://github.com/reem/rust-mac.git")
+    (synopsis
+      "A collection of great and ubiqutitous macros.")
+    (description
+      "This package provides a collection of great and ubiqutitous macros.")
+    (license #f)))
+
+(define-public rust-malloc-buf
+  (package
+    (name "rust-malloc-buf")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "malloc-buf" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1zap9m0xmd5sdsxil7v2rgb1dzlq0308f826pwvqdvjyaz0chciz"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs (("rust-libc" ,rust-libc))))
+    (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-malloc-buf-0.0
+  (package
+    (inherit rust-malloc-buf)
+    (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
+      `(#:cargo-inputs (("rust-libc" ,rust-libc))))))
+
+(define-public rust-markup5ever
+  (package
+    (name "rust-markup5ever")
+    (version "0.9.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "markup5ever" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "00wxigkiw8f777pjp7q5kfq77xpwda9zskkwp698assh8yfisf35"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-log" ,rust-log)
+         ("rust-phf" ,rust-phf)
+         ("rust-string-cache" ,rust-string-cache)
+         ("rust-tendril" ,rust-tendril))
+        #:cargo-development-inputs
+        (("rust-phf-codegen" ,rust-phf-codegen)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-serde-json" ,rust-serde-json)
+         ("rust-string-cache-codegen" ,rust-string-cache-codegen))))
+    (home-page "https://github.com/servo/html5ever")
+    (synopsis
+      "Common code for xml5ever and html5ever")
+    (description
+      "Common code for xml5ever and html5ever")
+    (license #f)))
+
+(define-public rust-markup5ever-0.7
+  (package
+    (inherit rust-markup5ever)
+    (name "rust-markup5ever")
+    (version "0.7.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "markup5ever" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1zv2k29zkpf2nb54c20ghs9r7p2kxn1hcm550m4yyghchpwkcxl9"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-phf" ,rust-phf)
+         ("rust-string-cache" ,rust-string-cache)
+         ("rust-tendril" ,rust-tendril)
+         ("rust-phf-codegen" ,rust-phf-codegen)
+         ("rust-string-cache-codegen" ,rust-string-cache-codegen))
+        #:cargo-development-inputs
+        (("rust-phf-codegen" ,rust-phf-codegen)
+         ("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive)
+         ("rust-serde-json" ,rust-serde-json)
+         ("rust-string-cache-codegen" ,rust-string-cache-codegen))))))
+
 (define-public rust-matrixmultiply
   (package
     (name "rust-matrixmultiply")
@@ -5336,6 +7089,28 @@ futures-rs.")
        #:cargo-development-inputs
        ()))))
 
+(define-public rust-maybe-uninit
+  (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)
+    (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-memchr
   (package
     (name "rust-memchr")
@@ -5354,7 +7129,7 @@ futures-rs.")
       `(#:cargo-inputs
         (("rust-libc" ,rust-libc))
         #:cargo-development-inputs
-        (("rust-quickcheck" ,rust-quickcheck))))
+        (("rust-quickcheck" ,rust-quickcheck-0.8))))
     (home-page
       "https://github.com/BurntSushi/rust-memchr")
     (synopsis "Safe interface to memchr.")
@@ -5484,7 +7259,7 @@ futures-rs.")
         (("rust-mime" ,rust-mime)
          ("rust-unicase" ,rust-unicase))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion))))
+        (("rust-criterion" ,rust-criterion-0.2))))
     (home-page "https://github.com/abonander/mime_guess")
     (synopsis
       "MIME/MediaType guessing by file extension. Uses a static map of known file extension -> MIME type mappings.")
@@ -5492,6 +7267,26 @@ futures-rs.")
       "MIME/MediaType guessing by file extension. Uses a static map of known file extension -> MIME type mappings.")
     (license license:expat)))
 
+(define-public rust-mint
+  (package
+    (name "rust-mint")
+    (version "0.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "mint" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "01j14izcqvrcsxrhi53f0cw5k92k8q1zai0nbv2vy7bksrq5h4dr"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/kvark/mint")
+    (synopsis "Math interoperability standard types")
+    (description
+      "Math interoperability standard types")
+    (license license:expat)))
+
 (define-public rust-mio
   (package
     (name "rust-mio")
@@ -5638,6 +7433,30 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-new-debug-unreachable
+  (package
+    (name "rust-new-debug-unreachable")
+    (version "1.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "new-debug-unreachable" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0c1br326qa0rrzxrn2rd5ah7xaprig2i9r4rwsx06vnvc1f003zl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f)) ; SIGILL: illegal instruction
+    (home-page
+      "https://github.com/mbrubeck/rust-debug-unreachable")
+    (synopsis
+      "panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)")
+    (description
+      "panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)")
+    (license license:expat)))
+
 (define-public rust-no-panic
   (package
     (name "rust-no-panic")
@@ -5688,7 +7507,7 @@ futures-rs.")
          ("rust-memchr" ,rust-memchr)
          ("rust-regex" ,rust-regex))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
+        (("rust-criterion" ,rust-criterion-0.2)
          ("rust-doc-comment" ,rust-doc-comment)
          ("rust-jemallocator" ,rust-jemallocator)
          ("rust-version-check" ,rust-version-check))))
@@ -5720,7 +7539,7 @@ futures-rs.")
          ("rust-regex" ,rust-regex)
          ("rust-version-check" ,rust-version-check-0.1))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
+        (("rust-criterion" ,rust-criterion-0.2)
          ("rust-jemallocator" ,rust-jemallocator)
          ("rust-version-check" ,rust-version-check-0.1))))))
 
@@ -5777,6 +7596,111 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-num-rational
+  (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
+      `(#:cargo-inputs
+        (("rust-num-bigint" ,rust-num-bigint)
+         ("rust-num-integer" ,rust-num-integer)
+         ("rust-num-traits" ,rust-num-traits)
+         ("rust-serde" ,rust-serde))
+        #:cargo-development-inputs
+        (("rust-autocfg" ,rust-autocfg))))
+    (home-page
+      "https://github.com/rust-num/num-rational")
+    (synopsis
+      "Rational numbers implementation for Rust")
+    (description
+      "Rational numbers implementation for Rust")
+    (license #f)))
+
+(define-public rust-obj
+  (package
+    (name "rust-obj")
+    (version "0.9.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "obj" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1p550ws511h9qic01ppn1p3kgzwyhd2gd1rnrb2z17hgc8yv9bxh"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs (("rust-genmesh" ,rust-genmesh))))
+    (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
+  (package
+    (name "rust-objc")
+    (version "0.2.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "objc" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "03ar7qxhailxgb0zi5lszv7fhwl6b1xkas5y4m8wy1vyng90zlii"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-malloc-buf" ,rust-malloc-buf-0.0)
+         ("rust-objc-exception" ,rust-objc-exception))))
+    (inputs
+     `(("gcc-objc" ,gcc-objc)))
+    (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
+  (package
+    (name "rust-objc-exception")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "objc-exception" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1p00damjvy4nbfmrc90d9kbdygycrk76kq1s8v9k1hm35ydd5309"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-gcc" ,rust-gcc))))
+    (inputs
+     `(("gcc-objc" ,gcc-objc)))
+    (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-object
   (package
     (name "rust-object")
@@ -5864,7 +7788,7 @@ futures-rs.")
         (("rust-itertools" ,rust-itertools)
          ("rust-lazy-static" ,rust-lazy-static)
          ("rust-memchr" ,rust-memchr)
-         ("rust-quickcheck" ,rust-quickcheck))))
+         ("rust-quickcheck" ,rust-quickcheck-0.8))))
     (home-page
       "https://github.com/bluss/odds")
     (synopsis
@@ -6033,6 +7957,53 @@ futures-rs.")
         ("rust-rand" ,rust-rand-0.4)
         ("rust-serde-test" ,rust-serde-test))))))
 
+(define-public rust-osmesa-sys
+  (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
+      `(#:cargo-inputs
+        (("rust-shared-library" ,rust-shared-library))))
+    (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-output-vt100
+  (package
+    (name "rust-output-vt100")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "output-vt100" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1ygqplpxz4gg3i8f3rkan2q69pqll7gv65l2mmd8r9dphnvwbkak"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs (("rust-winapi" ,rust-winapi))))
+    (home-page
+      "https://github.com/Phundrak/output-vt100-rs")
+    (synopsis
+      "Utility to activate escape codes in Windows' CMD and PowerShell")
+    (description
+      "Utility to activate escape codes in Windows' CMD and PowerShell")
+    (license license:expat)))
+
 (define-public rust-packed-simd
   (package
     (name "rust-packed-simd")
@@ -6373,7 +8344,7 @@ futures-rs.")
       `(#:cargo-inputs
         (("rust-fixedbitset" ,rust-fixedbitset)
          ("rust-ordermap" ,rust-ordermap-0.3)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-serde" ,rust-serde)
          ("rust-serde-derive" ,rust-serde-derive))
         #:cargo-development-inputs
@@ -6521,6 +8492,28 @@ futures-rs.")
       "Support code shared by PHF libraries")
     (license license:expat)))
 
+(define-public rust-precomputed-hash
+  (package
+    (name "rust-precomputed-hash")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "precomputed-hash" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "075k9bfy39jhs53cb2fpb9klfakx2glxnf28zdw08ws6lgpq6lwj"))))
+    (build-system cargo-build-system)
+    (home-page
+      "https://github.com/emilio/precomputed-hash")
+    (synopsis
+      "A library intending to be a base dependency to expose a precomputed hash")
+    (description
+      "This package provides a library intending to be a base dependency to expose a precomputed hash")
+    (license license:expat)))
+
 (define-public rust-pretty-env-logger
   (package
     (name "rust-pretty-env-logger")
@@ -6582,6 +8575,45 @@ futures-rs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-pretty-assertions-0.5
+  (package
+    (inherit rust-pretty-assertions)
+    (name "rust-pretty-assertions")
+    (version "0.5.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pretty-assertions" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1ins6swkpxmrh8q5h96h8nv0497d3dclsiyx2lyvqi6py0q980is"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-ansi-term" ,rust-ansi-term)
+         ("rust-difference" ,rust-difference))))))
+
+(define-public rust-pretty-assertions-0.2
+  (package
+    (inherit rust-pretty-assertions)
+    (name "rust-pretty-assertions")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pretty-assertions" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1b3nv70i16737w3qkk1q5vqswwnb19znz8r9v2kcg1qyhh3h0l8x"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-difference" ,rust-difference-1))))))
+
 (define-public rust-proc-macro2-1
   (package
     (inherit rust-proc-macro2)
@@ -6788,7 +8820,7 @@ invocations.")
          ("rust-memchr" ,rust-memchr)
          ("rust-unicase" ,rust-unicase))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
+        (("rust-criterion" ,rust-criterion-0.2)
          ("rust-html5ever" ,rust-html5ever)
          ("rust-lazy-static" ,rust-lazy-static)
          ("rust-regex" ,rust-regex)
@@ -6800,6 +8832,71 @@ invocations.")
       "This package provides a pull parser for CommonMark")
     (license license:expat)))
 
+(define-public rust-pulldown-cmark-0.4
+  (package
+    (inherit rust-pulldown-cmark)
+    (name "rust-pulldown-cmark")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pulldown-cmark" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1db8vlhm3n72051bkq4am80q28rfrh88796i3y9ajf5hhk3lrdyi"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitflags" ,rust-bitflags)
+         ("rust-getopts" ,rust-getopts)
+         ("rust-memchr" ,rust-memchr)
+         ("rust-unicase" ,rust-unicase)
+         ;("rust-markup5ever" ,rust-markup5ever-0.7)
+         )
+        #:cargo-development-inputs
+        (("rust-html5ever" ,rust-html5ever-0.22)
+         ("rust-lazy-static" ,rust-lazy-static)
+         ("rust-regex" ,rust-regex)
+         ("rust-tendril" ,rust-tendril))))))
+
+(define-public rust-pulldown-cmark-0.2
+  (package
+    (inherit rust-pulldown-cmark)
+    (name "rust-pulldown-cmark")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pulldown-cmark" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "05gfnqa0wzix5m17jrmgj0yyr9sflqm0knn79ndppsnhcan2zxgf"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags)
+        ("rust-getopts" ,rust-getopts))
+       #:tests? #f)))) ; Spec tests fail because of encoding errors.
+
+(define-public rust-pulldown-cmark-0.1
+  (package
+    (inherit rust-pulldown-cmark)
+    (name "rust-pulldown-cmark")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pulldown-cmark" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0ckflr6w5vfvgb2xnzbnph9b6c0k8cfncm4a8bjzmbbcv9fgizfn"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.9)
+        ("rust-getopts" ,rust-getopts))
+       #:tests? #f)))) ; Spec tests fail because of encoding errors.
+
 (define-public rust-quantiles
   (package
     (name "rust-quantiles")
@@ -6819,7 +8916,7 @@ invocations.")
         (("rust-serde" ,rust-serde)
          ("rust-serde-derive" ,rust-serde-derive))
         #:cargo-development-inputs
-        (("rust-quickcheck" ,rust-quickcheck))))
+        (("rust-quickcheck" ,rust-quickcheck-0.8))))
     (home-page
       "https://github.com/postmates/quantiles")
     (synopsis
@@ -6831,7 +8928,7 @@ invocations.")
 (define-public rust-quickcheck
   (package
     (name "rust-quickcheck")
-    (version "0.8.5")
+    (version "0.9.0")
     (source
       (origin
         (method url-fetch)
@@ -6840,7 +8937,7 @@ invocations.")
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw"))))
+            "0qi67dg7cf50i23ac7n5qhg4vhhsm6xznhpl2wsqv86s5x551jnm"))))
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-inputs
@@ -6857,6 +8954,27 @@ invocations.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-quickcheck-0.8
+  (package
+    (inherit rust-quickcheck)
+    (name "rust-quickcheck")
+    (version "0.8.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quickcheck" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-env-logger" ,rust-env-logger)
+         ("rust-log" ,rust-log)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core))))))
+
 (define-public rust-quickcheck-0.7
   (package
     (inherit rust-quickcheck)
@@ -6934,6 +9052,27 @@ invocations.")
         ("rust-log" ,rust-log-0.3)
         ("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-quickcheck-0.3
+  (package
+    (inherit rust-quickcheck)
+    (name "rust-quickcheck")
+    (version "0.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quickcheck" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "01a6s6lmnjld9lahbl54qp7h7x2hnkkzhcyr2gdhbk460sj3scqb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.3)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rand" ,rust-rand-0.3))
+       #:skip-build? #t)))) ; Package needs 'unicode' crate.
+
 (define-public rust-quickcheck-0.2
   (package
     (inherit rust-quickcheck)
@@ -6952,10 +9091,32 @@ invocations.")
        (("rust-env-logger" ,rust-env-logger-0.3)
         ("rust-log" ,rust-log-0.3)
         ("rust-rand" ,rust-rand-0.3))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'build)) ; Build needs 'unicode' crate.
-       #:tests? #f)))) ; Tests need 'unicode' crate.
+       #:skip-build? #t)))) ; Package needs 'unicode' crate.
+
+(define-public rust-quine-mc-cluskey
+  (package
+    (name "rust-quine-mc-cluskey")
+    (version "0.2.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quine-mc-cluskey" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0iazdlwffhrlksb8yhhs1prgwpa68rwjwqm4v26hr9hrswarcn07"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-quickcheck" ,rust-quickcheck-0.3))))
+    (home-page
+      "https://github.com/oli-obk/quine-mc_cluskey")
+    (synopsis
+      "Rust implementation of the Quine-McCluskey algorithm and Petrick's method")
+    (description
+      "Rust implementation of the Quine-McCluskey algorithm and Petrick's method")
+    (license license:expat)))
 
 (define-public rust-quote-1
   (package
@@ -7699,11 +9860,12 @@ invocations.")
      `(#:cargo-inputs
        (("rust-rayon-core" ,rust-rayon-core))
        #:cargo-development-inputs
-       (("rust-compiletest-rs" ,rust-compiletest-rs)
-        ("rust-docopt" ,rust-docopt)
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.2)
+        ("rust-docopt" ,rust-docopt-0.7)
         ("rust-futures" ,rust-futures)
         ("rust-rand" ,rust-rand-0.3)
-        ("rust-rustc-serialize" ,rust-rustc-serialize))))))
+        ("rust-rustc-serialize" ,rust-rustc-serialize))
+       #:tests? #f)))) ; Fails to compile compiletest-rs.
 
 (define-public rust-rayon-core
   (package
@@ -7884,7 +10046,7 @@ invocations.")
         #:cargo-development-inputs
         (("rust-doc-comment" ,rust-doc-comment)
          ("rust-lazy-static" ,rust-lazy-static)
-         ("rust-quickcheck" ,rust-quickcheck)
+         ("rust-quickcheck" ,rust-quickcheck-0.8)
          ("rust-rand" ,rust-rand))))
     (home-page "https://github.com/rust-lang/regex")
     (synopsis
@@ -8048,6 +10210,58 @@ invocations.")
        (("rust-quickcheck" ,rust-quickcheck-0.2)
         ("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-rental
+  (package
+    (name "rust-rental")
+    (version "0.5.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rental" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0zw4cxyqf2w67kl5v6nrab0hg6qfaf5n3n6a0kxkkcdjk2zdwic5"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-rental-impl" ,rust-rental-impl)
+         ("rust-stable-deref-trait"
+          ,rust-stable-deref-trait))))
+    (home-page "https://github.com/jpernst/rental")
+    (synopsis
+      "A macro to generate safe self-referential structs, plus premade types for common use cases.")
+    (description
+      "This package provides a macro to generate safe self-referential structs, plus premade types for common use cases.")
+    (license #f)))
+
+(define-public rust-rental-impl
+  (package
+    (name "rust-rental-impl")
+    (version "0.5.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rental-impl" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1pj0qgmvwwsfwyjqyjxzikkwbwc3vj7hm3hdykr47dy5inbnhpj7"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://www.jpernst.com")
+    (synopsis
+      "An implementation detail of rental. Should not be used directly.")
+    (description
+      "An implementation detail of rental.  Should not be used directly.")
+    (license #f)))
+
 (define-public rust-reqwest
   (package
     (name "rust-reqwest")
@@ -8114,6 +10328,35 @@ invocations.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rgb
+  (package
+    (name "rust-rgb")
+    (version "0.8.14")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rgb" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1nzg8809n0p7g3giq3ca8wi77kcpzv1cihzq07i2kl8l281y9290"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-serde" ,rust-serde))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json))
+        #:tests? #f)) ; internal::ops::test::test_add_overflow fails
+    (home-page "https://lib.rs/crates/rgb")
+    (synopsis
+      "`struct RGB/RGBA/etc.` for sharing pixels between crates + convenience methods for color manipulation.
+      Allows no-copy high-level interoperability. Also adds common convenience methods and implements standard Rust traits to make `RGB`/`RGBA` pixels and slices first-class Rust objects.")
+          (description
+            "`struct RGB/RGBA/etc.` for sharing pixels between crates + convenience methods for color manipulation.
+            Allows no-copy high-level interoperability.  Also adds common convenience methods and implements standard Rust traits to make `RGB`/`RGBA` pixels and slices first-class Rust objects.")
+    (license license:expat)))
+
 (define-public rust-ring
   (package
     (name "rust-ring")
@@ -8193,11 +10436,18 @@ invocations.")
       `(#:cargo-inputs
         (("rust-colored" ,rust-colored)
          ("rust-derive-new" ,rust-derive-new)
-         ("rust-derive-builder" ,rust-derive-builder)
-         ("rust-expectest" ,rust-expectest)
-         ("rust-rayon" ,rust-rayon))
+         ("rust-derive-builder" ,rust-derive-builder-0.5)
+         ("rust-expectest" ,rust-expectest-0.9)
+         ("rust-rayon" ,rust-rayon-0.8))
         #:cargo-development-inputs
-        (("rust-clippy" ,rust-clippy))))
+        (("rust-clippy" ,rust-clippy))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'ddont-require-rust-clippy
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("0.0.153") "0.0"))
+             #t)))))
     (home-page "https://mackwic.github.io/rspec")
     (synopsis
       "Write Rspec-like tests with stable rust")
@@ -8205,6 +10455,24 @@ invocations.")
       "Write Rspec-like tests with stable rust")
     (license license:mpl2.0)))
 
+(define-public rust-rspec-1.0.0-beta3
+  (package
+    (inherit rust-rspec)
+    (name "rust-rspec")
+    (version "1.0.0-beta.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rspec" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1qkafvyg3r3h4ffhb7bhzq54mxxbirn2hk693wxdv5zhdjx68a99"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs (("rust-clippy" ,rust-clippy))))))
+
 (define-public rust-rustc-test
   (package
     (name "rust-rustc-test")
@@ -8285,7 +10553,7 @@ invocations.")
          ("rust-sct" ,rust-sct)
          ("rust-webpki" ,rust-webpki))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
+        (("rust-criterion" ,rust-criterion-0.2)
          ("rust-env-logger" ,rust-env-logger)
          ("rust-log" ,rust-log)
          ("rust-tempfile" ,rust-tempfile)
@@ -8614,7 +10882,8 @@ function with proven statistical guarantees.")
           "1j4ajipn0sf4ya0crgcb94s848qp7mfc35n6d0q2rf8rk5skzbcx"))))
     (arguments
      `(#:cargo-development-inputs
-       (("rust-clippy" ,rust-clippy))))))
+       (("rust-clippy" ,rust-clippy))
+       #:tests? #f)))) ; doc tests fail
 
 (define-public rust-serde-big-array
   (package
@@ -9109,6 +11378,40 @@ function with proven statistical guarantees.")
       "Minimal implementation of SHA1 for Rust.")
     (license license:bsd-3)))
 
+(define-public rust-simd
+  (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
+      `(#:cargo-inputs
+        (("rust-serde" ,rust-serde)
+         ("rust-serde-derive" ,rust-serde-derive))
+        #:cargo-development-inputs
+        (("rust-cfg-if" ,rust-cfg-if))
+        #:skip-build? #t)) ; Unsupported as of rust-1.33 nightly
+    (home-page "https://github.com/hsivonen/simd")
+    (synopsis
+      "`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.)
+      ")
+      (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 #f)))
+
 (define-public rust-siphasher
   (package
     (name "rust-siphasher")
@@ -9143,6 +11446,40 @@ function with proven statistical guarantees.")
          (base32
           "1b53m53l24lyhr505lwqzrpjyq5qfnic71mynrcfvm43rybf938b"))))))
 
+(define-public rust-skeptic
+  (package
+    (name "rust-skeptic")
+    (version "0.13.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "skeptic" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0rai61hbs65nbvbhqlk1nap5hlav5qx3zmjjjzh9rhgxagc8xyyn"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bytecount" ,rust-bytecount-0.4)
+         ("rust-cargo-metadata" ,rust-cargo-metadata-0.6)
+         ("rust-error-chain" ,rust-error-chain)
+         ("rust-glob" ,rust-glob)
+         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.2)
+         ("rust-serde-json" ,rust-serde-json)
+         ("rust-tempdir" ,rust-tempdir)
+         ("rust-walkdir" ,rust-walkdir))
+        #:cargo-development-inputs
+        (("rust-unindent" ,rust-unindent))))
+    (home-page
+      "https://github.com/budziq/rust-skeptic")
+    (synopsis
+      "Test your Rust markdown documentation via Cargo")
+    (description
+      "Test your Rust markdown documentation via Cargo")
+    (license #f)))
+
 (define-public rust-sleef-sys
   (package
     (name "rust-sleef-sys")
@@ -9509,6 +11846,87 @@ function with proven statistical guarantees.")
       "This package provides a UTF-8 encoded string with configurable byte storage.")
     (license license:expat)))
 
+(define-public rust-string-cache
+  (package
+    (name "rust-string-cache")
+    (version "0.7.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "string-cache" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1w4ya29jy33am40drn1bmms4rggvq5paibdr5rzjvbrwbakv7k4n"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-lazy-static" ,rust-lazy-static)
+         ("rust-new-debug-unreachable" ,rust-new-debug-unreachable)
+         ("rust-phf-shared" ,rust-phf-shared)
+         ("rust-precomputed-hash" ,rust-precomputed-hash)
+         ("rust-serde" ,rust-serde)
+         ("rust-string-cache-shared" ,rust-string-cache-shared))
+        #:cargo-development-inputs
+        (("rust-rand" ,rust-rand-0.4)
+         ("rust-string-cache-codegen" ,rust-string-cache-codegen))))
+    (home-page "https://github.com/servo/string-cache")
+    (synopsis
+      "A string interning library for Rust, developed as part of the Servo project.")
+    (description
+      "This package provides a string interning library for Rust, developed as part of the Servo project.")
+    (license #f)))
+
+(define-public rust-string-cache-codegen
+  (package
+    (name "rust-string-cache-codegen")
+    (version "0.4.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "string-cache-codegen" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1ik78h9gs874i24rkyh0myg6x4ni2a9cazbv5yzs9yavnv8mxx7h"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-phf-generator" ,rust-phf-generator)
+         ("rust-phf-shared" ,rust-phf-shared)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-string-cache-shared" ,rust-string-cache-shared))))
+    (home-page
+      "https://github.com/servo/string-cache")
+    (synopsis
+      "A codegen library for string-cache, developed as part of the Servo project.")
+    (description
+      "This package provides a codegen library for string-cache, developed as part of the Servo project.")
+    (license #f)))
+
+(define-public rust-string-cache-shared
+  (package
+    (name "rust-string-cache-shared")
+    (version "0.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "string-cache-shared" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1z7dpdix1m42x6ddshdcpjf91ml9mhvnskmiv5kd8hcpq0dlv25i"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/servo/string-cache")
+    (synopsis
+      "Code share between string_cache and string_cache_codegen.")
+    (description
+      "Code share between string_cache and string_cache_codegen.")
+    (license #f)))
+
 (define-public rust-strsim-0.6
   (package
     (inherit rust-strsim)
@@ -9873,6 +12291,26 @@ function with proven statistical guarantees.")
     (description "Backport of libsyntax_pos")
     (license #f)))
 
+(define-public rust-takeable-option
+  (package
+    (name "rust-takeable-option")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "takeable-option" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "182axkm8pq7cynsfn65ar817mmdhayrjmbl371yqp8zyzhr8kbin"))))
+    (build-system cargo-build-system)
+    (home-page "")
+    (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-target-build-utils
   (package
     (name "rust-target-build-utils")
@@ -9928,6 +12366,36 @@ function with proven statistical guarantees.")
       "This is a library for managing targets for compilers and related tools.")
     (license license:asl2.0))) ; with LLVM exception
 
+(define-public rust-tendril
+  (package
+    (name "rust-tendril")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "tendril" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0fsx7blrrzgca8aa2yqy8zxyi8s7amskhgkk1ml5sbaqyalyszvh"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-encoding" ,rust-encoding)
+         ("rust-encoding-rs" ,rust-encoding-rs)
+         ("rust-futf" ,rust-futf)
+         ("rust-mac" ,rust-mac)
+         ("rust-utf-8" ,rust-utf-8))
+        #:cargo-development-inputs
+        (("rust-rand" ,rust-rand-0.4))))
+    (home-page "https://github.com/servo/tendril")
+    (synopsis
+      "Compact buffer/string type for zero-copy parsing")
+    (description
+      "Compact buffer/string type for zero-copy parsing")
+    (license #f)))
+
 (define-public rust-term-0.5
   (package
     (name "rust-term")
@@ -10095,7 +12563,7 @@ function with proven statistical guarantees.")
         (("rust-serde" ,rust-serde)
          ("rust-serde-json" ,rust-serde-json))
         #:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion)
+        (("rust-criterion" ,rust-criterion-0.2)
          ("rust-serde-derive" ,rust-serde-derive))))
     (home-page
       "https://github.com/bheisler/TinyTemplate")
@@ -10777,6 +13245,28 @@ function with proven statistical guarantees.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-toml-0.4
+  (package
+    (inherit rust-toml)
+    (name "rust-toml")
+    (version "0.4.10")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "toml" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "07qilkzinn8z13vq2sss65n2lza7wrmqpvkbclw919m3f7y691km"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-serde" ,rust-serde))
+        #:cargo-development-inputs
+        (("rust-serde-derive" ,rust-serde-derive)
+         ("rust-serde-json" ,rust-serde-json))))))
+
 (define-public rust-trust-dns-https
   (package
     (name "rust-trust-dns-https")
@@ -11070,7 +13560,7 @@ function with proven statistical guarantees.")
     (build-system cargo-build-system)
     (arguments
       `(#:cargo-development-inputs
-        (("rust-criterion" ,rust-criterion))))
+        (("rust-criterion" ,rust-criterion-0.2))))
     (home-page
       "https://github.com/SimonSapin/rust-typed-arena")
     (synopsis
@@ -11229,7 +13719,7 @@ function with proven statistical guarantees.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck))))
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
     (home-page "https://github.com/unicode-rs/unicode-segmentation")
     (synopsis "Grapheme Cluster, Word and Sentence boundaries for rust")
     (description
@@ -11341,6 +13831,28 @@ according to Unicode Standard Annex #29 rules.")
       "URL Encoded middleware for the Iron web framework. Decode URL Encoded data from GET request queries and POST request bodies.")
     (license license:expat)))
 
+(define-public rust-utf-8
+  (package
+    (name "rust-utf-8")
+    (version "0.7.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "utf-8" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1iw5rp4i3mfi9k51picbr5bgjqhjcmnxx7001clh5ydq31y2zr05"))))
+    (build-system cargo-build-system)
+    (home-page
+      "https://github.com/SimonSapin/rust-utf8")
+    (synopsis
+      "Incremental, zero-copy UTF-8 decoding with error handling")
+    (description
+      "Incremental, zero-copy UTF-8 decoding with error handling")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-utf8-ranges
   (package
     (name "rust-utf8-ranges")
@@ -11358,7 +13870,7 @@ according to Unicode Standard Annex #29 rules.")
     (arguments
       `(#:cargo-development-inputs
         (("rust-doc-comment" ,rust-doc-comment)
-         ("rust-quickcheck" ,rust-quickcheck))))
+         ("rust-quickcheck" ,rust-quickcheck-0.8))))
     (home-page
       "https://github.com/BurntSushi/utf8-ranges")
     (synopsis
@@ -11465,12 +13977,12 @@ according to Unicode Standard Annex #29 rules.")
       `(#:cargo-inputs
         (("rust-itertools" ,rust-itertools)
          ("rust-proc-macro2" ,rust-proc-macro2)
-         ("rust-pulldown-cmark" ,rust-pulldown-cmark)
+         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.4)
          ("rust-regex" ,rust-regex)
          ("rust-semver-parser" ,rust-semver-parser)
          ("rust-syn" ,rust-syn)
          ("rust-toml" ,rust-toml)
-         ("rust-url" ,rust-url))))
+         ("rust-url" ,rust-url-1))))
     (home-page
       "https://github.com/mgeisler/version-sync")
     (synopsis
@@ -11901,6 +14413,38 @@ according to Unicode Standard Annex #29 rules.")
        (("rust-tempdir" ,rust-tempdir))
        #:tests? #f)))) ; TODO: Fix tests
 
+(define-public rust-winconsole
+  (package
+    (name "rust-winconsole")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winconsole" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0cjhrzs6djbi7sv37yl27plkqrp7y7bncrh5h3cjvdqds6b4py1y"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cgmath" ,rust-cgmath-0.16)
+         ("rust-lazy-static" ,rust-lazy-static)
+         ("rust-rgb" ,rust-rgb)
+         ("rust-serde" ,rust-serde)
+         ("rust-winapi" ,rust-winapi))
+        #:cargo-development-inputs
+        (("rust-serde-cbor" ,rust-serde-cbor)
+         ("rust-serde-json" ,rust-serde-json))))
+    (home-page
+      "https://github.com/omarkmu/winconsole")
+    (synopsis
+      "A wrapper for console-related functions in the Windows API.")
+    (description
+      "This package provides a wrapper for console-related functions in the Windows API.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-winreg
   (package
     (name "rust-winreg")
@@ -11930,6 +14474,55 @@ according to Unicode Standard Annex #29 rules.")
       "Rust bindings to MS Windows Registry API.")
     (license license:expat)))
 
+(define-public rust-x11-dl
+  (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
+      `(#:cargo-inputs
+        (("rust-lazy-static" ,rust-lazy-static)
+         ("rust-libc" ,rust-libc)
+         ("rust-maybe-uninit" ,rust-maybe-uninit)
+         ("rust-pkg-config" ,rust-pkg-config))
+        #:cargo-development-inputs
+        (("rust-pkg-config" ,rust-pkg-config))))
+    (inputs
+     `(("pkg-config" ,rust-pkg-config)))
+    (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-xml-rs
+  (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)
+    (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-xz2
   (package
     (name "rust-xz2")