Subject: [PATCH 05/64] gnu: Add rust-rental and rust-rental-impl.

From: Steve George <[email-masked]>
Date: Mon, 23 Oct 2023 23:20:50 +0100

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

-- >8 --
This crate built from source in June, but no longer does so.
I suspect that it's due to an update in the rust compiler/crate version.
Tried rust 1.64 but this didn't fix it - didn't know how else to debug.
As the only dependency is my own package decided not to spend more time
on it - set skip-build? #t
---
 gnu/packages/crates-io.scm | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 276e3852a5..a3360c6024 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56795,6 +56795,53 @@ (define-public rust-rend-0.4
 Rust.")
     (license license:expat)))
 
+(define-public rust-rental-0.5
+  (package
+    (name "rust-rental")
+    (version "0.5.6")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rental" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0bhzz2pfbg0yaw8p1l31bggq4jn077wslf6ifhj22vf3r8mgx2fc"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list #:skip-build? #t ; built with previous crate/rust version
+           #:cargo-inputs `(("rust-rental-impl" ,rust-rental-impl-0.5)
+                            ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
+    (home-page "https://github.com/jpernst/rental")
+    (synopsis "Macro to generate safe self-referential structs")
+    (description
+     "A macro to generate safe self-referential structs, plus
+premade types for common use-cases.  This crate is frozen and should be
+avoided if possible.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-rental-impl-0.5
+  (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
+     (list #:skip-build? #f
+           #:cargo-inputs `(("rust-proc-macro2" ,rust-proc-macro2-1)
+                            ("rust-quote" ,rust-quote-1)
+                            ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/jpernst/rental")
+    (synopsis "Implementation details of the rust-rental crate.")
+    (description "Implementation details for the rust-rental crate.
+Should not be used directly.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-reopen-0.3
   (package
     (name "rust-reopen")
-- 
2.41.0