Hello, Marius Bakke <mba...@fastmail.com> writes:
> Tanguy Le Carrour <tan...@bioneland.org> writes: > >> 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?! > > It would be great if you can make upstream aware of the issue. > > Note that if you just want to be able to use Pytest 5.x on the master > branch, you can instead add a separate 'python-pluggy-0.13' variable and > use that for 'python-pytest-5'. > > We'll still need to break the cycle in 'core-updates' though... I too had looked into updating python-pytest, and realized the same thing. There's a way out, though. Python 3.8.0 will include 'import-metadata' as a core library [0]. Let's package Python 3.8.0 on core-updates! [0] https://docs.python.org/3/whatsnew/3.8.html#new-modules Maxim