summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-21 22:39:42 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-21 22:39:42 +0100
commit8ed9be3faccb865204de46d2a8ed3e96e59281b6 (patch)
tree77ba4c90cda569048bc9ce2e414ede1567130c88 /gnu/packages/version-control.scm
parent36930b2463fc933e7c5580f49413dbd14cf1df48 (diff)
parent715110a8a2e9e4b1a89635950744eb5260b8ee7f (diff)
downloadguix-patches-8ed9be3faccb865204de46d2a8ed3e96e59281b6.tar
guix-patches-8ed9be3faccb865204de46d2a8ed3e96e59281b6.tar.gz
Merge branch 'staging' into core-updates
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm140
1 files changed, 106 insertions, 34 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 7bf0bcd941..ac1d68f8f3 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -73,6 +73,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages mail)
#:use-module (gnu packages maths)
#:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
@@ -708,7 +709,8 @@ collaboration using typical untrusted file hosts or services.")
(define-public cgit
(package
(name "cgit")
- (version "1.2.1")
+ ;; Update the ‘git-source’ input as well.
+ (version "1.2.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -716,7 +718,7 @@ collaboration using typical untrusted file hosts or services.")
version ".tar.xz"))
(sha256
(base32
- "1gw2j5xc5qdx2hwiwkr8h6kgya7v9d9ff9j32ga1dys0cca7qm1w"))))
+ "0dmjsisigjz5k4gw7gm55qhm3wazzbm4cg7a5dwf0gqg9nacx5rz"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; XXX: fail to build the in-source git.
@@ -794,11 +796,11 @@ collaboration using typical untrusted file hosts or services.")
("git-source"
,(origin
(method url-fetch)
- ;; XXX CGit is currently incompatible with Git > 2.18.
- (uri "mirror://kernel.org/software/scm/git/git-2.18.2.tar.xz")
+ ;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
+ ;; which may not match the current (package-version git).
+ (uri "mirror://kernel.org/software/scm/git/git-2.25.0.tar.xz")
(sha256
- (base32
- "1gmcz5k8sa6phzhhv6zjl8izbyqnxcdb8ns8kd2czyak0g409vrq"))))
+ (base32 "1l58v42aazj0x9276gk8r9mwyl9pgp9w99aakz4xfhzv7wd2jq60"))))
("openssl" ,openssl)
("groff" ,groff)
("python" ,python)
@@ -813,6 +815,47 @@ collaboration using typical untrusted file hosts or services.")
a built-in cache to decrease server I/O pressure.")
(license license:gpl2)))
+(define-public python-git-multimail
+ (package
+ (name "python-git-multimail")
+ (version "1.5.0.post1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "git-multimail" version))
+ (sha256
+ (base32
+ "1zkrbsa70anwpw86ysfwalrb7nsr064kygfiyikyq1pl9pcl969y"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "git-multimail/git_multimail.py"
+ (("GIT_EXECUTABLE = 'git'")
+ (string-append "GIT_EXECUTABLE = '"
+ (assoc-ref inputs "git") "/bin/git"
+ "'"))
+ (("/usr/sbin/sendmail")
+ (string-append (assoc-ref inputs "sendmail")
+ "/usr/sbin/sendmail")))
+ #t)))))
+ (inputs
+ `(("git" ,git)
+ ("sendmail" ,sendmail)))
+ (home-page "https://github.com/git-multimail/git-multimail")
+ (synopsis "Send notification emails for Git pushes")
+ (description
+ "This hook sends emails describing changes introduced by pushes to a Git
+repository. For each reference that was changed, it emits one ReferenceChange
+email summarizing how the reference was changed, followed by one Revision
+email for each new commit that was introduced by the reference change.
+
+This script is designed to be used as a post-receive hook in a Git
+repository")
+ (license license:gpl2)))
+
(define-public python-ghp-import
(package
(name "python-ghp-import")
@@ -1036,7 +1079,7 @@ lot easier.")
(define-public stgit
(package
(name "stgit")
- (version "0.18")
+ (version "0.21")
(source
(origin
(method git-fetch)
@@ -1045,20 +1088,36 @@ lot easier.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ydgg744m671nkhg7h4q2z3b9vpbc9914rbc0wcgimqfqsxkxx2y"))))
+ (base32 "00pmz93znl418lsjwy4mr0chp8i2w27h1xjysa05f62smsv91yyc"))))
(build-system python-build-system)
+ (native-inputs
+ `(("perl" ,perl)))
(inputs
`(("git" ,git)))
(arguments
- `(#:python ,python-2
- #:phases
+ `(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'hard-code-version
+ (lambda _
+ ;; setup.py tries to cleverly extract the version number from the
+ ;; git history, which the source checkout lacks. Hard-code one.
+ (substitute* "setup.py"
+ (("get_ver\\(\\)")
+ (format #f "'~a'" ,version)))
+ #t))
+ (add-before 'check 'patch-tests
+ (lambda _
+ (substitute* (list "t/t1900-mail.sh"
+ "t/t7504-commit-msg-hook.sh")
+ (("/bin/sh")
+ (which "bash")))
+ #t))
(replace 'check
(lambda _
- ;; Two tests will fail -> disable them. TODO: fix the failing tests
- (delete-file "t/t3300-edit.sh")
- (delete-file "t/t7504-commit-msg-hook.sh")
- (invoke "make" "test"))))))
+ (invoke "make"
+ "PERL_PATH=perl"
+ (string-append "SHELL_PATH=" (which "bash"))
+ "test"))))))
(home-page "http://procode.org/stgit/")
(synopsis "Stacked Git")
(description
@@ -1274,26 +1333,39 @@ control to Git repositories.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _
- ;; The following tests are known to fail.
- (for-each (lambda (file)
- (delete-file (string-append "tests/" file)))
- '("test-extdiff.t"
- "test-hghave.t"
- "test-hgwebdir.t"
- "test-http-branchmap.t"
- "test-logtoprocess.t"
- "test-merge-combination.t"
- "test-nointerrupt.t"
- "test-patchbomb.t"
- "test-pull-bundle.t"
- "test-push-http.t"
- "test-run-tests.t"
- "test-serve.t"
- "test-subrepo-deep-nested-change.t"
- "test-subrepo-recursion.t"
- "test-transplant.t"))
- (invoke "make" "check"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (with-directory-excursion "tests"
+ ;; The following tests are known to fail.
+ (for-each (lambda (file)
+ (delete-file file))
+ '("test-extdiff.t"
+ "test-hghave.t"
+ "test-hgwebdir.t"
+ "test-http-branchmap.t"
+ "test-logtoprocess.t"
+ "test-merge-combination.t"
+ "test-nointerrupt.t"
+ "test-patchbomb.t"
+ "test-pull-bundle.t"
+ "test-push-http.t"
+ "test-run-tests.t"
+ "test-serve.t"
+ "test-subrepo-deep-nested-change.t"
+ "test-subrepo-recursion.t"
+ "test-transplant.t"))
+ (when tests?
+ (invoke "./run-tests.py"
+ ;; ‘make check’ does not respect ‘-j’.
+ (string-append "-j" (number->string
+ (parallel-job-count)))
+ ;; The default time-outs are too low for many systems.
+ ;; Raise them generously: Guix enforces its own.
+ "--timeout" "86400"
+ "--slowtimeout" "86400"
+ ;; The test suite takes a long time and produces little
+ ;; output by default. Prevent timeouts due to silence.
+ "-v"))
+ #t))))))
;; The following inputs are only needed to run the tests.
(native-inputs
`(("python-nose" ,python-nose)