summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrennan Vincent <brennan@umanwizard.com>2024-04-30 23:47:32 -0400
committerGuix Patches Tester <>2024-05-01 06:24:24 +0200
commit37eb13af1f84a7badf9e6f05d999af6b7d86ab4b (patch)
treeb4fd8df3b1dcd2b28a78c622dcf0ebfa0a920e2b
parentddf3759645ba76ef532658a257ae74fe0b1788b5 (diff)
downloadguix-patches-issue-70690.tar
guix-patches-issue-70690.tar.gz
gnu: rust: install rust-analyzer-proc-macro-srvissue-70690
* gnu/packages/rust.scm (rust): Install rust-analyzer-proc-macro-srv rust-analyzer relies on this binary existing, and recent versions of rust no longer install it by default. Change-Id: I7ce59c065a35cf2592e7eb2fa57317aa9a8df675
-rw-r--r--gnu/packages/rust.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 60aa9b1ea0..44995fc13e 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1174,7 +1174,9 @@ safety and thread safety guarantees.")
"src/tools/cargo"
"src/tools/clippy"
"src/tools/rust-analyzer"
- "src/tools/rustfmt"))))
+ "src/tools/rust-analyzer/crates/proc-macro-srv-cli"
+ "src/tools/rustfmt"))
+ ))
(replace 'check
;; Phase overridden to also test more tools.
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
@@ -1204,7 +1206,16 @@ safety and thread safety guarantees.")
(format #f "prefix = ~s" (assoc-ref outputs "tools"))))
(invoke "./x.py" "install" "clippy")
(invoke "./x.py" "install" "rust-analyzer")
- (invoke "./x.py" "install" "rustfmt")))
+ (invoke "./x.py" "install" "rustfmt")
+ ;; ./x.py doesn't have an install target
+ ;; for the proc macro server, so we install it manually
+ (let* ((out (assoc-ref outputs "out"))
+ (platform ,(platform-rust-target
+ (lookup-platform-by-target-or-system
+ (or (%current-target-system)
+ (%current-system))))))
+ (install-file (string-append "build/" platform "/stage2-tools/" platform "/release/rust-analyzer-proc-macro-srv")
+ (string-append out "/libexec")))))
(add-after 'install 'install-rust-src
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "rust-src"))