From 2d90c36b8b467717b93b5c10d0ae53b11b93f06a Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 18 Mar 2024 11:31:41 +0200
Subject: [PATCH] gnu: Add rust-multer-3.

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

Change-Id: I6ec55f2f5ea431bb68e7fdecb88a1ee5d0ac6053
---
 gnu/packages/crates-io.scm | 53 +++++++++++++++++++++++++++++++-------
 1 file changed, 43 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6ad4022252..3f122f362a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -40726,8 +40726,50 @@ debug_assert_* macros.")
 C++ symbols mangled by MSVC.")
     (license (list license:expat license:ncsa))))
 
+(define-public rust-multer-3
+  (package
+    (name "rust-multer")
+    (version "3.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "multer" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "06ajkcp0cjf66qxbp7swvdxkhmlg2wnjfbk3s9py9hx9w0mm4pd1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
+                       ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+                       ("rust-futures-util" ,rust-futures-util-0.3)
+                       ("rust-http" ,rust-http-1)
+                       ("rust-httparse" ,rust-httparse-1)
+                       ("rust-log" ,rust-log-0.4)
+                       ("rust-memchr" ,rust-memchr-2)
+                       ("rust-mime" ,rust-mime-0.3)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-spin" ,rust-spin-0.9)
+                       ("rust-tokio" ,rust-tokio-1)
+                       ("rust-tokio-util" ,rust-tokio-util-0.7)
+                       ("rust-version-check" ,rust-version-check-0.9))
+       #:cargo-development-inputs (("rust-http-body-util" ,rust-http-body-util-0.1)
+                                   ("rust-hyper" ,rust-hyper-1)
+                                   ("rust-hyper-util" ,rust-hyper-util-0.1)
+                                   ("rust-serde" ,rust-serde-1)
+                                   ("rust-tokio" ,rust-tokio-1))))
+    (home-page "https://github.com/rwf2/multer-rs")
+    (synopsis "Async parser for @code{multipart/form-data} content-type in Rust")
+    (description
+     "An async parser for @code{multipart/form-data} content-type in Rust.
+
+It accepts a Stream of Bytes as a source, so that it can be plugged into any
+async Rust environment e.g. any async server.")
+    (license license:expat)))
+
 (define-public rust-multer-2
   (package
+    (inherit rust-multer-3)
     (name "rust-multer")
     (version "2.1.0")
     (source
@@ -40737,7 +40779,6 @@ C++ symbols mangled by MSVC.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1hjiphaypj3phqaj5igrzcia9xfmf4rr4ddigbh8zzb96k1bvb01"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
                        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
@@ -40755,15 +40796,7 @@ C++ symbols mangled by MSVC.")
                        ("rust-version-check" ,rust-version-check-0.9))
        #:cargo-development-inputs (("rust-hyper" ,rust-hyper-0.14)
                                    ("rust-serde" ,rust-serde-1)
-                                   ("rust-tokio" ,rust-tokio-1))))
-    (home-page "https://github.com/rousan/multer-rs")
-    (synopsis "Async parser for @code{multipart/form-data} content-type in Rust")
-    (description
-     "An async parser for @code{multipart/form-data} content-type in Rust.
-
-It accepts a Stream of Bytes as a source, so that it can be plugged into any
-async Rust environment e.g. any async server.")
-    (license license:expat)))
+                                   ("rust-tokio" ,rust-tokio-1))))))
 
 (define-public rust-muldiv-1
   (package