diff options
| author | Efraim Flashner <efraim@flashner.co.il> | 2026-02-26 17:04:27 +0200 |
|---|---|---|
| committer | Efraim Flashner <efraim@flashner.co.il> | 2026-02-26 17:33:13 +0200 |
| commit | 12a9f53dd2a1f951ef42cfa2bfb4916864f997ad (patch) | |
| tree | 0727dc7b5220a7e42040eccc2e4aa86ef550c213 /gnu/packages/rust-apps.scm | |
| parent | ab7631053e3a16800e3b9037d556e19d2a30ed49 (diff) | |
gnu: xremap: Rewrite install-completions phase.
* gnu/packages/rust-apps.scm (rust-xremap)[arguments]: Rewrite
'install-completions phase to make it cleaner.
[native-inputs]: Add rust-xremap when cross-compiling.
Change-Id: Ifb48b6cc26b60e2c10604c38c313e2acee858ad0
Diffstat (limited to 'gnu/packages/rust-apps.scm')
| -rw-r--r-- | gnu/packages/rust-apps.scm | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index f29227d2c1d..8ed5a53bc61 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -4226,32 +4226,36 @@ and users are in full control of their data and workflow.") "07hva0dy1d88bcrddm5jg54jlspf1cgbpxb1v9za6crk7bks3c9p")))) (build-system cargo-build-system) (arguments - `(#:features '() - #:install-source? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-completions - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (xremap (string-append out "/bin/xremap"))) - (mkdir-p (string-append out "/etc/bash_completion.d")) - (with-output-to-file - (string-append out "/etc/bash_completion.d/xremap") - (lambda _ (invoke xremap "--completions" "bash"))) - (mkdir-p (string-append share "/fish/vendor_completions.d")) - (with-output-to-file - (string-append share "/fish/vendor_completions.d/xremap.fish") - (lambda _ (invoke xremap "--completions" "fish"))) - (mkdir-p (string-append share "/zsh/site-functions")) - (with-output-to-file - (string-append share "/zsh/site-functions/_xremap") - (lambda _ (invoke xremap "--completions" "zsh"))) - (mkdir-p (string-append share "/elvish/lib")) - (with-output-to-file - (string-append share "/elvish/lib/xremap") - (lambda _ (invoke xremap "--completions" "elvish"))))))))) + (list + #:install-source? #f + #:modules + '((guix build cargo-build-system) + (guix build utils) + (ice-9 match)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-completions + (lambda* (#:key native-inputs #:allow-other-keys) + (for-each + (match-lambda + ((shell . path) + (mkdir-p (in-vicinity #$output (dirname path))) + (let ((binary + (if #$(%current-target-system) + (search-input-file native-inputs "bin/xremap") + (in-vicinity #$output "bin/xremap")))) + (with-output-to-file (in-vicinity #$output path) + (lambda _ + (invoke binary "--completions" shell)))))) + '(("bash" . "share/bash-completion/completions/xremap") + ("elvish" . "share/elvish/lib/xremap") + ("fish" . "share/fish/vendor_completions.d/xremap.fish") + ("zsh" . "share/zsh/site-functions/_xremap")))))))) (inputs (cargo-inputs 'rust-xremap)) + (native-inputs + (if (%current-target-system) + (list this-package) + '())) (home-page "https://github.com/xremap/xremap") (synopsis "Dynamic key remapper for X and Wayland") (description "This package provides dynamic key remapper for X and Wayland.") |
