summaryrefslogtreecommitdiff
path: root/gnu/packages/version-control.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-28 00:08:10 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-28 00:08:10 +0100
commit18c3980fb13c87964a57b48b0ae4c4c3914ffafa (patch)
treebafd645f1721056bab4d50337cc7a6ac7f8d730a /gnu/packages/version-control.scm
parent2bd9410e171c5359bad24f187e74b23d4174b39e (diff)
downloadguix-patches-18c3980fb13c87964a57b48b0ae4c4c3914ffafa.tar
guix-patches-18c3980fb13c87964a57b48b0ae4c4c3914ffafa.tar.gz
gnu: mercurial: Fix test failures with Python 3.8.2.
* gnu/packages/version-control.scm (mercurial-patch, %mercurial-patches): New variables. (mercurial)[source](patches): Add %MERCURIAL-PATCHES.
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r--gnu/packages/version-control.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index b6ba524766..d626f173f9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1411,6 +1411,28 @@ also walk each side of a merge and test those changes individually.")
control to Git repositories.")
(license license:gpl2)))
+(define (mercurial-patch name revision hash)
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.mercurial-scm.org/repo/hg/raw-rev/" revision))
+ (file-name (string-append "mercurial-" name ".patch"))
+ (sha256 (base32 hash))))
+
+(define %mercurial-patches
+ (list
+ ;; These three patches fixes compatibility with the updated gzip module
+ ;; in Python 3.8.2: <https://bz.mercurial-scm.org/show_bug.cgi?id=6284>.
+ (mercurial-patch "python-mtime" "6c36a521572edf3a79ee567b118469b3192037cc"
+ "0bmm7y40r8s081ws2sjvn1v8kvyfan4a97jl0fhdh7yc2pzxlzqq")
+ (mercurial-patch "indent-gzip" "a23b859ad17dd0a5b9bb37846b69b5e30f99c44c"
+ "1spscv9dgqv38m7h1liki93ax6w97gxayg17fr7wr6acjdfccpr9")
+ (mercurial-patch "python-gzip" "b7ca03dff14c63d64ad7bfa36a2d0a36a6b62253"
+ "0p88ffhx0kk21ssrsb156ffhpcb7g8mkwwkmq49qpmbm5ag2paf0")
+ ;; This fixes an incompatibility with os.isfile in Python 3.8:
+ ;; <https://bz.mercurial-scm.org/show_bug.cgi?id=6287>.
+ (mercurial-patch "os-isfile" "6a8738dc4a019da4c9df5c26961aa09d45ce1c68"
+ "0lr069m12kzrkmr1pmhaxg5lxmdwxabsza61qp1i1q70g7sy8lvy")))
+
(define-public mercurial
(package
(name "mercurial")
@@ -1419,6 +1441,7 @@ control to Git repositories.")
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
+ (patches %mercurial-patches)
(sha256
(base32
"1nbjpzjrzgql4hrvslpxwbcgn885ikq6ba1yb4w6p78rw9nzkhgp"))))