summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2018-11-12 16:24:23 -0500
committerLudovic Courtès <ludo@gnu.org>2018-11-16 23:11:40 +0100
commit243bdcc12e40c8dbd1129fa5b613d8f247744f31 (patch)
tree576c1d69c2d3238de11867844555e41b88174119 /gnu
parent7a44e8752e0020e67dede343e333bfef875e2442 (diff)
downloadguix-243bdcc12e40c8dbd1129fa5b613d8f247744f31.tar.gz
gnu: Add git-when-merged.
* gnu/packages/version-control.scm (git-when-merged): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/version-control.scm52
1 files changed, 52 insertions, 0 deletions
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))))