summary refs log tree commit diff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-08-30 14:13:32 +0200
committerMarius Bakke <marius@gnu.org>2022-08-30 17:59:18 +0200
commit997a51bee8bcc894a057c21f24d34a7125c2e85f (patch)
tree1589a3738d1a5188076256dd9b4ed09a27957067 /gnu/packages/version-control.scm
parent77c07d9a6149f41870684df587e1fee5dad78acd (diff)
downloadguix-997a51bee8bcc894a057c21f24d34a7125c2e85f.tar.gz
gnu: mercurial: Update to 6.2.1.
* gnu/packages/version-control.scm (mercurial): Update to 6.2.1.
[source](patches): Add patch for compatibility with OpenSSL 3.0.
[arguments]: Patch /usr/bin/env and /bin/sh unconditionally in all tests.
Disable four more tests.
[inputs]: Change from PYTHON to PYTHON-WRAPPER.
* gnu/packages/patches/mercurial-openssl-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm34
1 files changed, 24 insertions, 10 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 277ea2835b..cd84dfd0cc 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1735,15 +1735,16 @@ execution of any hook written in any language before every commit.")
 (define-public mercurial
   (package
     (name "mercurial")
-    (version "5.8.1")
+    (version "6.2.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://www.mercurial-scm.org/"
                                  "release/mercurial-" version ".tar.gz"))
-             (patches (search-patches "mercurial-hg-extension-path.patch"))
+             (patches (search-patches "mercurial-hg-extension-path.patch"
+                                      "mercurial-openssl-compat.patch"))
              (sha256
               (base32
-               "16xi4bmjqzi7ig8sfa5mnypfpbbbiyafmmqrs4nxmgc743za7fl1"))))
+               "1nl2726szaxyrxlyssrsir5c6vb4ci0i6g969i6xaahw1nidgica"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
@@ -1753,13 +1754,11 @@ execution of any hook written in any language before every commit.")
          (delete 'configure)
          (add-after 'unpack 'patch-tests
            (lambda _
-             (substitute* '("tests/test-extdiff.t"
-                            "tests/test-logtoprocess.t"
-                            "tests/test-patchbomb.t"
-                            "tests/test-run-tests.t"
-                            "tests/test-transplant.t")
+             (substitute* (find-files "tests" "\\.(t|py)$")
                (("/bin/sh")
-                (which "sh")))))
+                (which "sh"))
+               (("/usr/bin/env")
+                (which "env")))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (with-directory-excursion "tests"
@@ -1770,6 +1769,12 @@ execution of any hook written in any language before every commit.")
                            ;; PATH from before (that's why we are building it!)?
                            "test-hghave.t"
 
+                           ;; This test creates a shebang spanning multiple
+                           ;; lines which is difficult to substitute.  It
+                           ;; only tests the test runner itself, which gets
+                           ;; thoroughly tested during the check phase anyway.
+                           "test-run-tests.t"
+
                            ;; These tests fail because the program is not
                            ;; connected to a TTY in the build container.
                            "test-nointerrupt.t"
@@ -1778,6 +1783,15 @@ execution of any hook written in any language before every commit.")
                            ;; FIXME: This gets killed but does not receive an interrupt.
                            "test-commandserver.t"
 
+                           ;; These tests get unexpected warnings about using
+                           ;; deprecated functionality in Python, but otherwise
+                           ;; succeed; try enabling for later Mercurial versions.
+                           "test-demandimport.py"
+                           "test-patchbomb-tls.t"
+                           ;; Similarly, this gets a more informative error
+                           ;; message from Python 3.10 than it expects.
+                           "test-http-bad-server.t"
+
                            ;; Only works when run in a hg-repo, not in an
                            ;; extracted tarball
                            "test-doctest.py"
@@ -1808,7 +1822,7 @@ execution of any hook written in any language before every commit.")
            ;; The following inputs are only needed to run the tests.
            python-nose unzip which))
     (inputs
-     (list python))
+     (list python-wrapper))
     ;; Find third-party extensions.
     (native-search-paths
      (list (search-path-specification