summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2026-03-12 12:56:53 +0200
committerEfraim Flashner <efraim@flashner.co.il>2026-03-12 12:56:53 +0200
commit952a8d75d8f27a4238b5ecf392f96e438eeda015 (patch)
tree82b0bf50b59665a80522aae14160ac645a322a14 /gnu/packages/version-control.scm
parent17f966389b2ce639d4ea88b0a479ab27747dc89a (diff)
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
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm46
1 files changed, 44 insertions, 2 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 3a679233845..dfb89a0be84 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")