GNU bug report logs - #69548
[PATCH] gnu: Add git-extras.

Previous Next

Package: guix-patches;

Reported by: Greg Hogan <code <at> greghogan.com>

Date: Mon, 4 Mar 2024 16:58:02 UTC

Severity: normal

Tags: patch

Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69548 in the body.
You can then email your comments to 69548 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#69548; Package guix-patches. (Mon, 04 Mar 2024 16:58:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Greg Hogan <code <at> greghogan.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 04 Mar 2024 16:58:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: guix-patches <at> gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH] gnu: Add git-extras.
Date: Mon,  4 Mar 2024 16:47:43 +0000
* gnu/packages/version-control.scm (git-extras): New variable.

Change-Id: I81a4d89c72f5a506bfa9ae4a6ccfa45f7e0102f7
---
 gnu/packages/version-control.scm | 44 ++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 58a21a6fe0..387206d7e7 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -104,6 +104,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -120,6 +121,7 @@ (define-module (gnu packages version-control)
   #: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 linux)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages man)
@@ -140,6 +142,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -3971,6 +3974,47 @@ (define-public gitlint
 commit messages for style.")
     (license license:expat)))
 
+(define-public git-extras
+  (package
+    (name "git-extras")
+    (version "7.1.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 "1zvmc8rrrmfn0wv603l0ql7h00mdknqvh6dnb86xhi6kfl018mbv"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:make-flags
+      #~(list (string-append "PREFIX=" #$output))
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; No configure script.
+          (delete 'configure))))
+    (propagated-inputs
+     (list coreutils
+           curl
+           findutils
+           gawk
+           git
+           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")

base-commit: 1fd308d5f6e4b03236cfa0c4cfadbbe9fe66e24c
-- 
2.44.0





Information forwarded to guix-patches <at> gnu.org:
bug#69548; Package guix-patches. (Tue, 19 Mar 2024 16:23:01 GMT) Full text and rfc822 format available.

Message #8 received at 69548 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Greg Hogan <code <at> greghogan.com>
Cc: 69548 <at> debbugs.gnu.org
Subject: Re: [bug#69548] [PATCH] gnu: Add git-extras.
Date: Tue, 19 Mar 2024 17:21:20 +0100
Hi,

Greg Hogan <code <at> greghogan.com> skribis:

> * gnu/packages/version-control.scm (git-extras): New variable.
>
> Change-Id: I81a4d89c72f5a506bfa9ae4a6ccfa45f7e0102f7

[...]

> +    (propagated-inputs
> +     (list coreutils
> +           curl
> +           findutils
> +           gawk
> +           git
> +           less
> +           ncurses
> +           procps
> +           rsync
> +           sed
> +           util-linux))

Instead of propagating all these, which is quite intrusive, would it be
possible to change the relevant scripts to start with:

  export PATH=…

?

I’d also recommend depending on ‘coreutils-minimal’ rather than
‘coreutils’.

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#69548; Package guix-patches. (Wed, 20 Mar 2024 17:58:01 GMT) Full text and rfc822 format available.

Message #11 received at 69548 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 69548 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v2] gnu: Add git-extras.
Date: Wed, 20 Mar 2024 17:47:04 +0000
Second version moves all propagated inputs except git to inputs and
instead injects the requisite bin directories into PATH at the beginning
of each script.

Also removes the unused bootstrap, build, and check phases.

* gnu/packages/version-control.scm (git-extras): New variable.

Change-Id: I7493ec9284559596d35546211b5f642f851dc485
---
 gnu/packages/version-control.scm | 72 ++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 946b1f5aac..763d46b1f9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -104,6 +104,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -120,6 +121,7 @@ (define-module (gnu packages version-control)
   #: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 linux)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages man)
@@ -140,6 +142,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -3971,6 +3974,75 @@ (define-public gitlint
 commit messages for style.")
     (license license:expat)))
 
+(define-public git-extras
+  (package
+    (name "git-extras")
+    (version "7.1.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 "1zvmc8rrrmfn0wv603l0ql7h00mdknqvh6dnb86xhi6kfl018mbv"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #: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)
+              ;; 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"
+                  "echo 'PATH=$$PATH:"
+                  (string-join
+                   (map (lambda (name) (assoc-ref inputs name))
+                        (list "coreutils-minimal"
+                              "curl"
+                              "findutils"
+                              "gawk"
+                              "less"
+                              "ncurses"
+                              "procps"
+                              "rsync"
+                              "sed"
+                              "util-linux"))
+                   "/bin:")
+                  "' >> $(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")

base-commit: 61655b2479b43e6294e753280e888919b3a38c80
-- 
2.44.0





Information forwarded to guix-patches <at> gnu.org:
bug#69548; Package guix-patches. (Tue, 22 Oct 2024 17:24:01 GMT) Full text and rfc822 format available.

Message #14 received at 69548 <at> debbugs.gnu.org (full text, mbox):

From: Greg Hogan <code <at> greghogan.com>
To: 69548 <at> debbugs.gnu.org
Cc: Greg Hogan <code <at> greghogan.com>
Subject: [PATCH v3] gnu: Add git-extras.
Date: Tue, 22 Oct 2024 17:21:10 +0000
This revision updates the package version, necessitating use of a temporary file
to store the PATH modifications to prevent "Argument length too long" errors.

* gnu/packages/version-control.scm (git-extras): New variable.
---
 gnu/packages/version-control.scm | 75 ++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 6bd37fee82..b381ea7ef7 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -111,6 +111,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -127,6 +128,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -149,6 +151,7 @@ (define-module (gnu packages version-control)
   #: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)
@@ -4251,6 +4254,78 @@ (define-public gitlint
 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
+      #: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")

base-commit: 3bcd0bf9e6c474afb07275f39d121b714d19c9ab
-- 
2.46.1





Reply sent to Sharlatan Hellseher <sharlatanus <at> gmail.com>:
You have taken responsibility. (Sun, 03 Nov 2024 23:42:01 GMT) Full text and rfc822 format available.

Notification sent to Greg Hogan <code <at> greghogan.com>:
bug acknowledged by developer. (Sun, 03 Nov 2024 23:42:02 GMT) Full text and rfc822 format available.

Message #19 received at 69548-done <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 69548-done <at> debbugs.gnu.org
Subject: [PATCH] gnu: Add git-extras.
Date: Sun, 03 Nov 2024 23:40:47 +0000
[Message part 1 (text/plain, inline)]
Hi,

Pushed as ccf4a0fa2d to master.

--
Thanks,
Oleg
[signature.asc (application/pgp-signature, inline)]

Message sent on to Greg Hogan <code <at> greghogan.com>:
bug#69548. (Mon, 04 Nov 2024 13:11:02 GMT) Full text and rfc822 format available.

Message #22 received at 69548-submitter <at> debbugs.gnu.org (full text, mbox):

From: Steve George <steve <at> futurile.net>
To: control <at> debbugs.gnu.org
Cc: 69548-submitter <at> debbugs.gnu.org
Subject: closing 69548
Date: Mon, 4 Nov 2024 13:10:02 +0000
close 69548 
# hi Greg - went into the archive as ccf4a0fa2d9baae29541dbf149b3b8c0144ee0da
# looks super useful, especially git rebase-patch !
thanks





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 03 Dec 2024 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 100 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.