diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2024-03-12 10:01:46 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2024-03-12 13:48:32 +0200 |
commit | 62d8b14e325880bb68fbc7dd69452c6cace1149f (patch) | |
tree | 5a717d10a14978de5cdacb99f28c782ddc1769c1 /gnu/packages | |
parent | 4ef63d7ed0ae1ae29c97cb16f63c537c70473dcf (diff) | |
download | guix-62d8b14e325880bb68fbc7dd69452c6cace1149f.tar.gz guix-62d8b14e325880bb68fbc7dd69452c6cace1149f.zip |
gnu: rust-bindgen-cli: Add shell completions.
* gnu/packages/rust-apps.scm (rust-bindgen-cli)[arguments]: Add a phase
to install shell completions.
Change-Id: Ia476d02a7c2d75518da2624b09b7091fafb70d8d
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/rust-apps.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 8785659777..d73bd1a030 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1873,7 +1873,29 @@ rebase.") (assoc-ref inputs "clang") "/lib"))) (install-file "target/release/bindgen" bin) (wrap-program bindgen - `("LIBCLANG_PATH" = (,llvm-dir))))))))) + `("LIBCLANG_PATH" = (,llvm-dir)))))) + (add-after 'install 'install-completions + (lambda* (#:key native-inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (bindgen (string-append out "/bin/bindgen"))) + (mkdir-p (string-append share "/bash-completion/completions")) + (with-output-to-file + (string-append share "/bash-completion/completions/bindgen") + (lambda _ (invoke bindgen "--generate-shell-completions" "bash"))) + (mkdir-p (string-append share "/fish/vendor_completions.d")) + (with-output-to-file + (string-append share "/fish/vendor_completions.d/bindgen.fish") + (lambda _ (invoke bindgen "--generate-shell-completions" "fish"))) + (mkdir-p (string-append share "/zsh/site-functions")) + (with-output-to-file + (string-append share "/zsh/site-functions/_bindgen") + (lambda _ (invoke bindgen "--generate-shell-completions" "zsh"))) + (mkdir-p (string-append share "/elvish/lib")) + (with-output-to-file + (string-append share "/elvish/lib/bindgen") + (lambda _ + (invoke bindgen "--generate-shell-completions" "elvish"))))))))) (inputs (list bash-minimal clang)) (home-page "https://rust-lang.github.io/rust-bindgen/") (synopsis "Generate Rust FFI bindings to C and C++ libraries") |