diff options
author | Greg Hogan <code@greghogan.com> | 2024-10-22 17:21:10 +0000 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-11-03 23:33:39 +0000 |
commit | ccf4a0fa2d9baae29541dbf149b3b8c0144ee0da (patch) | |
tree | 320142f954764d12a3119da8fdfde63a5b0185c0 | |
parent | d33626fb07e5a8369b1be1dff87f399be90d85d4 (diff) | |
download | guix-ccf4a0fa2d9baae29541dbf149b3b8c0144ee0da.tar.gz guix-ccf4a0fa2d9baae29541dbf149b3b8c0144ee0da.zip |
gnu: Add git-extras.
* gnu/packages/version-control.scm (git-extras): New variable.
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Change-Id: I0246227b48a5550e0ee1aecf31f1b9c786f6bd9f
-rw-r--r-- | gnu/packages/version-control.scm | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index dfc455ad88..a15f274c37 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -112,6 +112,7 @@ #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -128,6 +129,7 @@ #:use-module (gnu packages guile-xyz) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages less) #:use-module (gnu packages libbsd) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) @@ -150,6 +152,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages rsync) #:use-module (gnu packages ruby) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) @@ -4273,6 +4276,81 @@ Git project instead of @command{git filter-branch}.") commit messages for style.") (license license:expat))) +(define-public git-extras + (package + (name "git-extras") + (version "7.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tj/git-extras") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lig1sbk83qqvbvpmpcjaf23nk0r7snny5lix75ym1z320970xni")))) + (build-system gnu-build-system) + (arguments + (list + ;; XXX: Tests require additional setup with Pytest, see + ;; <.github/workflows/ci.yml>. + #:tests? #f + #:make-flags + #~(list (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + ;; No configure script, build process, or tests. + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (delete 'check) + (add-after 'unpack 'hardcode-dependency-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; Write to and copy from temporary file to prevent + ;; "make: bash: Argument list too long" errors. + (let* ((temp-file (mkstemp! "temp-file.XXXXXX")) + (temp-filename (port-filename temp-file))) + (map (lambda (name) + (format temp-file "export PATH=$PATH:~a/bin~%" + (assoc-ref inputs name))) + (list "coreutils-minimal" + "curl" + "findutils" + "gawk" + "less" + "ncurses" + "procps" + "rsync" + "sed" + "util-linux")) + ;; The Makefile injects helper scripts and functions into each + ;; script. This substitution injects a PATH appending the bin + ;; directory of each non-propagated input in order to minimize + ;; the number of packages propagated to the profile. + (substitute* "Makefile" + (("head -1 bin/\\$\\(COMMAND\\) > \\$\\(TEMPFILE\\); \\\\" line) + (string-append + line "\n" + "cat " temp-filename " >> $(TEMPFILE); \\"))))))))) + (propagated-inputs (list git)) + (inputs + (list coreutils-minimal + curl + findutils + gawk + less + ncurses + procps + rsync + sed + util-linux)) + (home-page "https://github.com/tj/git-extras") + (synopsis "Additional Git utilities") + (description "The git-extras package provides a collection of additional +git commands for repository metrics and summarization, commit and log editing, +developer workflow, and project and release management.") + (license license:expat))) + (define-public hut (package (name "hut") |