[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
12/16: gnu: Add gitless.
From: |
guix-commits |
Subject: |
12/16: gnu: Add gitless. |
Date: |
Thu, 12 Mar 2020 00:12:06 -0400 (EDT) |
nckx pushed a commit to branch master
in repository guix.
commit f930814afae8e20125dab58b060a691ea8398e26
Author: Tobias Geerinckx-Rice <address@hidden>
AuthorDate: Thu Mar 12 01:53:57 2020 +0100
gnu: Add gitless.
* gnu/packages/version-control.scm (gitless): New public variable.
Co-authored-by: Tobias Geerinckx-Rice <address@hidden>
---
gnu/packages/version-control.scm | 70 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 52626f8..5d0fa26 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2019 Alex Griffin <address@hidden>
;;; Copyright © 2020 Roel Janssen <address@hidden>
;;; Copyright © 2020 Brice Waegeneire <address@hidden>
+;;; Copyright © 2020 John D. Boy <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -531,6 +532,75 @@ everything from small to very large projects with speed
and efficiency.")
("zlib" ,zlib)
("bash-for-tests" ,bash)))))
+(define-public gitless
+ (package
+ (name "gitless")
+ (version "0.8.8")
+ (source
+ (origin
+ ;; The PyPI package lacks a test suite. Build directly from git.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gitless-vcs/gitless")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "048kl27zjr68hgs70g3l98ci9765wxva6azzrhcdys7nsdd493n6"))
+ (file-name (git-file-name name version))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'loosen-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Using Guix's python-pygit2 1.1.0 appears to work fine…
+ (("pygit2==") "pygit2>="))
+ #t))
+ (add-before 'check 'prepare-for-tests
+ (lambda _
+ ;; Find the 'gl' command.
+ (rename-file "gl.py" "gl")
+ (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+
+ ;; The tests try to run git as if it were already set up.
+ (setenv "HOME" (getcwd))
+ (invoke "git" "config" "--global" "user.email" "address@hidden")
+ (invoke "git" "config" "--global" "user.name" "Guix")))
+ (replace 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (git (assoc-ref inputs "git")))
+ (wrap-program (string-append out "/bin/gl")
+ `("PATH" ":" prefix (,(string-append git "/bin")))
+ `("PYTHONPATH" ":" =
+ (,(string-append out "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages:")
+ ,(getenv "PYTHONPATH"))))
+ #t))))))
+ (native-inputs
+ `(("git-for-tests" ,git-minimal)))
+ (inputs
+ `(("git" ,git-minimal)
+ ("python-clint" ,python-clint)
+ ("python-pygit2" ,python-pygit2)
+ ("python-sh" ,python-sh)))
+ (home-page "https://gitless.com")
+ (synopsis "Simple version control system built on top of Git")
+ (description
+ "Gitless is a Git-compatible version control system that aims to be easy
to
+learn and use. It simplifies the common workflow by committing changes to
+tracked files by default and saving any uncommitted changes as part of a
branch.
+
+The friendly @command{gl} command-line interface gives feedback and helps you
+figure out what to do next.
+
+Gitless is implemented on top of Git and its commits and repositories are
+indistinguishable from Git's. You (or other contributors) can always fall back
+on @command{git}, and use any regular Git hosting service.")
+ (license license:expat)))
+
(define-public libgit2
(package
(name "libgit2")
- 10/16: gnu: rsound: Use HTTPS home page., (continued)
- 10/16: gnu: rsound: Use HTTPS home page., guix-commits, 2020/03/12
- 06/16: gnu: ephoto: Update source and home page URIs., guix-commits, 2020/03/12
- 11/16: gnu: faust: Use HTTPS home page., guix-commits, 2020/03/12
- 07/16: gnu: gptfdisk: Use HTTPS home page., guix-commits, 2020/03/12
- 09/16: gnu: libgme: Update to 0.6.3., guix-commits, 2020/03/12
- 13/16: gnu: dosbox: Use HTTPS home page., guix-commits, 2020/03/12
- 16/16: gnu: xlockmore: Update to 5.62., guix-commits, 2020/03/12
- 14/16: gnu: mame: Use HTTPS home page., guix-commits, 2020/03/12
- 15/16: gnu: xlockmore: Use HTTPS home page., guix-commits, 2020/03/12
- 05/16: gnu: s6: Update to 2.9.1.0., guix-commits, 2020/03/12
- 12/16: gnu: Add gitless.,
guix-commits <=