gnu: Add rust-sct-0.6.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
index 11bd092..9d5568e 100644 (file)
@@ -42,6 +42,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
@@ -10017,6 +10018,36 @@ SystemTime}}.")
     (description "This package provides a fast and correct HTTP library.")
     (license license:expat)) )
 
+(define-public rust-hyper-tls-0.3
+  (package
+    (name "rust-hyper-tls")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hyper-tls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0kqp4sz8613j6nv375wfj3gh95ff4nb6a3rb1f2vbx0almm0v01s"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("openssl" ,openssl)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-hyper" ,rust-hyper-0.12)
+        ("rust-native-tls" ,rust-native-tls-0.2)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))
+       #:cargo-development-inputs
+       (("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://hyper.rs")
+    (synopsis "Default TLS implementation for use with hyper")
+    (description "Default TLS implementation for use with hyper")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-idna-0.2
   (package
     (name "rust-idna")
@@ -10979,6 +11010,67 @@ currently supports parsing (fully conformant parser), formatting and comparing
 language tags.")
     (license license:expat)))
 
+(define-public rust-lalrpop-0.17
+  (package
+    (name "rust-lalrpop")
+    (version "0.17.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lalrpop" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1nv7ma8cgw3r1fcma7gy06fwwlpl4fkz91mxv5kjhiaxwyc3dp34"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+      (("rust-ascii-canvas" ,rust-ascii-canvas-2)
+       ("rust-atty" ,rust-atty-0.2)
+       ("rust-bit-set" ,rust-bit-set-0.5)
+       ("rust-diff" ,rust-diff-0.1)
+       ("rust-docopt" ,rust-docopt-1.1)
+       ("rust-ena" ,rust-ena-0.13)
+       ("rust-itertools" ,rust-itertools-0.8)
+       ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
+       ("rust-petgraph" ,rust-petgraph-0.4)
+       ("rust-regex" ,rust-regex-1.3)
+       ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+       ("rust-serde" ,rust-serde-1.0)
+       ("rust-serde-derive" ,rust-serde-derive-1.0)
+       ("rust-sha2" ,rust-sha2-0.8)
+       ("rust-string-cache" ,rust-string-cache-0.7)
+       ("rust-term" ,rust-term-0.5)
+       ("rust-unicode-xid" ,rust-unicode-xid-0.2))
+      #:cargo-development-inputs
+      (("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://github.com/lalrpop/lalrpop")
+    (synopsis "Convenient LR(1) parser generator for Rust")
+    (description "LALRPOP is a Rust parser generator framework with usability
+as its primary goal.  You should be able to write compact, DRY, readable
+grammars.")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-lalrpop-util-0.17
+  (package
+    (name "rust-lalrpop-util")
+    (version "0.17.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lalrpop-util" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0z4bjn3g9232n1im5p6mn9mwlvw5aj5iac6hbjmljqxkhf3d2xy2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-regex" ,rust-regex-1.3))))
+  (home-page "https://github.com/lalrpop/lalrpop")
+  (synopsis "Runtime library for parsers generated by LALRPOP")
+  (description "THis package provides the runtime library for parsers
+generated by LALRPOP.")
+  (license (list license:asl2.0 license:expat))))
+
 (define-public rust-lazy-static-1.4
   (package
     (name "rust-lazy-static")
@@ -11150,6 +11242,26 @@ values of all the exported APIs match the platform that libc is compiled for.")
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public rust-libc-print-0.1
+  (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-0.2))))
+    (home-page "https://github.com/mmastrac/rust-libc-print")
+    (synopsis "Println! and eprintln! without stdlib")
+    (description "This package provices @code{println!} and @code{eprintln!}
+macros on libc without stdlib.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-libgit2-sys-0.10
   (package
     (name "rust-libgit2-sys")
@@ -11339,6 +11451,32 @@ functions and static variables these libraries contain.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-libsqlite3-sys-0.15
+  (package
+    (name "rust-libsqlite3-sys")
+    (version "0.15.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libsqlite3-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "104n0s4f46zprppjq6y82y0wjh1r2cgwzw26w914yj30rizy1cbj"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("sqlite" ,sqlite)))
+    (arguments
+     `(#:cargo-inputs
+       ;; build dependencies
+       (("rust-bindgen" ,rust-bindgen-0.49)
+        ("rust-cc" ,rust-cc-1.0)
+        ("rust-pkg-config" ,rust-pkg-config-0.3)
+        ("rust-vcpkg" ,rust-vcpkg-0.2))))
+    (home-page "https://github.com/rusqlite/rusqlite")
+    (synopsis "Native bindings to the libsqlite3 library")
+    (description "Native bindings to the libsqlite3 library")
+    (license license:expat)))
+
 (define-public rust-libz-sys-1.0
   (package
     (name "rust-libz-sys")
@@ -11695,8 +11833,56 @@ by inspecting the system for user preference.")
      `(#:cargo-inputs
        (("rust-log" ,rust-log-0.4))))))
 
-(define-public rust-loom-0.1
+(define-public rust-loom-0.3
   (package
+    (name "rust-loom")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "loom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "10z738ig6vgvwc2kxjhjdr5b29p3ribk5f6gg6ak0xjxhjb4cnkc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;; TODO fails due to unresolved import
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-generator" ,rust-generator-0.6)
+        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/tokio-rs/loom")
+    (synopsis "Permutation testing for concurrent code")
+    (description "Permutation testing for concurrent code")
+    (license license:expat)))
+
+(define-public rust-loom-0.2
+  (package/inherit rust-loom-0.3
+    (name "rust-loom")
+    (version "0.2.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "loom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0qwvwbpnxff5m6647v9rc9i6ak8ral4jy0br5xx1s9a5zcd3xddh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-generator" ,rust-generator-0.6)
+        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-test" ,rust-serde-test-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0))))))
+
+(define-public rust-loom-0.1
+  (package/inherit rust-loom-0.3
     (name "rust-loom")
     (version "0.1.1")
     (source
@@ -11708,7 +11894,6 @@ by inspecting the system for user preference.")
        (sha256
         (base32
          "1jmp5mffwwyqgp914cwz92ij2s6vk1hsnkvgndvzw74xrcfraibj"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
@@ -11717,11 +11902,29 @@ by inspecting the system for user preference.")
         ("rust-scoped-tls" ,rust-scoped-tls-0.1)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://github.com/tokio-rs/loom")
-    (synopsis "Model checker for concurrent code")
-    (description "Model checker for concurrent code.")
-    (license license:expat)))
+        ("rust-serde-json" ,rust-serde-json-1.0))))))
+
+(define-public rust-lru-cache-0.1
+  (package
+    (name "rust-lru-cache")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lru-cache" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "071viv6g2p3akwqmfb3c8vsycs5n7kr17b70l7la071jv0d4zqii"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-heapsize" ,rust-heapsize-0.4)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5))))
+    (home-page "https://github.com/contain-rs/lru-cache")
+    (synopsis "Cache that holds a limited number of key-value pairs")
+    (description "This package provides a cache that holds a limited number of
+key-value pairs.")
+    (license (list license:expat license:asl2.0))))
 
 (define-public rust-lscolors-0.6
   (package
@@ -11873,6 +12076,24 @@ implementation of LZMA and xz stream encoding/decoding.")
      "This package provides a collection of great and ubiqutitous macros.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-mach-o-sys-0.1
+  (package
+    (name "rust-mach-o-sys")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mach-o-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "09l8p7nmzq37450x2h6nb7dzg1sk6dk36a5rkcrcy81zm21lb19y"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/fitzgen/mach_o_sys")
+    (synopsis "Bindings to the OSX mach-o system library")
+    (description "This package provides bindings to the OSX mach-o system
+library")
+  (license (list license:asl2.0 license:expat))))
+
 (define-public rust-make-cmd-0.1
   (package
     (name "rust-make-cmd")
@@ -12296,6 +12517,30 @@ for Rust structs.")
          "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g"))))
     (arguments `(#:skip-build? #t))))
 
+(define-public rust-memsec-0.5
+  (package
+    (name "rust-memsec")
+    (version "0.5.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memsec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mach-o-sys" ,rust-mach-o-sys-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/quininer/memsec")
+    (synopsis "Rust implementation of libsodium/utils")
+    (description "This package provides a Rust implementation of
+@code{libsodium/utils}.")
+    (license license:expat)))
+
 (define-public rust-metadeps-1.1
   (package
     (name "rust-metadeps")
@@ -14654,6 +14899,36 @@ normally prevent moving a type that has been borrowed from.")
     (description "This package provides FFI bindings to libgtk-3.")
     (license license:expat)))
 
+(define-public rust-parity-tokio-ipc-0.4
+  (package
+    (name "rust-parity-tokio-ipc")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-tokio-ipc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1gzifrrpiw78p6dq9ax64vhffc4h6mwg6jazpfgkz8zy0jjzwmqy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
+        ("rust-miow" ,rust-miow-0.3)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-named-pipes" ,rust-tokio-named-pipes-0.1)
+        ("rust-tokio-uds" ,rust-tokio-uds-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/nikvolf/parity-tokio-ipc")
+    (synopsis "Interprocess communication library for tokio")
+    (description "Interprocess communication library for tokio.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-wasm-0.41
   (package
     (name "rust-parity-wasm")
@@ -15912,6 +16187,29 @@ interactive applications.")
      "This package provides a library for window abstraction.")
     (license license:expat)))
 
+(define-public rust-pin-project-lite-0.1
+  (package
+    (name "rust-pin-project-lite")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pin-project-lite" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1bljczwz9yyb6jskjhbkilcbdg7v1mhfwzp2mxknzf7v1isl8y13"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/taiki-e/pin-project-lite")
+    (synopsis "Lightweight version of pin-project written with declarative
+macros")
+    (description "This package provides a lightweight version of pin-project
+written with declarative macros.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-pkg-config-0.3
   (package
     (name "rust-pkg-config")
@@ -16276,6 +16574,27 @@ dependency to expose a precomputed hash.")
 replacements, adding colorful diffs.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-pretty-assertions-0.2
+  (package
+    (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))))
+    (home-page "https://github.com/colin-kiegel/rust-pretty-assertions")
+    (synopsis "Colorful diffs for `assert_eq!` and `assert_ne!`")
+    (description "Overwrite `assert_eq!` and `assert_ne!` with drop-in
+replacements, adding colorful diffs.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-pretty-env-logger-0.3
   (package
     (name "rust-pretty-env-logger")
@@ -16301,6 +16620,32 @@ replacements, adding colorful diffs.")
     (description "This package provides a visually pretty env_logger.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-prettytable-rs-0.8
+  (package
+    (name "rust-prettytable-rs")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "prettytable-rs" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0bmcsxkcy94hi0jz5db0fz137w5aaf17z2j1ryn2vyh400blpl0g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-csv" ,rust-csv-1.1)
+        ("rust-encode-unicode" ,rust-encode-unicode-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-term" ,rust-term-0.5)
+        ("rust-unicode-width" ,rust-unicode-width-0.1))))
+    (home-page "https://github.com/phsym/prettytable-rs")
+    (synopsis "Library for printing pretty formatted tables in terminal")
+    (description "This package provides a library for printing pretty
+formatted tables in terminal.")
+    (license license:bsd-3)))
+
 (define-public rust-proc-macro-error-0.4
   (package
     (name "rust-proc-macro-error")
@@ -16694,6 +17039,23 @@ stack pointer and inspect the properties of the stack.")
      "This package provides a pull parser for CommonMark.")
     (license license:expat)))
 
+(define-public rust-pulldown-cmark-0.0.8
+  (package/inherit rust-pulldown-cmark-0.4
+    (name "rust-pulldown-cmark")
+    (version "0.0.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pulldown-cmark" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hbg68h1w48cp72n95hjmbm70jrb5khc9vipcmjng83wjaxxfn0h"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.5)
+        ("rust-getopts" ,rust-getopts-0.2))))))
+
 (define-public rust-quantiles-0.7
   (package
     (name "rust-quantiles")
@@ -17803,6 +18165,28 @@ accessors.")
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0))))))
 
+(define-public rust-rayon-0.8
+  (package/inherit rust-rayon-1.3
+    (name "rust-rayon")
+    (version "0.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rayon" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1j2l9x98ma63qkh9w8zik0vcpwqf9cvc2ynh66ibjp36nq4gw55n"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rayon-core" ,rust-rayon-core-1.7))
+      #:cargo-development-inputs
+      (("rust-compiletest-rs" ,rust-compiletest-rs-0.2)
+       ("rust-docopt" ,rust-docopt-0.7)
+       ("rust-futures" ,rust-futures-0.1)
+       ("rust-rand" ,rust-rand-0.3)
+       ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
+
 (define-public rust-rayon-core-1.7
   (package
     (name "rust-rayon-core")
@@ -18398,6 +18782,56 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ring-0.16
+  (package
+    (name "rust-ring")
+    (version "0.16.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ring" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "033sb54dlmiqdivc8v9ykkq3v08lzy0syjf5k1nag2gfcknai98v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-spin" ,rust-spin-0.5)
+        ("rust-untrusted" ,rust-untrusted-0.7)
+        ("rust-web-sys" ,rust-web-sys-0.3)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ;; build dependencies
+        ("rust-cc" ,rust-cc-1.0))
+       #:cargo-development-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (home-page "https://github.com/briansmith/ring")
+    (synopsis "Safe, fast, small crypto using Rust")
+    (description "This package provided safe, fast, small crypto using Rust.")
+    (license (list license:isc license:openssl))))
+
+(define-public rust-ring-0.13
+  (package/inherit rust-ring-0.16
+    (name "rust-ring")
+    (version "0.13.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ring" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "12j580by6a438i5mw3136cj3lxylywymdr5p8rqlkwrm5s5bck9c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-untrusted" ,rust-untrusted-0.6)
+        ;; build dependencies
+        ("rust-cc" ,rust-cc-1.0))))))
+
 (define-public rust-ron-0.4
   (package
     (name "rust-ron")
@@ -18427,6 +18861,98 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rspec-1
+  (package
+    (name "rust-rspec")
+    (version "1.0.0-beta.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rspec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1abfzwkbxlwahb243k8d3fp6i135lx1aqmbfl79w9zlpng182ndk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;; TODO unpackaged dev-dependencies
+       #:cargo-inputs
+       (("rust-colored" ,rust-colored-1.9)
+        ("rust-derive-new" ,rust-derive-new-0.5)
+        ("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-0.0)))) ;; requires 0.0.153
+    (home-page "https://github.com/rust-rspec/rspec")
+    (synopsis "Write Rspec-like tests with stable rust")
+    (description "This package helps writing Rspec-like tests with stable
+rust.")
+    (license license:mpl2.0)))
+
+(define-public rust-rpassword-4
+  (package
+    (name "rust-rpassword")
+    (version "4.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rpassword" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0jnl8wzmdazkpzqs0vsw0n0vm0v4b8chqifd6s84nl9w2ybhx7ym"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/conradkleinespel/rpassword")
+    (synopsis "Read passwords in Rust console applications")
+    (description "This package provides a crate for reading passwords in
+console applications.")
+  (license license:asl2.0)))
+
+(define-public rust-rusqlite-0.19
+  (package
+    (name "rust-rusqlite")
+    (version "0.19.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rusqlite" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "19xq7s0kzhlljm3hqx0vidr91ia8hl49r4m5gwdj9dyywgks5g3f"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("sqlite" ,sqlite)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-csv" ,rust-csv-1.1)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
+        ("rust-fallible-streaming-iterator"
+         ,rust-fallible-streaming-iterator-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15)
+        ("rust-lru-cache" ,rust-lru-cache-0.1)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-url" ,rust-url-1.7)
+        ("rust-uuid" ,rust-uuid-0.7))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-unicase" ,rust-unicase-2.4)
+        ("rust-uuid" ,rust-uuid-0.7))))
+    (home-page "https://github.com/rusqlite/rusqlite")
+    (synopsis "Wrapper for SQLite")
+    (description "This prackage provides a wrapper for SQLite.")
+    (license license:expat)))
+
 (define-public rust-rust-argon2-0.7
   (package
     (name "rust-rust-argon2")
@@ -18885,6 +19411,69 @@ rustc compiler.")
      "Automatically apply the suggestions made by rustc.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustls-0.16
+  (package
+    (name "rust-rustls")
+    (version "0.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "17n0fx3fpkg4fhpdplrdhkissnl003kj90vzbqag11vkpyqihnmj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; 1/114 tests fail (test file not found)
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.10)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-sct" ,rust-sct-0.6)
+        ("rust-webpki" ,rust-webpki-0.21))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.17))))
+    (home-page "https://github.com/ctz/rustls")
+  (synopsis "Modern TLS library written in Rust")
+  (description "This package provides a modern TLS library written in Rust.")
+  (license (list license:asl2.0 license:isc license:expat))))
+
+(define-public rust-rustls-0.12
+  (package/inherit rust-rustls-0.16
+    (name "rust-rustls")
+    (version "0.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1k8b8cc0pjkv5cxdgs43jif7nslzsxair9b2sifgvjag7a4f8wmb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; 1/45 tests fails due to some missing file
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.9)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-ring" ,rust-ring-0.13)
+        ("rust-sct" ,rust-sct-0.3)
+        ("rust-untrusted" ,rust-untrusted-0.6)
+        ("rust-webpki" ,rust-webpki-0.18))
+       #:cargo-development-inputs
+       (("rust-ct-logs" ,rust-ct-logs-0.3)
+        ("rust-docopt" ,rust-docopt-0.8)
+        ("rust-env-logger" ,rust-env-logger-0.4)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-regex" ,rust-regex-0.2)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.14))))))
+
 (define-public rust-rusttype-0.8
   (package
     (name "rust-rusttype")
@@ -19384,6 +19973,29 @@ Pwrite traits from the scroll crate.")
 Pwrite traits from the scroll crate.")
     (license license:expat)))
 
+(define-public rust-sct-0.6
+  (package
+    (name "rust-sct")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g4dz7las43kcpi9vqv9c6l1afjkdv3g3w3s7d2w7a7w77wjl173"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ring" ,rust-ring-0.16)
+        ("rust-untrusted" ,rust-untrusted-0.7))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/ctz/sct.rs")
+    (synopsis "Certificate transparency SCT verification library")
+    (description "Certificate transparency SCT verification library")
+    (license (list license:asl2.0 license:isc license:expat))))
+
 (define-public rust-seahash-3.0
   (package
     (name "rust-seahash")