[PATCH] gnu: Add Rust 1.47.

DoneSubmitted by Matthew Kraai.
Details
2 participants
  • Matthew Kraai
  • Jakub Kądziołka
Owner
unassigned
Severity
normal
M
M
Matthew Kraai wrote on 6 Dec 2020 13:57
(address . guix-patches@gnu.org)(name . Matthew Kraai)(address . kraai@ftbfs.org)
20201206125753.1759-1-kraai@ftbfs.org
* gnu/packages/rust.scm (rust-1.47): New variable.--- gnu/packages/rust.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+)
Toggle diff (56 lines)diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scmindex 35a96b5754..4bbb0b6b04 100644--- a/gnu/packages/rust.scm+++ b/gnu/packages/rust.scm@@ -10,6 +10,7 @@ ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>+;;; Copyright © 2020 Matthew Kraai <kraai@ftbfs.org> ;;; ;;; This file is part of GNU Guix. ;;;@@ -1318,5 +1319,41 @@ move around." (rust-bootstrapped-package rust-1.45 "1.46.0" "0a17jby2pd050s24cy4dfc0gzvgcl585v3vvyfilniyvjrqknsid")) +(define-public rust-1.47+ (let ((base-rust+ (rust-bootstrapped-package rust-1.46 "1.47.0"+ "07fqd2vp7cf1ka3hr207dnnz93ymxml4935vp74g4is79h3dz19i")))+ (package+ (inherit base-rust)+ (arguments+ (substitute-keyword-arguments (package-arguments base-rust)+ ((#:phases phases)+ `(modify-phases ,phases+ (replace 'patch-tests+ (lambda* (#:key inputs #:allow-other-keys)+ (let ((bash (assoc-ref inputs "bash")))+ (substitute* "library/std/src/process.rs"+ ;; The newline is intentional.+ ;; There's a line length "tidy" check in Rust which would+ ;; fail otherwise.+ (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\"")))+ ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>+ (substitute* "library/std/src/sys/unix/process/process_common.rs"+ (("fn test_process_mask") "#[allow(unused_attributes)]+ #[ignore]+ fn test_process_mask"))+ #t)))+ (delete 'patch-cargo-checksums)+ (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums+ ;; Generate checksums after patching generated files (in+ ;; particular, vendor/jemalloc/rep/Makefile).+ (lambda* _+ (use-modules (guix build cargo-utils))+ (substitute* "Cargo.lock"+ (("(checksum = )\".*\"" all name)+ (string-append name "\"" ,%cargo-reference-hash "\"")))+ (generate-all-checksums "vendor")+ #t)))))))))+ ;; TODO(staging): Bump this variable to the latest packaged rust. (define-public rust rust-1.45)-- 2.29.2
M
M
Matthew Kraai wrote on 6 Dec 2020 14:44
Re: bug#45070: Acknowledgement ([PATCH] gnu: Add Rust 1.47.)
(address . 45070@debbugs.gnu.org)
7f7757b2-b0d9-c4a7-9fa5-591d98f1d339@ftbfs.org
Hi,
Sorry, after sending this I remembered that Rust 1.47.0 upgraded to LLVM 11.  I'm testing an updated patch which upgrades the input to llvm-11.
-- Matthew Kraai
M
M
Matthew Kraai wrote on 7 Dec 2020 01:03
[PATCH] gnu: Add Rust 1.47.
(address . 45070@debbugs.gnu.org)(name . Matthew Kraai)(address . kraai@ftbfs.org)
20201207000309.24779-1-kraai@ftbfs.org
* gnu/packages/rust.scm (rust-1.47): New variable.--- gnu/packages/rust.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Toggle diff (59 lines)diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scmindex 35a96b5754..1a79927c45 100644--- a/gnu/packages/rust.scm+++ b/gnu/packages/rust.scm@@ -10,6 +10,7 @@ ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>+;;; Copyright © 2020 Matthew Kraai <kraai@ftbfs.org> ;;; ;;; This file is part of GNU Guix. ;;;@@ -1318,5 +1319,44 @@ move around." (rust-bootstrapped-package rust-1.45 "1.46.0" "0a17jby2pd050s24cy4dfc0gzvgcl585v3vvyfilniyvjrqknsid")) +(define-public rust-1.47+ (let ((base-rust+ (rust-bootstrapped-package rust-1.46 "1.47.0"+ "07fqd2vp7cf1ka3hr207dnnz93ymxml4935vp74g4is79h3dz19i")))+ (package+ (inherit base-rust)+ (inputs+ (alist-replace "llvm" (list llvm-11)+ (package-inputs base-rust)))+ (arguments+ (substitute-keyword-arguments (package-arguments base-rust)+ ((#:phases phases)+ `(modify-phases ,phases+ (replace 'patch-tests+ (lambda* (#:key inputs #:allow-other-keys)+ (let ((bash (assoc-ref inputs "bash")))+ (substitute* "library/std/src/process.rs"+ ;; The newline is intentional.+ ;; There's a line length "tidy" check in Rust which would+ ;; fail otherwise.+ (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\"")))+ ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>+ (substitute* "library/std/src/sys/unix/process/process_common.rs"+ (("fn test_process_mask") "#[allow(unused_attributes)]+ #[ignore]+ fn test_process_mask"))+ #t)))+ (delete 'patch-cargo-checksums)+ (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums+ ;; Generate checksums after patching generated files (in+ ;; particular, vendor/jemalloc/rep/Makefile).+ (lambda* _+ (use-modules (guix build cargo-utils))+ (substitute* "Cargo.lock"+ (("(checksum = )\".*\"" all name)+ (string-append name "\"" ,%cargo-reference-hash "\"")))+ (generate-all-checksums "vendor")+ #t)))))))))+ ;; TODO(staging): Bump this variable to the latest packaged rust. (define-public rust rust-1.45)-- 2.29.2
M
M
Matthew Kraai wrote on 7 Dec 2020 23:47
[PATCH] gnu: Add Rust 1.48.
(address . 45070@debbugs.gnu.org)(name . Matthew Kraai)(address . kraai@ftbfs.org)
20201207224739.13003-1-kraai@ftbfs.org
* gnu/packages/rust.scm (rust-1.48): New variable.--- .../patches/rust-1.48-linker-locale.patch | 14 +++++++++ gnu/packages/rust.scm | 29 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gnu/packages/patches/rust-1.48-linker-locale.patch
Toggle diff (61 lines)diff --git a/gnu/packages/patches/rust-1.48-linker-locale.patch b/gnu/packages/patches/rust-1.48-linker-locale.patchnew file mode 100644index 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.scmindex 1a79927c45..714d04ba14 100644--- a/gnu/packages/rust.scm+++ b/gnu/packages/rust.scm@@ -1358,5 +1358,34 @@ 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))+ (patches (search-patches "rust-1.48-linker-locale.patch"))))+ (arguments+ (substitute-keyword-arguments (package-arguments base-rust)+ ((#:phases phases)+ `(modify-phases ,phases+ (replace 'patch-tests+ (lambda* (#:key inputs #:allow-other-keys)+ (let ((bash (assoc-ref inputs "bash")))+ (substitute* "library/std/src/process/tests.rs"+ ;; The newline is intentional.+ ;; There's a line length "tidy" check in Rust which would+ ;; fail otherwise.+ (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\"")))+ ;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>+ (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)-- 2.29.2
J
J
Jakub Kądziołka wrote on 3 Jan 01:06 +0100
Re: [PATCH] gnu: Add Rust 1.47.
(address . 45070-done@debbugs.gnu.org)
C8931WMH9N83.1KONG6KRARRO3@gravity
Thanks for the patches!
I added some comments and pushed them. I also added the next versionmyself, so the latest Rust 1.49 is now available.
Regards,Jakub Kądziołka
Closed
?