diff options
author | Brennan Vincent <brennan@umanwizard.com> | 2024-04-30 23:47:32 -0400 |
---|---|---|
committer | Guix Patches Tester <> | 2024-05-01 06:24:24 +0200 |
commit | 37eb13af1f84a7badf9e6f05d999af6b7d86ab4b (patch) | |
tree | b4fd8df3b1dcd2b28a78c622dcf0ebfa0a920e2b | |
parent | ddf3759645ba76ef532658a257ae74fe0b1788b5 (diff) | |
download | guix-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.scm | 15 |
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")) |