Subject: [PATCH 01/30] gnu: Add rust-platforms-2.

From: phodina <[email-masked]>
Date: Wed, 09 Feb 2022 16:01:20 +0000

Hi,

These patches add new cargo utility to audit the security of rust crates.

Maybe it could be integrated into the guix lint command to increase the auditing of rust ecosystem in GNU Guix.

However, I do see one downside as this would create coupling on rust which might be problematic e.g. on Aarch64 architecture and it would also increase the complexity and build time for guix package.

Nevertheless it can be used on it's own.

----
Petr

From cc77626c807f8fe172ac25452b0d0122111dccce Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:13:25 +0100
Subject: [PATCH 01/30] gnu: Add rust-platforms-2.

* gnu/packages/crates-io.scm (rust-platforms): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fa9a7d9ab5..bb59b2cdd3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2021 Antero Mejr <[email-masked]>
 ;;; Copyright © 2021 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2021 Vinicius Monego <[email-masked]>
-;;; Copyright © 2021 Petr Hodina <[email-masked]>
+;;; Copyright © 2021, 2022 Petr Hodina <[email-masked]>
 ;;; Copyright © 2021 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2021 Jacob Hrbek <[email-masked]>
 ;;; Copyright © 2021 Nicolas Graves <[email-masked]>
@@ -42046,6 +42046,29 @@ (define-public rust-plain-0.2
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-platforms-2
+  (package
+    (name "rust-platforms")
+    (version "2.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "platforms" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "152cnf65zzr6vj5xyap1aqp6ajmfqdhlij2x1lx02hhjazryxl78"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1))))
+    (home-page "https://rustsec.org")
+    (synopsis "Query information about valid Rust platforms")
+    (description
+     "This package provides information about valid Rust platforms (target
+triple, target_arch, target_os) sourced from Rust Forge.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-plist-1
   (package
     (name "rust-plist")
-- 
2.34.0

From 30e9b43eeb33255dfd64a8acc447dd5a76594a42 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:20:13 +0100
Subject: [PATCH 02/30] gnu: Add rust-humantime-serde-1.

* gnu/packages/crates-io.scm (rust-humantime-serde-1): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bb59b2cdd3..c6db2c1e88 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27209,6 +27209,29 @@ (define-public rust-httpdate-0.3
         (base32 "0izbd3sf0625wm4rrfv85xa4xa8j4n1ldxhwlkgff4cm6rh4sjs9"))))
     (arguments `(#:skip-build? #t))))
 
+(define-public rust-humantime-serde-1
+  (package
+    (name "rust-humantime-serde")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "humantime-serde" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0n208zzy69f7pgwcm1d0id4nzhssxn3z3zy7ki3dpkaazmnaad5c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-humantime" ,rust-humantime-2)
+        ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/jean-airoldie/humantime-serde")
+    (synopsis "Humantime serialization timestamp format")
+    (description
+     "This package provides a Humantime serialization timestamp format.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-humansize-1
   (package
     (name "rust-humansize")
-- 
2.34.0

From 08ee4d245e93aa5233c110a2f88ec70b1e704364 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 14:42:57 +0100
Subject: [PATCH 17/30] gnu: rust-error-chain: Update to 0.12.4.

* gnu/packages/crates-io.scm (rust-error-chain): Update to 0.12.4.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 162fca3e50..2644674195 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20233,7 +20233,7 @@ (define-public rust-errno-dragonfly-0.1
 (define-public rust-error-chain-0.12
   (package
     (name "rust-error-chain")
-    (version "0.12.2")
+    (version "0.12.4")
     (source
      (origin
        (method url-fetch)
@@ -20242,7 +20242,7 @@ (define-public rust-error-chain-0.12
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ka5y0fmymxzx3gz2yrd7rpz2i555m1iw4fpmcggpzcgr1n10wfk"))))
+         "1z6y5isg0il93jp287sv7pn10i4wrkik2cpyk376wl61rawhcbrd"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-- 
2.34.0

From e36affae0186f720f6ad777ba42532bd40b9b7b4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:29:57 +0100
Subject: [PATCH 03/30] gnu: Add rust-fs-err-2.

* gnu/packages/crates.scm (rust-fs-err-2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c6db2c1e88..7cd618befc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22444,6 +22444,27 @@ (define-public rust-fs2-0.4
 duplication.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-fs-err-2
+  (package
+    (name "rust-fs-err")
+    (version "2.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "fs-err" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1q5z8d6q8310fgzg78bpmhyfigz7fkgp1bbmhcxq85k1ml23bgay"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/andrewhickman/fs-err")
+    (synopsis "Better error messages for std::fs crate")
+    (description
+     "This package provides a drop-in replacement for std::fs with more helpful
+error messages.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-fs-extra-1
   (package
     (name "rust-fs-extra")
-- 
2.34.0

From c5100667bb03b7545a9d320e463174340b0da583 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 14:43:51 +0100
Subject: [PATCH 18/30] gnu: Add rust-cargo-edit-0.8.

* gnu/packages/crates-io.scm (rust-cargo-edit-0.8): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2644674195..9797494e28 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9882,6 +9882,56 @@ (define-public rust-cargo-metadata-0.2
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-cargo-edit-0.8
+  (package
+    (name "rust-cargo-edit")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "cargo-edit" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0yk5f4qjzflfqzgfws9zifij2fqchc9q551m7ljznmjrhlif2yh4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-error-chain" ,rust-error-chain-0.12)
+        ("rust-git2" ,rust-git2-0.13)
+        ("rust-hex" ,rust-hex-0.4)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-semver" ,rust-semver-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-termcolor" ,rust-termcolor-1)
+        ("rust-toml-edit" ,rust-toml-edit-0.3)
+        ("rust-url" ,rust-url-2)
+        ("rust-crates-index" ,rust-crates-index-0.17)
+        ("rust-cargo-metadata" ,rust-cargo-metadata-0.14)
+        ("rust-dirs-next" ,rust-dirs-next-2)
+        ("rust-dunce" ,rust-dunce-1)
+        ("rust-env-proxy" ,rust-env-proxy-0.4)
+        ("rust-pathdiff" ,rust-pathdiff-0.2)
+        ("rust-structopt" ,rust-structopt-0.3)
+        ("rust-subprocess" ,rust-subprocess-0.2)
+        ("rust-toml-edit" ,rust-toml-edit-0.3)
+        ("rust-ureq" ,rust-ureq-1))
+       #:cargo-development-inputs
+       (("rust-assert-cmd" ,rust-assert-cmd-2)
+        ("rust-assert-fs" ,rust-assert-fs-1)
+        ("rust-predicates" ,rust-predicates-2)
+        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+    (home-page "https://github.com/killercup/cargo-edit")
+    (synopsis
+     "Allows you to add and remove dependencies from the command line")
+    (description
+     "This package extends Cargo to allow you to add and remove dependencies
+by modifying your `Cargo.toml` file from the command line.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cargo-lock-7
   (package
     (name "rust-cargo-lock")
-- 
2.34.0

From 0faf5c181a9787a0be466ccb70bc84ddfa9a8c37 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:43:33 +0100
Subject: [PATCH 06/30] gnu: Add rust-gumpdrop-0.8.

* gnu/packages/crates-io.scm (rust-gumdrop-0.8): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f26f4c2ec4..1f6217849c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25459,6 +25459,30 @@ (define-public rust-groupable-0.2
      "This package aggregates groups of values from key-value iterators.")
     (license license:expat)))
 
+(define-public rust-gumdrop-0.8
+  (package
+    (name "rust-gumdrop")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "gumdrop" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "02waas37nr8y669lnm1ifp6bkx79v3bd0bd4s9qcyy04aifiyms6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-gumdrop-derive" ,rust-gumdrop-derive-0.8))
+       #:cargo-development-inputs
+       (("rust-assert-matches" ,rust-assert-matches-1))))
+    (home-page "https://github.com/murarth/gumdrop")
+    (synopsis "Option parser with custom derive support")
+    (description "This package provides option parser with custom derive
+support.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-gumdrop-derive-0.8
   (package
     (name "rust-gumdrop-derive")
-- 
2.34.0

From c72e73202069f6e75b1f7ce24765ed46e64ab37f Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 15:04:41 +0100
Subject: [PATCH 22/30] gnu: Add rust-gumdrop-0.7.

* gnu/packages/crates-io.scm (rust-gumdrop-0.7): New variable. Inherit
  from rust-gumdrop-0.8.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c9be3ca888..9dc021e53a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25608,6 +25608,26 @@ (define-public rust-gumdrop-0.8
 support.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gumdrop-0.7
+  (package
+    (inherit rust-gumdrop-0.8)
+    (name "rust-gumdrop")
+    (version "0.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gumdrop" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1pmw21ggwqqizh66zp7bylbffi6qs064w2rfj3rc3smyq65r0l7f"))))
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gumdrop-derive" ,rust-gumdrop-derive-0.7))
+        #:cargo-development-inputs
+        (("rust-assert-matches" ,rust-assert-matches-1))))))
+
 (define-public rust-gumdrop-derive-0.8
   (package
     (name "rust-gumdrop-derive")
-- 
2.34.0

From 3f099d29c29b917d4ceb836cdc18fc71741c309d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 15:05:38 +0100
Subject: [PATCH 21/30] gnu: Add rust-gumdrop-derive-0.7.

* gnu/packages/crates-io.scm (rust-gumdrop-derive-0.7): New variable. Inherit
  from rust-gumdrop-derive-0.8.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b7e2d3d5fa..c9be3ca888 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25631,6 +25631,25 @@ (define-public rust-gumdrop-derive-0.8
     (description "This package provides custom derive support for gumdrop.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gumdrop-derive-0.7
+  (package
+    (inherit rust-gumdrop-derive-0.8)
+    (name "rust-gumdrop-derive")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "gumdrop_derive" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1mrm1h4n13b3n79d1215jq9q9d6sgcvfzdb8i5mcmds0vvj4qich"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))))
+
 (define-public rust-gzip-header-0.3
   (package
     (name "rust-gzip-header")
-- 
2.34.0

From 53a2e05681722b2570fbf0d0c991ca4b0761030f Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:49:31 +0100
Subject: [PATCH 07/30] gnu: Add rust-cargo-lock-7.

* gnu/packages/crates-io.scm (rust-cargo-lock-7): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1f6217849c..293408090f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9882,6 +9882,34 @@ (define-public rust-cargo-metadata-0.2
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-cargo-lock-7
+  (package
+    (name "rust-cargo-lock")
+    (version "7.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "cargo-lock" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "122wirj0d44xi2i7sc6anjimqfvgw5p5ry840zikc82vpn44pc3z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-gumdrop" ,rust-gumdrop-0.8)
+        ("rust-petgraph" ,rust-petgraph-0.6)
+        ("rust-semver" ,rust-semver-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://rustsec.org")
+    (synopsis "Cargo.lock parser with optional dependency graph analysis")
+    (description
+     "This package provides self-contained Cargo.lock parser with optional
+dependency graph analysis")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cargo-platform-0.1
   (package
     (name "rust-cargo-platform")
-- 
2.34.0

From 67c54e47a7b3b63119a419df00f78c3795054d7e Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:03:14 +0100
Subject: [PATCH 10/30] gnu: Add rust-vec1-1.

* gnu/packages/crates-io.scm (rust-vec1-1): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4fd7cc4fd8..2c7f9d5c55 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -67784,6 +67784,30 @@ (define-public rust-vec-map-0.8
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-vec1-1
+  (package
+    (name "rust-vec1")
+    (version "1.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "vec1" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0cv1b88k9fac0wlg3yzbkrwdxvyb8w9f14big5q9a3sgfwf67haz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1)
+        ("rust-smallvec" ,rust-smallvec-1))))
+    (home-page "https://github.com/rustonaut/vec1/")
+    (synopsis "Vec wrapper assuring that it has at least 1 element")
+    (description
+     "This package provides wrapper for a std::Vec assuring that it
+has at least 1 element.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-vecmath-1
   (package
     (name "rust-vecmath")
-- 
2.34.0

From 970efdc4b1b9068baf3748b48c37cdadc1ef6e37 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 14:47:53 +0100
Subject: [PATCH 19/30] gnu: Add rust-rustsec-0.25.

* gnu/packages/crates-io.scm (rust-rustsec-0.25): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9797494e28..495c678d56 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49465,6 +49465,43 @@ (define-public rust-rusqlite-0.19
     (inputs
      (list sqlite))))
 
+(define-public rust-rustsec-0.25
+  (package
+    (name "rust-rustsec")
+    (version "0.25.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rustsec" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "11q89r3a8snqmfywml8n96lxgs086k68xbhjgaikrkdbzdv6j4yn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cargo-edit" ,rust-cargo-edit-0.8)
+        ("rust-cargo-lock" ,rust-cargo-lock-7)
+        ("rust-crates-index" ,rust-crates-index-0.17)
+        ("rust-cvss" ,rust-cvss-1)
+        ("rust-fs-err" ,rust-fs-err-2)
+        ("rust-git2" ,rust-git2-0.13)
+        ("rust-home" ,rust-home-0.5)
+        ("rust-humantime" ,rust-humantime-2)
+        ("rust-humantime-serde" ,rust-humantime-serde-1)
+        ("rust-platforms" ,rust-platforms-2)
+        ("rust-semver" ,rust-semver-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://rustsec.org")
+    (synopsis "Client library for the RustSec security advisory database")
+    (description
+     "This package provides client library for the RustSec security
+advisory database.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-rust-argon2-0.8
   (package
     (name "rust-rust-argon2")
-- 
2.34.0

From 3ece899c62e3408051bc374ac302f79120cc0767 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 15:16:33 +0100
Subject: [PATCH 26/30] gnu: Add rust-abscissa-derive-0.5.

* gnu/packages/crates-io.scm (rust-abscissa-derive-0.5): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8cb7015be2..9775adba6d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -141,6 +141,35 @@ (define-public rust-abomonation-0.7
 library in Rust.")
     (license license:expat)))
 
+(define-public rust-abscissa-derive-0.5
+  (package
+    (name "rust-abscissa-derive")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "abscissa_derive" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1k7cxjxgkvi91968xkrjcqpq98kabfh7qhnqh6fwnqw7qhmp5xbl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-darling" ,rust-darling-0.10)
+        ("rust-ident-case" ,rust-ident-case-1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-synstructure" ,rust-synstructure-0.12))))
+    (home-page "https://github.com/iqlusioninc/abscissa")
+    (synopsis
+     "Custom derive support for the abscissa application microframework")
+    (description
+     "This package provides custom derive support for the abscissa application
+microframework.")
+    (license license:asl2.0)))
+
 (define-public rust-actix-0.10
   (package
     (name "rust-actix")
-- 
2.34.0

From bcd32e987d455240ef6d071f4c90b4c1144880d1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:02:29 +0100
Subject: [PATCH 09/30] gnu: Add rust-ureq-1.

* gnu/packages/crates-io.scm (rust-ureq-1): New variable. Inherit from
  rust-ureq-2.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a8abc2d29e..4fd7cc4fd8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -67173,18 +67173,16 @@ (define-public rust-ureq-2
   (package
     (name "rust-ureq")
     (version "2.4.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ureq" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1m8nzx683iph4zfpfg2xmkkbwmgf1i403lnbhxqk4gbsj8pzm6ck"))))
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ureq" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1m8nzx683iph4zfpfg2xmkkbwmgf1i403lnbhxqk4gbsj8pzm6ck"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f                      ;tests fail
+     `(#:tests? #f ;tests fail
        #:cargo-inputs
        (("rust-base64" ,rust-base64-0.13)
         ("rust-brotli-decompressor" ,rust-brotli-decompressor-2)
@@ -67214,6 +67212,39 @@ (define-public rust-ureq-2
     (description "This package provides minimal request library in Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-ureq-1
+  (package
+    (inherit rust-ureq-2)
+    (name "rust-ureq")
+    (version "1.5.5")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ureq" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0wdakplwjjya6m95z42pci8m63ddx913rd92kzh8l8ar5ly0d2rb"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-chunked-transfer" ,rust-chunked-transfer-1)
+        ("rust-cookie" ,rust-cookie-0.14)
+        ("rust-cookie-store" ,rust-cookie-store-0.12)
+        ("rust-encoding" ,rust-encoding-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-native-tls" ,rust-native-tls-0.2)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-qstring" ,rust-qstring-0.7)
+        ("rust-rustls" ,rust-rustls-0.19)
+        ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.5)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-socks" ,rust-socks-0.3)
+        ("rust-url" ,rust-url-2)
+        ("rust-webpki" ,rust-webpki-0.21)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.21))))))
+
 (define-public rust-url-2
   (package
     (name "rust-url")
-- 
2.34.0

From 04357da28d62d4798800ab149f11ac3601e36d30 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:39:36 +0100
Subject: [PATCH 05/30] gnu: Add rust-gumdrop-derive-0.8.

* gnu/packages/crates-io.scm (rust-gumdrop-derive-0.8): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f8abc66a73..f26f4c2ec4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25459,6 +25459,29 @@ (define-public rust-groupable-0.2
      "This package aggregates groups of values from key-value iterators.")
     (license license:expat)))
 
+(define-public rust-gumdrop-derive-0.8
+  (package
+    (name "rust-gumdrop-derive")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "gumdrop_derive" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "01cdc7w5wf1g9i04ykcssczjmmnl6jky47a648sp710df5yg0pli"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/murarth/gumdrop")
+    (synopsis "Custom derive support for gumdrop")
+    (description "This package provides custom derive support for gumdrop.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-gzip-header-0.3
   (package
     (name "rust-gzip-header")
-- 
2.34.0

From 4888e7217d057efb10d3225604c80d7a39181602 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 15:14:10 +0100
Subject: [PATCH 24/30] gnu: Add rust-canonical-path-2.

* gnu/pacakges/crates-io.scm (rust-canonical-path-2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d9337be95d..0ec2ca5a00 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9446,6 +9446,27 @@ (define-public rust-camino-1
     (description "This package provides a UTF-8 paths.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-canonical-path-2
+  (package
+    (name "rust-canonical-path")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "canonical-path" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0vvsjda6ka5nz8zvx6r08zqi0j59sjccgcbjxj96xj764w9y1sg6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/iqlusioninc/crates/")
+    (synopsis "Path and PathBuf-like types for canonical filesystem paths")
+    (description
+     "This package provides Path and PathBuf-like types for representing
+canonical filesystem paths.")
+    (license license:asl2.0)))
+
 (define-public rust-capnp-0.13
   (package
     (name "rust-capnp")
-- 
2.34.0

From 9ac8a706ef6fe3fdb5d12f900379d5f53091b1f1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 23:22:42 +0100
Subject: [PATCH 29/30] gnu: rust-tracing-subscriber-0.1: Add inputs.

* gnu/packages/crates-io.scm (rust-tracing-subscriber-0.1)[inputs]: Add
* rust-ansi-term-0.11 and rust-matchers-0.0.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 85a0ed00ad..307d4d91d7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65114,7 +65114,8 @@ (define-public rust-tracing-subscriber-0.1
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-log" ,rust-log-0.4)
         ("rust-tracing" ,rust-tracing-0.1)
-        ("rust-tracing-log" ,rust-tracing-log-0.1))))))
+        ("rust-tracing-log" ,rust-tracing-log-0.1))))
+	(inputs (list rust-ansi-term-0.11 rust-matchers-0.0))))
 
 (define-public rust-tracing-tree-0.2
   (package
-- 
2.34.0

From 0b60720256b4eadd319fbb3fbccdd60e75758466 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 14:42:05 +0100
Subject: [PATCH 16/30] gnu: rust-assert-fs-1: Update to 1.0.5.

* gnu/packages/crates-io.scm (rust-assert-fs-1): Update to 1.0.5.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index eb6c6373df..162fca3e50 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3991,14 +3991,14 @@ (define-public rust-assert-cmd-0.9
 (define-public rust-assert-fs-1
   (package
     (name "rust-assert-fs")
-    (version "1.0.3")
+    (version "1.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "assert-fs" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0rcllf1d1l121fnsxy84bbqkg1sym5gs4mp0aw1nyv3f0sinmjmh"))))
+        (base32 "01qhcr9faq13p10kmi6j6k520dk20c8vxly8cqwkisdxx6fk8yvx"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.34.0

From 7b0158a70473f8cf9f0618c04f32799c28928cd0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:45:10 +0100
Subject: [PATCH 14/30] gnu: Add rust-smartstring-0.2.

* gnu/packages/crates-io.scm (rust-smartstring-0.2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 790688b064..9461538b9f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56372,6 +56372,30 @@ (define-public rust-smart-default-0.6
 control on the fields.")
     (license license:expat)))
 
+(define-public rust-smartstring-0.2
+  (package
+    (name "rust-smartstring")
+    (version "0.2.9")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "smartstring" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "16rc6n0p4r4aw6k6jxf2s37wyaijaa4pwpw7rqki7cn2q0qnmaii"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-0.4)
+        ("rust-proptest" ,rust-proptest-0.10)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-static-assertions" ,rust-static-assertions-1))))
+    (home-page "https://github.com/bodil/smartstring")
+    (synopsis "Compact inlined strings")
+    (description "This package provides compact inlined strings.")
+    (license license:mpl2.0)))
+
 (define-public rust-smol-1
   (package
     (name "rust-smol")
-- 
2.34.0

From 961dd7bcb269370a5688d92b160758e843ab95ef Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 23:21:10 +0100
Subject: [PATCH 28/30] gnu: rust-tracing-log-0.1: Fix cargo-inputs.

* gnu/packages/crates-io.scm (rust-tracing-log-0.1)[arguments]: Use
* rust-env-logger-0.7 in cargo-inputs.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 926049da03..85a0ed00ad 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -64944,7 +64944,7 @@ (define-public rust-tracing-log-0.1
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6)
+       (("rust-env-logger" ,rust-env-logger-0.7)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-tracing-core" ,rust-tracing-core-0.1))
-- 
2.34.0

From 4e0008a83d8c45afc23fa94c9216eec2a701653e Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 15:10:29 +0100
Subject: [PATCH 23/30] gnu: Add rust-generational-arena-0.2.

* gnu/packages/crates-io.scm (rust-generational-arena-0.2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9dc021e53a..d9337be95d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23825,6 +23825,30 @@ (define-public rust-gdi32-sys-0.2
 API library @code{gdi32}.")
     (license license:expat)))
 
+(define-public rust-generational-arena-0.2
+  (package
+    (name "rust-generational-arena")
+    (version "0.2.8")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "generational-arena" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "00gn1g6nlky883qkacvsbp19yzl5ay8avq6f902jvxkl2mvkn7cf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/fitzgen/generational-arena")
+    (synopsis "Safe arena allocator that supports deletion")
+    (description
+     "This package provides a safe arena allocator that supports deletion without
+suffering from the ABA problem by using generational indices.")
+    (license license:mpl2.0)))
+
 (define-public rust-generator-0.6
   (package
     (name "rust-generator")
-- 
2.34.0

From 56d3a9690c5e5f58894d5421eb25f1305ffd993d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:34:29 +0100
Subject: [PATCH 04/30] gnu: Add rust-cvss-1.

* gnu/packages/crates-io.scm (rust-cvss-1): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7cd618befc..f8abc66a73 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71690,6 +71690,28 @@ (define-public rust-clap-conf-0.1
       "This package provides a library to unify commandline arguments with config files and environment variables.  And make it easier for users to tell your program how to behave across the three main input sources")
     (license license:expat)))
 
+(define-public rust-cvss-1
+  (package
+    (name "rust-cvss")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "cvss" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0gxxzimyxwf6ka011n6cd296ax6qiwnx8n6mxzh2l55bpvd65642"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/RustSec/rustsec/tree/main/cvss")
+    (synopsis "Common Vulnerability Scoring System parser/serializer")
+    (description "This package provides Common Vulnerability
+Scoring System parser/serializer.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public svd2rust
   (package
     (name "svd2rust")
-- 
2.34.0

From 31bbf79f5a6ae59e8187af38072ef61424186716 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 14:52:02 +0100
Subject: [PATCH 20/30] gnu: Add rust-secrecy-0.6.

* gnu/packages/crates-io.scm (rust-secrecy-0.6): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 495c678d56..b7e2d3d5fa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52645,6 +52645,33 @@ (define-public rust-seccomp-sys-0.1
     (description "This package provides low-level bindings to libseccomp.")
     (license license:lgpl2.1)))
 
+(define-public rust-secrecy-0.6
+  (package
+    (name "rust-secrecy")
+    (version "0.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "secrecy" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "03q7h4yswpbrgxgn6wk9dyhilqhwcbhgwyy2m5vk9ps5ss72g0li"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-zeroize" ,rust-zeroize-1))))
+    (home-page "https://github.com/iqlusioninc/crates/")
+    (synopsis "Wrapper types and traits for secret management")
+    (description
+     "This package provides wrapper types and traits for secret management
+which help ensure they aren't
+accidentally copied, logged, or otherwise exposed, and also ensure secrets
+are securely wiped from memory when dropped.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-section-testing-0.0
   (package
     (name "rust-section-testing")
-- 
2.34.0

From ec87c13e71b9642872443dd45a1259f9c8eec19d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:47:43 +0100
Subject: [PATCH 15/30] gnu: Add rust-crates-index-0.17.

* gnu/packages/crates-io.scm (rust-crates-index-0.17): New variable.
  (rust-crates-index-0.13): Inherit from above.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9461538b9f..eb6c6373df 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13520,8 +13520,40 @@ (define-public rust-cpuprofiler-0.0
     (description "This package provides bindings to Google's cpu profiler.")
     (license license:bsd-2)))
 
+(define-public rust-crates-index-0.17
+  (package
+    (name "rust-crates-index")
+    (version "0.17.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "crates-index" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0izrm8m4wic5kp5y4p3f3d50lrlbamp3wizlgr4hm56rimfazm4a"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-git2" ,rust-git2-0.13)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-hex" ,rust-hex-0.4)
+        ("rust-home" ,rust-home-0.5)
+        ("rust-memchr" ,rust-memchr-2)
+        ("rust-semver" ,rust-semver-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-smartstring" ,rust-smartstring-0.2))))
+    (home-page "https://github.com/frewsxcv/rust-crates-index")
+    (synopsis "Retrieving and interacting with the crates.io index")
+    (description
+     "Library for retrieving and interacting with the crates.io index.")
+    (license license:asl2.0)))
+
 (define-public rust-crates-index-0.13
   (package
+    (inherit rust-crates-index-0.17)
     (name "rust-crates-index")
     (version "0.13.1")
     (source
@@ -13533,7 +13565,6 @@ (define-public rust-crates-index-0.13
        (sha256
         (base32
          "1n7pp6mk59hw3nqlh8irxc9pp0g5ziw7bprqsw2lxvg13cvdp76s"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -13544,14 +13575,7 @@ (define-public rust-crates-index-0.13
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))
        #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page
-     "https://github.com/frewsxcv/rust-crates-index")
-    (synopsis
-     "Retrieving and interacting with the crates.io index")
-    (description
-     "Library for retrieving and interacting with the crates.io index.")
-    (license license:asl2.0)))
+       (("rust-tempdir" ,rust-tempdir-0.3))))))
 
 (define-public rust-crates-index-0.5
   (package
-- 
2.34.0

From c766bb711ed387d04864aa2d81782b3d61fce2d9 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 9 Feb 2022 16:43:34 +0100
Subject: [PATCH 25/30] gnu: Add rust-color-backtrace-0.3.

* gnu/packages/crates-io.scm (rust-color-backtrace-0.3): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0ec2ca5a00..8cb7015be2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11804,6 +11804,24 @@ (define-public rust-color-backtrace-0.5
     (description "This package provides colorful panic backtraces.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-color-backtrace-0.3
+  (package
+    (inherit rust-color-backtrace-0.5)
+    (name "rust-color-backtrace")
+    (version "0.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "color-backtrace" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0mx9ycb70mqbs6z107ri5g09wz5k7pa0vfnys28wfqycg083zlb5"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-atty" ,rust-atty-0.2)
+         ("rust-backtrace" ,rust-backtrace-0.3)
+         ("rust-termcolor" ,rust-termcolor-1))))))
+
 (define-public rust-concolor-query
   (package
     (name "rust-concolor-query")
-- 
2.34.0

From 7c3c4d8d86a158e781037a467a31ae3f86149077 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 16:20:07 +0100
Subject: [PATCH 30/30] gnu: Add rust-cargo-audit-0.16.

* gnu/packages/crates-io.scm (rust-cargo-audit-0.16): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 307d4d91d7..a1d391c239 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9976,6 +9976,44 @@ (define-public rust-cargo-metadata-0.2
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-cargo-audit-0.16
+  (package
+    (name "rust-cargo-audit")
+    (version "0.16.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "cargo-audit" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ixlfc8h7qgyr1ng37kx1f222g3pc97sm72pgj1mkl6q3daf5a7m"))))
+    (build-system cargo-build-system)
+    (arguments
+	 ;; disable due to network connection
+	 ;; https://github.com/rustsec/rustsec/issues/507
+     `(#:tests? #f
+       #:cargo-inputs
+       (("rust-abscissa-core" ,rust-abscissa-core-0.5)
+        ("rust-gumdrop" ,rust-gumdrop-0.7)
+        ("rust-home" ,rust-home-0.5)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-rustsec" ,rust-rustsec-0.25)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-thiserror" ,rust-thiserror-1))
+       #:cargo-development-inputs
+       (("rust-abscissa-core" ,rust-abscissa-core-0.5)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-tempfile" ,rust-tempfile-3)
+        ("rust-toml" ,rust-toml-0.5))))
+    (native-inputs (list pkg-config))
+    (inputs (list libssh2 openssl zlib))
+    (home-page "https://rustsec.org")
+    (synopsis "Audit Cargo.lock for crates with security vulnerabilities")
+    (description "This package audits Cargo.lock for crates with security
+vulnerabilities.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cargo-edit-0.8
   (package
     (name "rust-cargo-edit")
-- 
2.34.0

From 669c976aaac0566d6ffeb080da8ec89e267db976 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:34:14 +0100
Subject: [PATCH 13/30] gnu: Add rust-env-proxy-0.4.

* gnu/packages/crates-io.scm (rust-env-proxy-0.4): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 515cb3d7d2..790688b064 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20005,6 +20005,29 @@ (define-public rust-env-logger-0.3
        (("rust-regex" ,rust-regex-0.1)
         ("rust-log" ,rust-log-0.3))))))
 
+(define-public rust-env-proxy-0.4
+  (package
+    (name "rust-env-proxy")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "env_proxy" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1qabqhgybx1jzh6dmpx7kssciw312i8aa6al7fj0d12k32z1jl1s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.4) ("rust-url" ,rust-url-2))))
+    (home-page "https://github.com/inejge/env_proxy")
+    (synopsis "Proxy URL from the environment variables")
+    (description
+     "This package provides a way to determinate proxy parameters for a URL
+from the environment.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-environment-0.1
   (package
     (name "rust-environment")
-- 
2.34.0

From 9f1b725c068fe5b9d9f8bdefac8f47f327154226 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:17:35 +0100
Subject: [PATCH 12/30] gnu: Add rust-subprocess-0.2.

* gnu/packages/crates-io.scm (rust-subprocess-0.2): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c6b602ed2a..515cb3d7d2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -58566,6 +58566,33 @@ (define-public rust-strum-macros-0.18
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))))
 
+(define-public rust-subprocess-0.2
+  (package
+    (name "rust-subprocess")
+    (version "0.2.8")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "subprocess" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "01x41adcnyy55axdrzbr3y1qfbb55xjzczm1lpqdh6lqqbmz6p05"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/hniksic/rust-subprocess")
+    (synopsis "Execution of child processes and pipelines")
+    (description
+     "This package provides execution of child processes and pipelines,
+inspired by Python's subprocess module, with Rust-specific extensions.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-subtle-2
   (package
     (name "rust-subtle")
-- 
2.34.0

From d28d6d71f819b6c66ba7f072bb0b16900fb6d386 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 13:04:58 +0100
Subject: [PATCH 11/30] gnu: Add rust-toml-edit-0.3.

* gnu/packages/crates-io.scm (rust-toml-edit-0.3): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2c7f9d5c55..c6b602ed2a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -64164,6 +64164,32 @@ (define-public rust-toml-0.2
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-toml-edit-0.3
+  (package
+    (name "rust-toml-edit")
+    (version "0.3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "toml_edit" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0fbpkhla57k9qbpbxh72wxc7hhj7yscq4r0hnmyyygp92r3q6c0x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-combine" ,rust-combine-4)
+        ("rust-indexmap" ,rust-indexmap-1)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-vec1" ,rust-vec1-1))))
+    (home-page "https://github.com/ordian/toml_edit")
+    (synopsis "Yet another format-preserving TOML parser")
+    (description "This package provides yet another format-preserving TOML
+parser.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-tonic-0.6
   (package
     (name "rust-tonic")
-- 
2.34.0

From 873573dde56323344ae5350f5bb49ebbaa53e812 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 12:54:31 +0100
Subject: [PATCH 08/30] gnu: Add rust-qstring-0.7.

* gnu/packages/crates-io.scm (rust-qstring-0.7): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 293408090f..a8abc2d29e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45115,6 +45115,27 @@ (define-public rust-pyo3-0.15
 Python code from a Rust binary is also supported.")
     (license license:asl2.0)))
 
+(define-public rust-qstring-0.7
+  (package
+    (name "rust-qstring")
+    (version "0.7.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "qstring" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0khhcpwifis87r5chr4jiv3w1bkswcf226c0yjx809pzbzkglr6l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-percent-encoding" ,rust-percent-encoding-2))))
+    (home-page "https://github.com/algesten/qstring")
+    (synopsis "Query string parser")
+    (description "This package provides query string parser.")
+    (license license:expat)))
+
 (define-public rust-quantiles-0.7
   (package
     (name "rust-quantiles")
-- 
2.34.0

From 8a47e973c486e43d49f5aa1f43fd253156edf440 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sat, 5 Feb 2022 15:19:55 +0100
Subject: [PATCH 27/30] gnu: Add rust-abscissa-core-0.5.

* gnu/packages/crates-io.scm (rust-abscissa-core-0.5): New variable.

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9775adba6d..926049da03 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -141,6 +141,50 @@ (define-public rust-abomonation-0.7
 library in Rust.")
     (license license:expat)))
 
+(define-public rust-abscissa-core-0.5
+  (package
+    (name "rust-abscissa-core")
+    (version "0.5.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "abscissa_core" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0fmvaqzdz6qg7z42dlhvs3lf338xz0gdvdhp6xc042hjjdq6f1va"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-abscissa-derive" ,rust-abscissa-derive-0.5)
+        ("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-canonical-path" ,rust-canonical-path-2)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-color-backtrace" ,rust-color-backtrace-0.3)
+        ("rust-generational-arena" ,rust-generational-arena-0.2)
+        ("rust-gumdrop" ,rust-gumdrop-0.7)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-secrecy" ,rust-secrecy-0.6)
+        ("rust-semver" ,rust-semver-0.9)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-termcolor" ,rust-termcolor-1)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-tracing" ,rust-tracing-0.1)
+        ("rust-tracing-log" ,rust-tracing-log-0.1)
+        ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.1)
+        ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
+    (home-page "https://github.com/iqlusioninc/abscissa/")
+    (synopsis "Application microframework")
+    (description
+     "This package provides application microframework with support
+for command-line option parsing, configuration, error handling, logging,
+and terminal interactions.  This crate contains the framework's core
+functionality.")
+    (license license:asl2.0)))
+
 (define-public rust-abscissa-derive-0.5
   (package
     (name "rust-abscissa-derive")
-- 
2.34.0