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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted