Subject: [PATCH] gnu: Add qgit.

From: Sughosha <[email-masked]>
Date: Fri, 18 Aug 2023 16:52:46 +0200

* gnu/packages/version-control.scm (qgit): New variable.
---
 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 699a091..5143438 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -79,6 +79,7 @@ (define-module (gnu packages version-control)
   #:use-module (guix build-system go)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages apr)
   #:use-module (gnu packages autotools)
@@ -1297,7 +1298,7 @@ (define-public python-gitpython
 either a pure Python implementation, or the faster, but more resource intensive
  @command{git} command implementation.")
      (license license:bsd-3)))
- 
+
 (define-public savane
   (package
     (name "savane")
@@ -3545,6 +3546,40 @@ (define-public tkrev
 TkDiff is included for browsing and merging your changes.")
     (license license:gpl2+)))
 
+(define-public qgit
+  (package
+    (name "qgit")
+    (version "2.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/tibirna/qgit")
+                     (commit (string-append "qgit-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10j5xll7ai1rb2ybyblbgqm762bqspffpf33fdr61qdchnp2gkf4"))))
+    (build-system qt-build-system)
+    (arguments
+     (list #:tests? #f)) ;no tests
+    (propagated-inputs
+     (list git))
+    (home-page "https://github.com/tibirna/qgit")
+    (synopsis "Graphical front-end for git")
+    (description
+     "Qgit is a graphical front-end for git, with features to:
+@itemize
+@item view revisions, diffs, files history, files annotation and archive tree,
+@item commit changes visually cherry picking modified files,
+@item apply or save patch series from selected commits, drag and drop commits,
+@item associate commands sequences, scripts and anything else executable to a
+ custom action,
+@item push/pop commits,
+@item apply/save/create patches
+@item and cherry pick single modified files.
+@end itemize")
+    (license license:gpl3+)))
+
 (define-public git-filter-repo
   (package
     (name "git-filter-repo")
--
libgit2 1.5.1