Subject: Re: [bug#38824] [PATCH] gnu: mercurial: Update to 5.2.1.

From: Roel Janssen <[email-masked]>
Date: Sat, 04 Jan 2020 08:13:39 +0100

On Fri, 2020-01-03 at 17:02 -0600, Brett Gilio wrote:
> Roel Janssen <[email-masked]> writes:
> 
> > Dear Guix,
> > 
> > It looks like we can straightforwardly update to Mercurial 5.2.1, and in the
> > process move away from python-2 for this package.
> > 
> > Attached is a patch to do so.
> > 
> > Kind regards,
> > Roel Janssen
> > 
> > From 3f1d92acf8ddae31379ac52cb7f3aac039c218fe Mon Sep 17 00:00:00 2001
> > From: Roel Janssen <[email-masked]>
> > Date: Mon, 30 Dec 2019 22:03:16 +0100
> > Subject: [PATCH] gnu: mercurial: Update to 5.2.1.
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=UTF-8
> > Content-Transfer-Encoding: 8bit
> > 
> > From 5.1.x Python 3 support is “in beta”
> > (see <https://www.mercurial-scm.org/wiki/UpgradeNotes#A5.1>;).
> > 
> > * gnu/packages/version-control.scm (mercurial): Update to 5.2.1.
> > ---
> >  gnu/packages/version-control.scm | 9 +++------
> >  1 file changed, 3 insertions(+), 6 deletions(-)
> > 
> > diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-
> > control.scm
> > index d354a807a3..6d5a05b1b2 100644
> > --- a/gnu/packages/version-control.scm
> > +++ b/gnu/packages/version-control.scm
> > @@ -1230,20 +1230,17 @@ control to Git repositories.")
> >  (define-public mercurial
> >    (package
> >      (name "mercurial")
> > -    (version "5.0.2")
> > +    (version "5.2.1")
> >      (source (origin
> >               (method url-fetch)
> >               (uri (string-append "https://www.mercurial-scm.org/"
> >                                   "release/mercurial-" version ".tar.gz"))
> >               (sha256
> >                (base32
> > -               "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19"))))
> > +               "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q"))))
> >      (build-system python-build-system)
> >      (arguments
> > -     `(;; Restrict to Python 2, as Python 3 would require
> > -       ;; the argument --c2to3.
> > -       #:python ,python-2
> > -       ;; FIXME: Disabled tests because they require the nose unit
> > +     `(;; FIXME: Disabled tests because they require the nose unit
> >         ;; testing framework: https://nose.readthedocs.org/en/latest/ .
> >         #:tests? #f))
> >      (home-page "https://www.mercurial-scm.org/")
> 
> Thanks for the submission. We do have a python-nose package. Is this
> different from the nose unit mentioned in the rationale for disabling
> the tests?
> 

Thanks for responding.  I suppose it's the same python-nose.  Running the tests
(with or without python-nose in the "inputs") fail with the following error:

---
TypeError: '<' not supported between instances of 'bytes' and 'str'
command "python" "-c" "import setuptools,
tokenize;__file__='setup.py';f=getattr(tokenize, 'open',
open)(__file__);code=f.read().replace('\\r\\n',
'\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with
status 1
---

I don't know much about Python, so I'm not sure whether the test suite just
hasn't been made Python-3-compatible, or whether it's something else, and
whether this has always been a problem, or whether it was introduced by this
update.

Kind regards,
Roel Janssen