[PATCH] gnu: rust: update to 1.82

  • Done
  • quality assurance status badge
Details
2 participants
  • Brennan Vincent
  • Efraim Flashner
Owner
unassigned
Submitted by
Brennan Vincent
Severity
normal
B
B
Brennan Vincent wrote on 18 Oct 17:10 +0200
(address . guix-patches@gnu.org)(address . efraim@flashner.co.il)
871q0da1lv.fsf@denver.mail-host-address-is-not-set
gnu/packages/rust.scm (new variable): rust-1.82.
gnu/packages/rust.scm (rust): update to 1.82.

Change-Id: If6ff59011edca7a230946a3ba77b51f26cd47789
---
gnu/packages/rust.scm | 79 +++++++++++++++++++++++++++++++++++--------
1 file changed, 65 insertions(+), 14 deletions(-)

Toggle diff (129 lines)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 7f85402242..97afb81cbc 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1054,6 +1054,33 @@ (define-public rust-1.81
(rust-bootstrapped-package rust-1.80 "1.81.0"
"19yggj1qivdhf68gx2652cfi7nxjkdgy39wh7h6facpzppz4h947"))
+(define-public rust-1.82
+ (let ((base-rust (rust-bootstrapped-package rust-1.81 "1.82.0"
+ "0ajiryki2aqsg3ydx3nfhrb5i1mmxvasfszs9qblw66skr8g8lvw")))
+ (package
+ (inherit base-rust)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base-rust)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'patch-cargo-checksums
+ (lambda _
+ (substitute* (cons* "Cargo.lock"
+ "src/bootstrap/Cargo.lock"
+ "library/Cargo.lock"
+ (filter
+ ;; don't mess with the
+ ;; lock files in the Cargo testsuite; it
+ ;; messes up the tests.
+ (lambda (path)
+ (not
+ (string-contains path "cargo/tests/testsuite")))
+ (find-files "src/tools" "Cargo.lock")))
+ (("(checksum = )\".*\"" all name)
+ (string-append name "\"" ,%cargo-reference-hash "\"")))
+ (generate-all-checksums "vendor"))))))))))
+
+
(define (make-ignore-test-list strs)
"Function to make creating a list to ignore tests a bit easier."
(map (lambda (str)
@@ -1068,7 +1095,7 @@ (define (make-ignore-test-list strs)
;;; 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.81))
+ (let ((base-rust rust-1.82))
(package
(inherit base-rust)
(properties (append
@@ -1082,32 +1109,50 @@ (define-public rust
'(begin
(for-each delete-file-recursively
'("src/llvm-project"
+ "vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
"vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
+ "vendor/openssl-src-111.17.0+1.1.1m/openssl"
"vendor/openssl-src-111.28.2+1.1.1w/openssl"
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
;; These are referenced by the cargo output
;; so we unbundle them.
- "vendor/curl-sys-0.4.72+curl-8.6.0/curl"
+ "vendor/curl-sys-0.4.52+curl-7.81.0/curl"
+ "vendor/curl-sys-0.4.74+curl-8.9.0/curl"
"vendor/libffi-sys-2.3.0/libffi"
- "vendor/libnghttp2-sys-0.1.9+1.58.0/nghttp2"
- "vendor/libz-sys-1.1.16/src/zlib"))
+ "vendor/libz-sys-1.1.3/src/zlib"
+ "vendor/libz-sys-1.1.18/src/zlib"
+ "vendor/libz-sys-1.1.19/src/zlib"))
;; Use the packaged nghttp2
- (delete-file "vendor/libnghttp2-sys-0.1.9+1.58.0/build.rs")
- (with-output-to-file "vendor/libnghttp2-sys-0.1.9+1.58.0/build.rs"
- (lambda _
- (format #t "fn main() {~@
+ (for-each
+ (lambda (ver)
+ (let ((vendored-dir (format #f "vendor/libnghttp2-sys-~a/nghttp2" ver))
+ (build-rs (format #f "vendor/libnghttp2-sys-~a/build.rs" ver)))
+ (delete-file-recursively vendored-dir)
+ (delete-file build-rs)
+ (with-output-to-file build-rs
+ (lambda _
+ (format #t "fn main() {~@
println!(\"cargo:rustc-link-lib=nghttp2\");~@
- }~%")))
+ }~%")))))
+ '("0.1.10+1.61.0"
+ "0.1.7+1.45.0"))
;; Remove vendored dynamically linked libraries.
;; find . -not -type d -executable -exec file {} \+ | grep ELF
;; Also remove the bundled (mostly Windows) libraries.
(for-each delete-file
(find-files "vendor" "\\.(a|dll|exe|lib)$"))
;; Adjust vendored dependency to explicitly use rustix with libc backend.
- (substitute* '("vendor/tempfile-3.7.1/Cargo.toml"
- "vendor/tempfile-3.10.1/Cargo.toml")
- (("features = \\[\"fs\"" all)
- (string-append all ", \"use-libc\"")))))))
+ (for-each
+ (lambda (ver)
+ (let ((f (format #f "vendor/tempfile-~a/Cargo.toml" ver)))
+ (substitute* f
+ (("features = \\[\"fs\"" all)
+ (string-append all ", \"use-libc\"")))))
+ '("3.3.0"
+ "3.4.0"
+ "3.7.1"
+ "3.10.1"
+ "3.12.0"))))))
(arguments
(substitute-keyword-arguments
(strip-keyword-arguments '(#:tests?)
@@ -1217,7 +1262,13 @@ (define-public rust
(lambda _
(substitute* "src/tools/cargo/tests/testsuite/install.rs"
,@(make-ignore-test-list
- '("fn install_global_cargo_config")))))
+ '("fn install_global_cargo_config")))
+ (substitute* "src/tools/cargo/tests/testsuite/cargo_info/within_ws_with_alternative_registry/mod.rs"
+ ,@(make-ignore-test-list
+ '("fn case")))
+ (substitute* "src/tools/cargo/tests/testsuite/package.rs"
+ ,@(make-ignore-test-list
+ '("fn workspace_with_local_deps_index_mismatch")))))
(add-after 'unpack 'disable-miscellaneous-broken-tests
(lambda _
(substitute* "src/tools/cargo/tests/testsuite/check_cfg.rs"

base-commit: 878b5a9f890ec1317b54e577159ebbfa6a7ccbce
--
2.46.0
B
B
Brennan Vincent wrote on 27 Oct 21:04 +0100
Re: bug#73864: Acknowledgement ([PATCH] gnu: rust: update to 1.82)
(address . 73864@debbugs.gnu.org)(address . efraim@flashner.co.il)
878qu9qplr.fsf@denver.mail-host-address-is-not-set
v2 of the patch (attached) fixes 1.81 -> 1.82 bootstrap on riscv64

Efraim:

I've performed the following tests, all of which are working fine.

* Build `rust` on x86-64
* Build `rust` on aarch64
* Build `rust` on riscv64
* Build `zoxide` on all three platforms
* Cross-build `zoxide` from x86-64 to the other two platforms

Let me know if I can help further by performing any other tests. Note
that I have access to quite fast x86 and aarch64 machines. But doing
anything on riscv64 takes forever (I only have access to an emulated
machine).
help-debbugs@gnu.org (GNU bug Tracking System) writes:

Toggle quote (21 lines)
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 73864@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 73864: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73864
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
E
E
Efraim Flashner wrote on 9 Nov 17:12 +0100
(name . Brennan Vincent)(address . brennan@umanwizard.com)(address . 73864-done@debbugs.gnu.org)
Zy-J67386SlU6vi3@3900XT
Thanks! Patch pushed

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmcviesACgkQQarn3Mo9
g1GqeA/+PoxwWhKlCzQD4w0TbxR6plaGhkLLw8/KlgZVLEwyBHYW0+GMoa6TWsnC
bzqAYE/FArM7+C0wI31PZC3clHXU9EjPfMCeQzhL3QTuTCw7a5xxRws04I2RfgYs
YFlEqXLm0j3vVL+1yXJf1PGCnGbfxSMNx0wn2Iocyga9ltMIf8a/HNBiOCniRZlw
7iTR029V7j+uVPs+MnOY+X1MIh3c0kZ2ZJVVNyM0zAX52MzqI8Tn+dTtQJ32Wdmw
Kvj8GSQ+8Gj8mZJGTc7seaygT0TQhoQlwn+CwvPWtolvLey5Fz+ExqoAkouour3L
MwYICa+UQt03yK+uLrMJ4hGY4xXKdVVU2iyKdWCRtrMVwCaTBhCo7cJJ1gCCezq8
MqnVkZHFXLy1RfImuDtbXDtSN698/hqbyFwnwxDP+WGS7Pd0tFHFXBuh5NwjMCUD
ekJwa09/ppmOL/C7o85Tqvvylh6QfnApTUwmzDcIEm3O3AJ5khc45THgNK8EjljK
2oe/Y7BwJ6V8Rwfznf3Ok+RiC3vU1zNsy0Au7mfQD3yizDQ9R/gQ9Ibqfx2Kdy+Q
OSU5+fu2A/ulbXxVlKg6GkN8Fk4KP+dxhuakcC3+kl0hBAHmiQJFgG/oLaC4bChL
/E/bXw//2/CKC31Px8IrcEyxGVrOf5TP/Ctdm9PY8pdiHiFu7cg=
=LBqL
-----END PGP SIGNATURE-----


Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 73864@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73864
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch