summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-07-13 15:13:07 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-07-13 15:14:17 +0300
commit61a8c913685d0485369b0009cb2cc4dd764d7d4f (patch)
tree4e942643952bcb732e9d2b9f27356f794c2c50a7
parent3041eb3df3057cb39da2f5133906913e2ba7dd1c (diff)
gnu: hyperfine: Install completions.
* gnu/packages/rust-apps.scm (hyperfine)[arguments]: Add custom 'install-more phase to install manpage and shell completions.
-rw-r--r--gnu/packages/rust-apps.scm24
1 files changed, 23 insertions, 1 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 16044ef098..7aabc12876 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -393,6 +393,9 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.")
(build-system cargo-build-system)
(arguments
`(#:rust ,rust-1.46
+ #:modules ((guix build cargo-build-system)
+ (guix build utils)
+ (srfi srfi-26))
#:cargo-inputs
(("rust-atty" ,rust-atty-0.2)
("rust-cfg-if" ,rust-cfg-if-0.1)
@@ -409,7 +412,26 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.")
("rust-version-check" ,rust-version-check-0.9)
("rust-winapi" ,rust-winapi-0.3))
#:cargo-development-inputs
- (("rust-approx" ,rust-approx-0.3))))
+ (("rust-approx" ,rust-approx-0.3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-more
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/"))
+ (man (string-append share "man/man1"))
+ (bash (string-append share "bash-completion/completions"))
+ (fish (string-append share "fish/vendor_completions.d"))
+ (zsh (string-append share "zsh/site-functions")))
+ (install-file "doc/hyperfine.1" man)
+ (for-each (cut install-file <> bash)
+ (find-files "target/release/build" "^hyperfine.bash$"))
+ (rename-file (string-append bash "/hyperfine.bash")
+ (string-append bash "/hyperfine"))
+ (for-each (cut install-file <> fish)
+ (find-files "target/release/build" "^hyperfine.fish$"))
+ (for-each (cut install-file <> zsh)
+ (find-files "target/release/build" "^_hyperfine$"))))))))
(home-page "https://github.com/sharkdp/hyperfine")
(synopsis "Command-line benchmarking tool")
(description