GNU bug report logs - #77212
[PATCH] gnu: rust: install stdlib manifest with original checksums

Previous Next

Package: guix-patches;

Reported by: Brennan Vincent <brennan <at> umanwizard.com>

Date: Sun, 23 Mar 2025 17:42:01 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#77212: closed ([PATCH] gnu: rust: install stdlib manifest
 with original checksums)
Date: Mon, 05 May 2025 06:04:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 5 May 2025 09:03:16 +0300
with message-id <aBhUpCDVGdjr9ycB <at> 3900XT>
and subject line Re: [bug#77212] [PATCH] gnu: rust: install stdlib manifest with original checksums
has caused the debbugs.gnu.org bug report #77212,
regarding [PATCH] gnu: rust: install stdlib manifest with original checksums
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
77212: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77212
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Brennan Vincent <brennan <at> umanwizard.com>
To: guix-patches <at> gnu.org, efraim <at> flashner.co.il
Subject: [PATCH] gnu: rust: install stdlib manifest with original checksums
Date: Sun, 23 Mar 2025 10:41:23 -0700
* gnu/packages/rust.scm (rust): install stdlib manifest with original checksums

Change-Id: I1100ffe4ff67c8e2026e802fc3902ec218e2efee
---
 gnu/packages/rust.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 3fd7fc3433..04d88f6a82 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1476,12 +1476,28 @@ (define-public rust
                  (invoke "./x.py" "install" "clippy")
                  (invoke "./x.py" "install" "rust-analyzer")
                  (invoke "./x.py" "install" "rustfmt")))
+             (add-before 'patch-cargo-checksums 'save-old-library-manifest
+               (lambda _
+                 (copy-file "library/Cargo.lock" ".old-library-manifest")))
              (add-after 'install 'install-rust-src
                (lambda* (#:key outputs #:allow-other-keys)
                  (let ((out (assoc-ref outputs "rust-src"))
                        (dest "/lib/rustlib/src/rust"))
                    (mkdir-p (string-append out dest))
                    (copy-recursively "library" (string-append out dest "/library"))
+                   ;; rust-analyzer needs the original checksums; otherwise,
+                   ;; it fails to cargo manifest in the stdlib, and then
+                   ;; analysis/inference involving stdlib structs doesn't work.
+                   ;;
+                   ;; For example, in the following trivial program:
+                   ;; 
+                   ;; fn main() {
+                   ;;     let x = Vec::<usize>::new();
+                   ;; }
+                   ;;
+                   ;; rust-analyzer since versino 1.82
+                   ;; can't infer the type of x unless the following line is present.
+                   (copy-file ".old-library-manifest" (string-append out dest "/library/Cargo.lock"))
                    (copy-recursively "src" (string-append out dest "/src")))))
              (add-before 'install 'remove-uninstall-script
                (lambda _

base-commit: b54a9ca849f013300c633fb79d80bc754f6b28a2
prerequisite-patch-id: 2b36f42a4b79ce79d12ce58a03de81902054f2a1
-- 
2.49.0




[Message part 3 (message/rfc822, inline)]
From: Efraim Flashner <efraim <at> flashner.co.il>
To: Brennan Vincent <brennan <at> umanwizard.com>
Cc: 77212-done <at> debbugs.gnu.org, divya <at> subvertising.org, steve <at> futurile.net
Subject: Re: [bug#77212] [PATCH] gnu: rust: install stdlib manifest with
 original checksums
Date: Mon, 5 May 2025 09:03:16 +0300
[Message part 4 (text/plain, inline)]
On Fri, Apr 04, 2025 at 12:25:50PM -0700, Brennan Vincent wrote:
> Ping.
> 
> Efraim, any thoughts on this?
> 

Sorry, I was away visiting family for most of April and just recently
got back.  Patch pushed to the rust-team branch.  Hopefully it makes
Doing Rust Things™ better for everyone.

-- 
Efraim Flashner   <efraim <at> 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
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 73 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.