GNU bug report logs -
#77212
[PATCH] gnu: rust: install stdlib manifest with original checksums
Previous Next
Full log
View this message in rfc822 format
[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)]
* 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)]
[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.