* [bug#45070] [PATCH] gnu: Add Rust 1.47.
@ 2020-12-06 12:57 Matthew Kraai
[not found] ` <handler.45070.B.160725949418129.ack@debbugs.gnu.org>
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Matthew Kraai @ 2020-12-06 12:57 UTC (permalink / raw)
To: 45070; +Cc: Matthew Kraai
* gnu/packages/rust.scm (rust-1.47): New variable.
---
gnu/packages/rust.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#45070] Acknowledgement ([PATCH] gnu: Add Rust 1.47.)
[not found] ` <handler.45070.B.160725949418129.ack@debbugs.gnu.org>
@ 2020-12-06 13:44 ` Matthew Kraai
2020-12-07 0:03 ` [bug#45070] [PATCH] gnu: Add Rust 1.47 Matthew Kraai
0 siblings, 1 reply; 5+ messages in thread
From: Matthew Kraai @ 2020-12-06 13:44 UTC (permalink / raw)
To: 45070
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#45070] [PATCH] gnu: Add Rust 1.47.
2020-12-06 13:44 ` [bug#45070] Acknowledgement ([PATCH] gnu: Add Rust 1.47.) Matthew Kraai
@ 2020-12-07 0:03 ` Matthew Kraai
0 siblings, 0 replies; 5+ messages in thread
From: Matthew Kraai @ 2020-12-07 0:03 UTC (permalink / raw)
To: 45070; +Cc: Matthew Kraai
* gnu/packages/rust.scm (rust-1.47): New variable.
---
gnu/packages/rust.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#45070] [PATCH] gnu: Add Rust 1.48.
2020-12-06 12:57 [bug#45070] [PATCH] gnu: Add Rust 1.47 Matthew Kraai
[not found] ` <handler.45070.B.160725949418129.ack@debbugs.gnu.org>
@ 2020-12-07 22:47 ` Matthew Kraai
2021-01-03 0:06 ` bug#45070: [PATCH] gnu: Add Rust 1.47 Jakub Kądziołka
2 siblings, 0 replies; 5+ messages in thread
From: Matthew Kraai @ 2020-12-07 22:47 UTC (permalink / raw)
To: 45070; +Cc: Matthew Kraai
* 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
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 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#45070: [PATCH] gnu: Add Rust 1.47.
2020-12-06 12:57 [bug#45070] [PATCH] gnu: Add Rust 1.47 Matthew Kraai
[not found] ` <handler.45070.B.160725949418129.ack@debbugs.gnu.org>
2020-12-07 22:47 ` [bug#45070] [PATCH] gnu: Add Rust 1.48 Matthew Kraai
@ 2021-01-03 0:06 ` Jakub Kądziołka
2 siblings, 0 replies; 5+ messages in thread
From: Jakub Kądziołka @ 2021-01-03 0:06 UTC (permalink / raw)
To: 45070-done
Thanks for the patches!
I added some comments and pushed them. I also added the next version
myself, so the latest Rust 1.49 is now available.
Regards,
Jakub Kądziołka
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-03 0:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-06 12:57 [bug#45070] [PATCH] gnu: Add Rust 1.47 Matthew Kraai
[not found] ` <handler.45070.B.160725949418129.ack@debbugs.gnu.org>
2020-12-06 13:44 ` [bug#45070] Acknowledgement ([PATCH] gnu: Add Rust 1.47.) Matthew Kraai
2020-12-07 0:03 ` [bug#45070] [PATCH] gnu: Add Rust 1.47 Matthew Kraai
2020-12-07 22:47 ` [bug#45070] [PATCH] gnu: Add Rust 1.48 Matthew Kraai
2021-01-03 0:06 ` bug#45070: [PATCH] gnu: Add Rust 1.47 Jakub Kądziołka
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).