John D. Boy wrote 5 years ago
(address . guix-patches@gnu.org)
---
gnu/packages/version-control.scm | 50 ++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
Toggle diff (60 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 52626f8076..7aac933d15 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2373,3 +2373,53 @@ interrupted, published, and collaborated on while in progress.")
videos, datasets, and graphics with text pointers inside Git, while storing the
file contents on a remote server.")
(license license:expat)))
+
+(define-public gitless
+ (package
+ (name "gitless")
+ ;; The PyPI package lacks the test suite, so we build it directly from the
+ ;; git repository.
+ (version "0.8.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gitless-vcs/gitless")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "048kl27zjr68hgs70g3l98ci9765wxva6azzrhcdys7nsdd493n6"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'loosen-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Don't insist on an older version of pygit2.
+ (("pygit2==") "pygit2>="))
+ (substitute* "requirements.txt"
+ (("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" "git@example.com")
+ (invoke "git" "config" "--global" "user.name" "guix")
+ #t)))))
+ (native-inputs
+ ;; Required for tests.
+ `(("git-minimal" ,git-minimal)))
+ (propagated-inputs
+ `(("python-clint" ,python-clint)
+ ("python-pygit2" ,python-pygit2)
+ ("python-sh" ,python-sh)))
+ (home-page "https://gitless.com")
+ (synopsis
+ "A version control system built on top of Git")
+ (description
+ "A version control system built on top of Git")
+ (license license:expat)))
--
2.20.1