diff options
author | Marius Bakke <mbakke@fastmail.com> | 2020-01-21 22:39:42 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2020-01-21 22:39:42 +0100 |
commit | 8ed9be3faccb865204de46d2a8ed3e96e59281b6 (patch) | |
tree | 77ba4c90cda569048bc9ce2e414ede1567130c88 /gnu/packages/version-control.scm | |
parent | 36930b2463fc933e7c5580f49413dbd14cf1df48 (diff) | |
parent | 715110a8a2e9e4b1a89635950744eb5260b8ee7f (diff) | |
download | guix-8ed9be3faccb865204de46d2a8ed3e96e59281b6.tar.gz |
Merge branch 'staging' into core-updates
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r-- | gnu/packages/version-control.scm | 140 |
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) |