summaryrefslogtreecommitdiff
path: root/gnu/packages/rust.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-10-01 10:49:07 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-10-18 11:35:40 +0300
commitdf93d8a9f85be9ad4902711afca432ae6396087c (patch)
tree602a3182ae47babf457d9c838970a75088ad412d /gnu/packages/rust.scm
parent868d17acf79302f04e9ead1ff7bed35a76a14885 (diff)
downloadguix-patches-df93d8a9f85be9ad4902711afca432ae6396087c.tar
guix-patches-df93d8a9f85be9ad4902711afca432ae6396087c.tar.gz
gnu: rust: Build more tools.
* gnu/packages/rust.scm (rust)[outputs]: Rename 'rustfmt' output to 'tools'. [arguments]: Adjust 'build, 'check and 'install phases to also provide clippy and rust-analyzer.
Diffstat (limited to 'gnu/packages/rust.scm')
-rw-r--r--gnu/packages/rust.scm20
1 files changed, 13 insertions, 7 deletions
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 6ee57ac21f..34511f283e 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -760,7 +760,7 @@ safety and thread safety guarantees.")
(let ((base-rust rust-1.70))
(package
(inherit base-rust)
- (outputs (cons "rustfmt" (package-outputs base-rust)))
+ (outputs (cons "tools" (package-outputs base-rust)))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:tests? _ #f)
@@ -878,18 +878,20 @@ safety and thread safety guarantees.")
(string-append all
"gdb = \"" gdb "/bin/gdb\"\n"))))))
(replace 'build
- ;; Phase overridden to also build rustfmt.
+ ;; Phase overridden to also build more tools.
(lambda* (#:key parallel-build? #:allow-other-keys)
(let ((job-spec (string-append
"-j" (if parallel-build?
(number->string (parallel-job-count))
"1"))))
(invoke "./x.py" job-spec "build"
- "library/std" ;rustc
+ "library/std" ;rustc
"src/tools/cargo"
+ "src/tools/clippy"
+ "src/tools/rust-analyzer"
"src/tools/rustfmt"))))
(replace 'check
- ;; Phase overridden to also test rustfmt.
+ ;; Phase overridden to also test more tools.
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
(when tests?
(let ((job-spec (string-append
@@ -899,9 +901,11 @@ safety and thread safety guarantees.")
(invoke "./x.py" job-spec "test" "-vv"
"library/std"
"src/tools/cargo"
+ "src/tools/clippy"
+ "src/tools/rust-analyzer"
"src/tools/rustfmt")))))
(replace 'install
- ;; Phase overridden to also install rustfmt.
+ ;; Phase overridden to also install more tools.
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./x.py" "install")
(substitute* "config.toml"
@@ -910,9 +914,11 @@ safety and thread safety guarantees.")
(format #f "prefix = ~s" (assoc-ref outputs "cargo"))))
(invoke "./x.py" "install" "cargo")
(substitute* "config.toml"
- ;; Adjust the prefix to the 'rustfmt' output.
+ ;; Adjust the prefix to the 'tools' output.
(("prefix = \"[^\"]*\"")
- (format #f "prefix = ~s" (assoc-ref outputs "rustfmt"))))
+ (format #f "prefix = ~s" (assoc-ref outputs "tools"))))
+ (invoke "./x.py" "install" "clippy")
+ (invoke "./x.py" "install" "rust-analyzer")
(invoke "./x.py" "install" "rustfmt")))))))
;; Add test inputs.
(native-inputs (cons* `("gdb" ,gdb/pinned)