summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-06 00:09:29 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-31 14:54:02 -0400
commitdc71b4f1c65c9f3244f96aaf69b9218825361eda (patch)
tree2f2d4ad01e023057f42af396fd96f906269452a2 /gnu/packages/version-control.scm
parentdad15bdb26edbdf7b80519a2e7d0edf4e1efcd5f (diff)
downloadguix-patches-dc71b4f1c65c9f3244f96aaf69b9218825361eda.tar
guix-patches-dc71b4f1c65c9f3244f96aaf69b9218825361eda.tar.gz
gnu: breezy: Update to 3.2.2.
* gnu/packages/patches/breezy-fix-gio.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/version-control.scm (breezy): Update to 3.2.2. [source]{snippet}: Delete pre-generated cythonized C files. {patches}: Apply patch. [tests?]: Disable tests. [phases]{patch-test-shebangs, check}: New phase and override. [native-inputs]: Add nano, python-cython, python-docutils, and python-testrepository. [inputs]: Use new style. Add python-launchpadlib and python-pygobject. [description]: Adjust Bazaar URL.
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm64
1 files changed, 49 insertions, 15 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 30d15919ab..7351d96600 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -187,29 +187,63 @@ as well as the classic centralized workflow.")
(uri (string-append "https://launchpad.net/brz/"
(version-major+minor version) "/" version
"/+download/breezy-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ ;; Delete pre-generated Cython C files.
+ (snippet '(for-each delete-file (find-files "." "\\pyx.c$")))
(sha256
- (base32 "1md4b6ajawf5h50fqizmjj0g833ihc674dh7fn0mvl4d412nwyhq"))))
+ (base32
+ "1md4b6ajawf5h50fqizmjj0g833ihc674dh7fn0mvl4d412nwyhq"))
+ (patches (search-patches "breezy-fix-gio.patch"))))
(build-system python-build-system)
- ;; TODO: Maybe regenerate C files with Cython?
- (inputs
- `(("gettext" ,gettext-minimal)
- ("python-configobj" ,python-configobj)
- ("python-dulwich" ,python-dulwich)
- ("python-fastbencode" ,python-fastbencode)
- ("python-fastimport" ,python-fastimport)
- ("python-paramiko" ,python-paramiko)
- ("python-patiencediff" ,python-patiencediff)
- ("python-pycryptodome" ,python-pycryptodome)
- ("python-pygpgme" ,python-pygpgme)))
(arguments
- `(#:tests? #f)) ; no tests in release tarball
+ (list
+ #:tests? #f ;FIXME: the test suite hangs
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-test-shebangs
+ (lambda _
+ (substitute* (append (find-files "breezy/bzr/tests")
+ (find-files "breezy/tests"))
+ (("#!/bin/sh")
+ (format #f "#!~a" (which "sh"))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The test_read_bundle tests fails with "TypeError: a
+ ;; bytes-like object is required, not '_ResultTuple'" (see:
+ ;; https://bugs.launchpad.net/brz/+bug/1968415/comments/4).
+ (substitute* "breezy/bzr/tests/__init__.py"
+ (("'test_read_bundle'," all)
+ (string-append "# " all)))
+ (setenv "BZR_EDITOR" "nano")
+ (setenv "HOME" "/tmp")
+ (invoke "testr" "init")
+ (invoke "testr" "run")))))))
+ (native-inputs
+ (list nano ;for tests
+ python-cython
+ python-docutils
+ python-subunit
+ python-testrepository))
+ (inputs
+ (list gettext-minimal
+ python-configobj
+ python-dulwich
+ python-fastbencode
+ python-fastimport
+ python-launchpadlib
+ python-paramiko
+ python-patiencediff
+ python-pycryptodome
+ python-pygobject
+ python-pygpgme))
(home-page "https://www.breezy-vcs.org/")
(synopsis "Decentralized revision control system")
(description
"Breezy (@command{brz}) is a decentralized revision control system. By
default, Breezy provides support for both the
-@uref{https://www.bazaar-vcs.org, Bazaar} and @uref{https://www.git-scm.com,
-Git} file formats. Breezy is backwards compatible with Bazaar's disk format
+@uref{https://bazaar.canonical.com/, Bazaar} and @uref{https://www.git-scm.com,
+Git} file formats. Breezy is backwabrds compatible with Bazaar's disk format
and protocols. One of the key differences with Bazaar is that Breezy runs on
Python 3.3 and later, rather than on Python 2.")
(license license:gpl2+)))