From 402e697a1144788102b16ca8c9ea74607d2c2c3c Mon Sep 17 00:00:00 2001 From: Matthew Kraai Date: Mon, 7 Dec 2020 14:47:39 -0800 Subject: gnu: Add Rust 1.48. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/rust.scm (rust-1.48): New variable. Signed-off-by: Jakub Kądziołka --- gnu/packages/patches/rust-1.48-linker-locale.patch | 14 +++++++++++ gnu/packages/rust.scm | 28 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 gnu/packages/patches/rust-1.48-linker-locale.patch (limited to 'gnu/packages') 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 0000000000..d06dcbe682 --- /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 3c09f09edd..334c2621dc 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) -- cgit v1.2.3