summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-02-20 17:48:11 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-05-07 19:28:57 +0300
commitf4c3f2be941160814aa9d3faf01aa0fb9bc7c54e (patch)
treed76ebd5ae8ca681920971867085d838fa89a7ca5
parent1963daf94c529e0ae5e5e2e7c738ffbae94dab4e (diff)
gnu: rust: Update to 1.67.
* gnu/packages/rust.scm (rust): Update to 1.67. [arguments]: Add a phase to skip tests requiring mercurial. Extend the custom 'patch-process-tests phase. (rust-1.64)[arguments]: Adjust 'patch-cargo-checksums phase to patch another file. * guix/build/cargo-build-system.scm (package): Adjust to remove Cargo.toml.orig file if it exists.
-rw-r--r--gnu/packages/rust.scm25
-rw-r--r--guix/build/cargo-build-system.scm8
2 files changed, 25 insertions, 8 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 325adb852f..8cfac41d06 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -636,9 +636,10 @@ safety and thread safety guarantees.")
((#:phases phases)
`(modify-phases ,phases
(replace 'patch-cargo-checksums
- (lambda* _
+ (lambda _
(substitute* '("Cargo.lock"
- "src/bootstrap/Cargo.lock")
+ "src/bootstrap/Cargo.lock"
+ "src/tools/rust-analyzer/Cargo.lock")
(("(checksum = )\".*\"" all name)
(string-append name "\"" ,%cargo-reference-hash "\"")))
(generate-all-checksums "vendor"))))))))))
@@ -671,7 +672,7 @@ safety and thread safety guarantees.")
;;; Here we take the latest included Rust, make it public, and re-enable tests
;;; and extra components such as rustfmt.
(define-public rust
- (let ((base-rust rust-1.60))
+ (let ((base-rust rust-1.67))
(package
(inherit base-rust)
(outputs (cons "rustfmt" (package-outputs base-rust)))
@@ -713,6 +714,16 @@ safety and thread safety guarantees.")
"#[ignore]\nfn finds_author_git")
(("fn finds_local_author_git")
"#[ignore]\nfn finds_local_author_git"))))
+ (add-after 'unpack 'disable-tests-requiring-mercurial
+ (lambda _
+ (substitute*
+ "src/tools/cargo/tests/testsuite/init/simple_hg_ignore_exists/mod.rs"
+ (("fn simple_hg_ignore_exists")
+ "#[ignore]\nfn simple_hg_ignore_exists"))
+ (substitute*
+ "src/tools/cargo/tests/testsuite/init/mercurial_autodetect/mod.rs"
+ (("fn mercurial_autodetect")
+ "#[ignore]\nfn mercurial_autodetect"))))
(add-after 'unpack 'patch-command-exec-tests
;; This test suite includes some tests that the stdlib's
;; `Command` execution properly handles in situations where
@@ -746,9 +757,11 @@ safety and thread safety guarantees.")
(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")))))
+ "#[ignore]\nfn test_process_mask")
+ (("fn test_process_group_posix_spawn")
+ "#[ignore]\nfn test_process_group_posix_spawn")
+ (("fn test_process_group_no_posix_spawn")
+ "#[ignore]\nfn test_process_group_no_posix_spawn")))))
(add-after 'unpack 'disable-interrupt-tests
(lambda _
;; This test hangs in the build container; disable it.
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 5d7bfc8eb3..fbba554e9b 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
-;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
@@ -231,7 +231,11 @@ directory = '" port)
(string-length ".tar.gz"))
".crate")))
(find-files "." "\\.tar\\.gz$"))))
- (apply invoke `("cargo" "package" ,@cargo-package-flags)))
+ (begin
+ ;;error: invalid inclusion of reserved file name Cargo.toml.orig in package source
+ (when (file-exists? "Cargo.toml.orig")
+ (delete-file "Cargo.toml.orig"))
+ (apply invoke `("cargo" "package" ,@cargo-package-flags))))
(format #t "Not installing cargo sources, skipping `cargo package`.~%"))
#t)