efraim pushed a commit to branch rust-team
in repository guix.

commit 2538eee3c3b1623893bcde0a0bfa4f0596fc0af1
Author: Efraim Flashner <[email protected]>
AuthorDate: Thu Feb 13 16:35:39 2025 +0200

    gnu: rust: Update to 1.84.
    
    * gnu/packages/rust.scm (rust): Update to 1.84.
    [source]: Adjust snippet for directories to delete.
    [arguments]: Only add 'disable-tests-broken-on-aarch64 phase for
    aarch64.  Adjust other test modifying phases for changes in the test
    suite.
    [native-inputs]: Replace the clang-runtime sources from 17 to 19.
    [properties]: Update the llvm cpu architecture.
    
    Change-Id: I17a357534d168d87f11f497b25c297003bb76f2a
---
 gnu/packages/rust.scm | 79 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 44 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index f1daed2c77..48e2ce56b2 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1100,12 +1100,13 @@ 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.82))
+  (let ((base-rust rust-1.84))
     (package
       (inherit base-rust)
       (properties (append
                     (alist-delete 'hidden? (package-properties base-rust))
-                    (clang-compiler-cpu-architectures "17")))
+                    ;; Keep in sync with the llvm used to build rust.
+                    (clang-compiler-cpu-architectures "19")))
       (outputs (cons* "rust-src" "tools" (package-outputs base-rust)))
       (source
        (origin
@@ -1113,7 +1114,9 @@ safety and thread safety guarantees.")
          (snippet
           '(begin
              (for-each delete-file-recursively
-                       '("src/llvm-project"
+                       '("src/gcc"
+                         "src/llvm-project"
+                         "vendor/jemalloc-sys-0.3.2/jemalloc"
                          "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"
@@ -1123,10 +1126,10 @@ safety and thread safety guarantees.")
                          ;; so we unbundle them.
                          "vendor/curl-sys-0.4.52+curl-7.81.0/curl"
                          "vendor/curl-sys-0.4.74+curl-8.9.0/curl"
+                         "vendor/curl-sys-0.4.77+curl-8.10.1/curl"
                          "vendor/libffi-sys-2.3.0/libffi"
                          "vendor/libz-sys-1.1.3/src/zlib"
-                         "vendor/libz-sys-1.1.18/src/zlib"
-                         "vendor/libz-sys-1.1.19/src/zlib"))
+                         "vendor/libz-sys-1.1.20/src/zlib"))
              ;; Use the packaged nghttp2
              (for-each
               (lambda (ver)
@@ -1155,9 +1158,8 @@ safety and thread safety guarantees.")
                      (string-append all ", \"use-libc\"")))))
               '("3.3.0"
                 "3.4.0"
-                "3.7.1"
                 "3.10.1"
-                "3.12.0"))))))
+                "3.13.0"))))))
       (arguments
        (substitute-keyword-arguments
          (strip-keyword-arguments '(#:tests?)
@@ -1182,7 +1184,8 @@ safety and thread safety guarantees.")
                (lambda _
                  (substitute* "src/tools/cargo/tests/testsuite/git.rs"
                    ,@(make-ignore-test-list
-                      '("fn fetch_downloads_with_git2_first_")))
+                      '("fn fetch_downloads_with_git2_first_"
+                        "fn corrupted_checkout_with_cli")))
                  (substitute* "src/tools/cargo/tests/testsuite/build.rs"
                    ,@(make-ignore-test-list
                       '("fn 
build_with_symlink_to_path_dependency_with_build_script_in_git")))
@@ -1245,35 +1248,41 @@ safety and thread safety guarantees.")
                              ,@(make-ignore-test-list
                                  '("fn package_cache_lock_during_build")))))))
                    `())
-             (add-after 'unpack 'disable-tests-broken-on-aarch64
+             ,@(if (target-aarch64?)
+                   ;; Keep this phase separate so it can be adjusted without 
needing
+                   ;; to adjust the skipped tests on other architectures.
+                   `((add-after 'unpack 'disable-tests-broken-on-aarch64
+                       (lambda _
+                         (with-directory-excursion 
"src/tools/cargo/tests/testsuite"
+                           (substitute* "build_script_extra_link_arg.rs"
+                             ,@(make-ignore-test-list
+                                '("fn 
build_script_extra_link_arg_bin_single")))
+                           (substitute* "build_script.rs"
+                             ,@(make-ignore-test-list
+                                '("fn env_test")))
+                           (substitute* "collisions.rs"
+                             ,@(make-ignore-test-list
+                                '("fn collision_doc_profile_split")))
+                           (substitute* "concurrent.rs"
+                             ,@(make-ignore-test-list
+                                '("fn no_deadlock_with_git_dependencies")))
+                           (substitute* "features2.rs"
+                             ,@(make-ignore-test-list
+                                '("fn 
dep_with_optional_host_deps_activated")))))))
+                   `())
+             (add-after 'unpack 'disable-tests-requiring-crates.io
                (lambda _
-                 (with-directory-excursion "src/tools/cargo/tests/testsuite/"
-                   (substitute* "build_script_extra_link_arg.rs"
-                     ,@(make-ignore-test-list
-                        '("fn build_script_extra_link_arg_bin_single")))
-                   (substitute* "build_script.rs"
-                     ,@(make-ignore-test-list
-                        '("fn env_test")))
-                   (substitute* "collisions.rs"
+                 (with-directory-excursion "src/tools/cargo/tests/testsuite"
+                   (substitute* "install.rs"
                      ,@(make-ignore-test-list
-                        '("fn collision_doc_profile_split")))
-                   (substitute* "concurrent.rs"
+                        '("fn install_global_cargo_config")))
+                   (substitute* '("cargo_add/add_workspace_non_fuzzy/mod.rs"
+                                  
"cargo_info/within_ws_with_alternative_registry/mod.rs")
                      ,@(make-ignore-test-list
-                        '("fn no_deadlock_with_git_dependencies")))
-                   (substitute* "features2.rs"
+                        '("fn case")))
+                   (substitute* "package.rs"
                      ,@(make-ignore-test-list
-                        '("fn dep_with_optional_host_deps_activated"))))))
-             (add-after 'unpack 'disable-tests-requiring-crates.io
-               (lambda _
-                 (substitute* "src/tools/cargo/tests/testsuite/install.rs"
-                   ,@(make-ignore-test-list
-                      '("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")))))
+                        '("fn workspace_with_local_deps_index_mismatch"))))))
              (add-after 'unpack 'disable-miscellaneous-broken-tests
                (lambda _
                  (substitute* "src/tools/cargo/tests/testsuite/check_cfg.rs"
@@ -1342,7 +1351,7 @@ safety and thread safety guarantees.")
                ;; different outputs while reusing the shared libraries.
                (lambda* (#:key outputs #:allow-other-keys)
                  (let ((out (assoc-ref outputs "out")))
-                   (substitute* "src/bootstrap/src/core/builder.rs"
+                   (substitute* "src/bootstrap/src/core/builder/cargo.rs"
                      ((" = rpath.*" all)
                       (string-append all
                                      "                "
@@ -1458,7 +1467,7 @@ exec -a \"$0\" \"~a\" --proc-macro-srv \"~a\" \"$@\""
                       (prepend curl libffi `(,nghttp2 "lib") zlib)))
       (native-inputs (cons*
                       ;; Keep in sync with the llvm used to build rust.
-                      `("clang-source" ,(package-source clang-runtime-17))
+                      `("clang-source" ,(package-source clang-runtime-19))
                       ;; Add test inputs.
                       `("gdb" ,gdb/pinned)
                       `("procps" ,procps)

Reply via email to