Subject: bug#69981: closed (Re: [bug#69981] [PATCH] gnu: rust: update to 1.77.0)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 02 Apr 2024 13:26:05 +0000

Your bug report

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

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
69981: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69981
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#69981] [PATCH] gnu: rust: update to 1.77.0
From: Efraim Flashner <[email-masked]>
To: [email-masked]
Date: Tue, 2 Apr 2024 16:25:06 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Looks like I forgot to close the bug.

-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Subject: [PATCH] gnu: rust: update to 1.77.0
From: Brennan Vincent <[email-masked]>
To: [email-masked]
Cc: Brennan Vincent <[email-masked]>, [email-masked]
Date: Sun, 24 Mar 2024 10:27:38 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

* 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