From 952a8d75d8f27a4238b5ecf392f96e438eeda015 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Mar 2026 12:56:53 +0200 Subject: [PATCH] gnu: git-cliff: Install manpage and shell completions. * gnu/packages/version-control.scm (git-cliff)[arguments]: Add a phase to generate and install the manpage and the shell completions. Change-Id: Ib548fed6cd03f21c0dade2d773fcf8146638dc5b --- gnu/packages/version-control.scm | 46 ++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 3a67923384..dfb89a0be8 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -922,8 +922,50 @@ to GitHub contributions calendar.") (base32 "1vz1qix1yi6j5lb95q39pdxn4b6nrq8m235kjjh605m2mf0r8wyd")))) (build-system cargo-build-system) (arguments - (list #:install-source? #f)) - (native-inputs (list pkg-config)) + (list + #:install-source? #f + #:imported-modules (append %copy-build-system-modules + %cargo-build-system-modules) + #:modules '((guix build cargo-build-system) + ((guix build copy-build-system) #:prefix copy:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda args + (mkdir "assets") + (setenv "OUT_DIR" "assets") + (let ((git-cliff-mangen + (if #$(%current-target-system) + (search-input-file native-inputs + "bin/git-cliff-mangen") + (in-vicinity #$output "bin/git-cliff-mangen"))) + (git-cliff-completions + (if #$(%current-target-system) + (search-input-file native-inputs + "bin/git-cliff-completions") + (in-vicinity #$output "bin/git-cliff-completions")))) + (invoke git-cliff-mangen) + (invoke git-cliff-completions)) + ;; Then delete the extra binaries. + (delete-file (string-append #$output "/bin/git-cliff-mangen")) + (delete-file (string-append #$output "/bin/git-cliff-completions")) + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("assets/git-cliff.bash" + "share/bash-completion/completions/git-cliff") + ("assets/git-cliff.elv" + "share//elvish/lib/git-cliff") + ("assets/git-cliff.fish" + "share/fish/vendor_completions.d/") + ("assets/_git-cliff" "share/zsh/site-functions/") + ("assets/git-cliff.1" "share/man/man1/")) + args)))))) + (native-inputs + (append (if (%current-target-system) + (list this-package) + '()) + (list pkg-config))) (inputs (cons* libgit2-1.9 zlib `(,zstd "lib")