Subject: [PATCH] gnu: Add rust-1.53.

From: Matthew James Kraai <[email-masked]>
Date: Mon, 9 Aug 2021 06:49:03 -0700

* gnu/packages/rust.scm (rust-1.53): New variable.
---
 gnu/packages/rust.scm | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 73f94a3929..bb4da17243 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2019 Ivan Petkov <[email-masked]>
 ;;; Copyright © 2020, 2021 Jakub Kądziołka <[email-masked]>
 ;;; Copyright © 2020 Pierre Langlois <[email-masked]>
-;;; Copyright © 2020 Matthew James Kraai <[email-masked]>
+;;; Copyright © 2020, 2021 Matthew James Kraai <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1474,5 +1474,31 @@ move around."
         (alist-replace "llvm" (list llvm-12)
                        (package-inputs base-rust))))))
 
+(define-public rust-1.53
+  (let ((base-rust
+         (rust-bootstrapped-package rust-1.52 "1.53.0"
+           "1f95p259dfp5ca118bg107rj3rqwlswy65dxn3hg8sqgl4wwmxsw")))
+    (package
+      (inherit base-rust)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base-rust)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             ;; Some tests got split out into separate files.
+             (replace 'patch-tests
+               (lambda* (#:key inputs #:allow-other-keys)
+                 (let ((bash (assoc-ref inputs "bash")))
+                   (substitute* "library/std/src/process/tests.rs"
+                     (("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\"")))
+                   (substitute* "library/std/src/sys/unix/process/process_common/tests.rs"
+                     (("fn test_process_mask") "#[allow(unused_attributes)]
+    #[ignore]
+    fn test_process_mask"))
+                   (substitute* "src/test/codegen/alloc-optimisation.rs"
+                     (("// min-llvm-version: 10.0.1") "// no-system-llvm"))
+                   (substitute* "src/test/ui/asm/sym.rs"
+                     (("// min-llvm-version: 10.0.1") "// no-system-llvm"))
+                   #t))))))))))
+
 ;; TODO(staging): Bump this variable to the latest packaged rust.
 (define-public rust rust-1.45)
-- 
2.32.0