efraim pushed a commit to branch rust-team
in repository guix.
commit 87be3cb1bbd93d062abf15f59e73111fb4d929d5
Author: Efraim Flashner <[email protected]>
AuthorDate: Tue Mar 5 12:53:44 2024 +0200
gnu: rav1e: Add shell completions.
* gnu/packages/video.scm (rav1e)[arguments]: Add a phase to generate and
install shell completions.
Change-Id: Iaf90be902593f085b3aafb780cd72a75c26b2c58
---
gnu/packages/video.scm | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1d2ab5fbeb..80d05bfc8a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6443,7 +6443,40 @@ result in several formats:
(invoke "cargo" "cinstall" "--release"
;; Only build the dynamic library.
"--library-type" "cdylib"
- (string-append "--prefix=" out))))))))
+ (string-append "--prefix=" out)))))
+ (add-after 'install 'install-completions
+ (lambda* (#:key native-inputs outputs #:allow-other-keys)
+ (unless ,(%current-target-system)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (bash-completions-dir
+ (string-append out "/etc/bash_completion.d"))
+ (zsh-completions-dir
+ (string-append share "/zsh/site-functions"))
+ (fish-completions-dir
+ (string-append share "/fish/vendor_completions.d"))
+ (elvish-completions-dir
+ (string-append share "/elvish/lib"))
+ (rav1e (string-append out "/bin/rav1e"))
+ (common-flags '("-" "-o" "-" "advanced" "--completion")))
+ (mkdir-p bash-completions-dir)
+ (with-output-to-file
+ (string-append bash-completions-dir "/rav1e")
+ (lambda _ (apply invoke rav1e (append common-flags
'("bash")))))
+ (mkdir-p zsh-completions-dir)
+ ;; This one currently fails to build.
+ ;(with-output-to-file
+ ; (string-append zsh-completions-dir "/_rav1e")
+ ; (lambda _ (apply invoke rav1e (append common-flags
'("zsh")))))
+ (mkdir-p fish-completions-dir)
+ (with-output-to-file
+ (string-append fish-completions-dir "/rav1e.fish")
+ (lambda _ (apply invoke rav1e (append common-flags
'("fish")))))
+ (mkdir-p elvish-completions-dir)
+ (with-output-to-file
+ (string-append elvish-completions-dir "/rav1e")
+ (lambda _
+ (apply invoke rav1e (append common-flags
'("elvish"))))))))))))
(native-inputs
(append (if (target-x86?)
(list nasm)