Subject: [PATCH v3] gnu: Add git-open.

From: EuAndreh <[email-masked]>
Date: Mon, 23 Nov 2020 16:44:39 -0300

* gnu/packages/version-control.scm (git-open): New variable.
---
Now also add missing xdg-utils propagated input.

 gnu/packages/version-control.scm | 37 +++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 1842528ff6..622e046e03 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2017 Vasile Dumitrascu <[email-masked]>
 ;;; Copyright © 2017 Clément Lassieur <[email-masked]>
-;;; Copyright © 2017 André <[email-masked]>
+;;; Copyright © 2017, 2020 EuAndreh <[email-masked]>
 ;;; Copyright © 2017, 2018, 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2017 Stefan Reichör <[email-masked]>
 ;;; Copyright © 2017, 2020 Oleg Pykhalov <[email-masked]>
@@ -74,6 +74,7 @@
   #:use-module (gnu packages ed)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages golang)
@@ -2718,6 +2719,40 @@ videos, datasets, and graphics with text pointers inside Git, while storing the
 file contents on a remote server.")
     (license license:expat)))
 
+(define-public git-open
+  (package
+    (name "git-open")
+    (version "2.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/paulirish/git-open")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0"))))
+    (build-system trivial-build-system)
+    (propagated-inputs
+     `(("xdg-utils" ,xdg-utils)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((source (assoc-ref %build-inputs "source"))
+               (out    (assoc-ref %outputs "out")))
+           (mkdir-p (string-append out "/bin"))
+           (copy-file (string-append source "/git-open")
+                      (string-append out "/bin/git-open"))
+           #t))))
+    (home-page "https://github.com/paulirish/git-open")
+    (synopsis "Shortcut for opening the repository's homepage on the browser")
+    (description
+     "@code{git open} opens the repository's website from the command-line,
+guessing the URL pattern from the @code{origin} remote.")
+    (license license:expat)))
+
 (define-public tla
   (package
     (name "gnu-arch")
-- 
2.29.2