[bug#33358] gnu: Add git-when-merged.

Message ID 20181112212423.23811-1-kyle@kyleam.com
State Accepted
Commit 243bdcc12e40c8dbd1129fa5b613d8f247744f31
Headers show
Series [bug#33358] gnu: Add git-when-merged. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Kyle Meyer Nov. 12, 2018, 9:24 p.m. UTC
* gnu/packages/version-control.scm (git-when-merged): New variable.
---
 gnu/packages/version-control.scm | 52 ++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

Comments

Ludovic Courtès Nov. 16, 2018, 10:12 p.m. UTC | #1
Hi,

Kyle Meyer <kyle@kyleam.com> skribis:

> * gnu/packages/version-control.scm (git-when-merged): New variable.

Applied, thanks!

Ludo'.

Patch

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 04d28044dd..fd90513000 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2279,3 +2279,55 @@  used to keep a folder in sync between computers.")
     ;; The web app is released under the AGPLv3+.
     (license (list license:gpl3+
                    license:agpl3+))))
+
+(define-public git-when-merged
+  ;; Use an unreleased version to get a PY3 compatibility fix.
+  (let ((commit "ab6af7865a0ba55ba364a6c507e0be6f84f31c6d"))
+    (package
+      (name "git-when-merged")
+      (version (string-append "1.2.0-" (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mhagger/git-when-merged/")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0iyk2psf97bc9h43m89p3xjmm79fsx99i7px29g4lcnmdy5kmz0p"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; there are no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'build)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (install-file "bin/git-when-merged"
+                             (string-append (assoc-ref outputs "out")
+                                            "/bin"))
+               #t))
+           (add-before 'install 'patch-git
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((git (string-append (assoc-ref inputs "git")
+                                         "/bin/git")))
+                 (substitute* "bin/git-when-merged"
+                   (("'git'") (string-append "'" git "'")))
+                 #t)))
+           (add-after 'install 'wrap-script
+             (lambda* (#:key outputs #:allow-other-keys)
+               (wrap-program (string-append (assoc-ref outputs "out")
+                                            "/bin/git-when-merged")
+                 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+               #t)))))
+      (inputs
+       `(("git" ,git)
+         ("python" ,python-wrapper)))
+      (home-page "https://github.com/mhagger/git-when-merged")
+      (synopsis "Determine when a commit was merged into a Git branch")
+      (description "This Git extension defines a subcommand,
+@code{when-merged}, whose core operation is to find the merge that brought a
+given commit into the specified ref(s).  It has various options that control
+how information about the merge is displayed.")
+      (license license:gpl2))))