guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnu: python-pytest: Update to 5.2.1.


From: Efraim Flashner
Subject: Re: gnu: python-pytest: Update to 5.2.1.
Date: Wed, 23 Oct 2019 11:00:47 +0300
User-agent: Mutt/1.12.2 (2019-09-21)

On Wed, Oct 23, 2019 at 09:22:43AM +0200, Tanguy Le Carrour wrote:
> Hi Guix!
> 
> I'm working on updating python-pytest and… not everything is going as
> smoothly as I was expecting! :-(
> 
> Pytest 5.2.1 depends on Pluggy >=0.12.0… which depends on
> importlib-metadata. But when I had the latter as a propagated-input to
> python-pluggy, then `guix build` gets stuck.
> 
>     diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
>     index a7f83dcd31..ab80cdebf9 100644
>     --- a/gnu/packages/python-xyz.scm
>     +++ b/gnu/packages/python-xyz.scm
>     @@ -8914,17 +8914,19 @@ library as well as on the command line.")
>      (define-public python-pluggy
>        (package
>         (name "python-pluggy")
>     -   (version "0.11.0")
>     +   (version "0.13.0")
>         (source
>          (origin
>           (method url-fetch)
>           (uri (pypi-uri "pluggy" version))
>           (sha256
>            (base32
>     -       "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895"))))
>     +       "0d4gsvb4kjqhiqqi4bbsdp7s1xlyl5phibcw1q1mrpd65xia2pzs"))))
>         (build-system python-build-system)
>         (native-inputs
>          `(("python-setuptools-scm" ,python-setuptools-scm)))
>     +   (propagated-inputs
>     +    `(("python-importlib-metadata" ,python-importlib-metadata)))
>         (synopsis "Plugin and hook calling mechanism for Python")
>         (description "Pluggy is an extraction of the plugin manager as used by
>      Pytest but stripped of Pytest specific details.")
> 
> The problem seems to be that python-importlib-metadata's dependency graph
> contains… python-pluggy!
> 
> How am I supposed to fix this chicken and egg situation?! Is this
> something that should be notified to upstream?!
> 

I assume python-importlib-metadata only needs python-pytest for running
the test suite. We have a couple of python libraries that have
'-bootstrap' added to the end. You could try making a
python-importlib-metadata-bootstrap which doesn't use python-pytest and
doesn't run the test suite, and use that as an input for python-pytest.

Or if that's not the circle that's created then you'll have to find
where it is. Same advice though, create another package with less
functionality or without tests and use that to break the cycle.

-- 
Efraim Flashner   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]