guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#69981] [PATCH] gnu: rust: update to 1.77.0


From: Brennan Vincent
Subject: [bug#69981] [PATCH] gnu: rust: update to 1.77.0
Date: Sun, 24 Mar 2024 10:27:38 -0400

* gnu/packages/rust.scm (rust-1.77): New variable.
* gnu/packages/rust.scm (rust): Base main rust package on rust-1.77.

Change-Id: Ia4611b0ea153bce1de97e711af6d3f7396a6bf85
---
 gnu/packages/rust.scm | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index e4cc14d26d..fc9a003f9b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -957,6 +957,31 @@ (define-public rust-1.76
       (inputs (modify-inputs (package-inputs base-rust)
                              (replace "llvm" llvm-17))))))
 
+(define-public rust-1.77
+  (let ((base-rust (rust-bootstrapped-package rust-1.76 "1.77.0"
+                    "11rda8d8qj24a5mkjzj1x6x9pkvaq0zlhkgdp5b39zj5m0gwsv0d")))
+    (package
+      (inherit base-rust)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base-rust)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-after 'configure 'no-optimized-compiler-builtins
+               (lambda* (#:key inputs #:allow-other-keys)
+                 ;; Pre-1.77, the behavior was equivalent to this flag being
+                 ;; "false" if the llvm-project submodule wasn't checked out.
+                 ;;
+                 ;; Now there's an explicit check, so the build fails if we 
don't
+                 ;; manually disable this (given that we don't have the 
submodule checked out).
+                 ;; Thus making the build behave the same as it did in 1.76 
and earlier.
+                 ;;
+                 ;; TODO - make the build system depend on system llvm for 
this, so we
+                 ;; can get the performance benefits of setting this to true?
+                 (substitute* "config.toml"
+                   (("\\[build\\]")
+                    "[build]
+optimized-compiler-builtins = false")))))))))))
+
 (define (make-ignore-test-list strs)
   "Function to make creating a list to ignore tests a bit easier."
   (map (lambda (str)
@@ -971,7 +996,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.76))
+  (let ((base-rust rust-1.77))
     (package
       (inherit base-rust)
       (properties (append
@@ -1139,7 +1164,7 @@ (define-public rust
                      ;; The three tests which are known to fail upstream on 
QEMU
                      ;; emulation on aarch64 and riscv64 also fail on x86_64 in
                      ;; Guix's build system.  Skip them on all builds.
-                     (substitute* "sys/unix/process/process_common/tests.rs"
+                     (substitute* 
"sys/pal/unix/process/process_common/tests.rs"
                        ;; We can't use make-ignore-test-list because we will 
get
                        ;; build errors due to the double [ignore] block.
                        (("target_arch = \"arm\"" arm)
-- 
2.41.0







reply via email to

[Prev in Thread] Current Thread [Next in Thread]