[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/03: gnu: Add Rust 1.48.
From: |
guix-commits |
Subject: |
02/03: gnu: Add Rust 1.48. |
Date: |
Sat, 2 Jan 2021 13:20:59 -0500 (EST) |
niedzejkob pushed a commit to branch master
in repository guix.
commit 402e697a1144788102b16ca8c9ea74607d2c2c3c
Author: Matthew Kraai <kraai@ftbfs.org>
AuthorDate: Mon Dec 7 14:47:39 2020 -0800
gnu: Add Rust 1.48.
* gnu/packages/rust.scm (rust-1.48): New variable.
Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
---
gnu/packages/patches/rust-1.48-linker-locale.patch | 14 +++++++++++
gnu/packages/rust.scm | 28 ++++++++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/gnu/packages/patches/rust-1.48-linker-locale.patch
b/gnu/packages/patches/rust-1.48-linker-locale.patch
new file mode 100644
index 0000000..d06dcbe
--- /dev/null
+++ b/gnu/packages/patches/rust-1.48-linker-locale.patch
@@ -0,0 +1,14 @@
+https://github.com/rust-lang/rust/pull/74416
+diff --git a/compiler/rustc_codegen_ssa/src/back/linker.rs
b/compiler/rustc_codegen_ssa/src/back/linker.rs
+index 3df956c465e..f45fee45be4 100644
+--- a/compiler/rustc_codegen_ssa/src/back/linker.rs
++++ b/compiler/rustc_codegen_ssa/src/back/linker.rs
+@@ -28,7 +28,7 @@
+ pub fn disable_localization(linker: &mut Command) {
+ // No harm in setting both env vars simultaneously.
+ // Unix-style linkers.
+- linker.env("LC_ALL", "C");
++ linker.env("LC_ALL", "en_US.UTF-8");
+ // MSVC's `link.exe`.
+ linker.env("VSLANG", "1033");
+ }
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 3c09f09..334c262 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1357,5 +1357,33 @@ move around."
(generate-all-checksums "vendor")
#t)))))))))
+(define-public rust-1.48
+ (let ((base-rust
+ (rust-bootstrapped-package rust-1.47 "1.48.0"
+ "0fz4gbb5hp5qalrl9lcl8yw4kk7ai7wx511jb28nypbxninkwxhf")))
+ (package
+ (inherit base-rust)
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ ;; New patch required due to the second part of the source code
rearrangement:
+ ;; the relevant source code is now in the compiler directory.
+ (patches (search-patches "rust-1.48-linker-locale.patch"))))
+ (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"))
+ #t))))))))))
+
;; TODO(staging): Bump this variable to the latest packaged rust.
(define-public rust rust-1.45)