From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: Re: gnu: python-pytest: Update to 5.2.1. Date: Thu, 24 Oct 2019 20:42:32 -0400 Message-ID: <87imodejuv.fsf@gmail.com> References: <20191023072243.comuq7dmvnl67reo@rafflesia> <87r233we00.fsf@devup.no> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:56767) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNngc-0004Pd-Jr for guix-devel@gnu.org; Thu, 24 Oct 2019 20:42:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iNngb-0005eK-7J for guix-devel@gnu.org; Thu, 24 Oct 2019 20:42:38 -0400 Received: from mail-qt1-x835.google.com ([2607:f8b0:4864:20::835]:35668) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iNngb-0005e4-3g for guix-devel@gnu.org; Thu, 24 Oct 2019 20:42:37 -0400 Received: by mail-qt1-x835.google.com with SMTP id m15so764342qtq.2 for ; Thu, 24 Oct 2019 17:42:36 -0700 (PDT) In-Reply-To: <87r233we00.fsf@devup.no> (Marius Bakke's message of "Wed, 23 Oct 2019 19:47:11 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Marius Bakke Cc: Guix Hello, Marius Bakke writes: > Tanguy Le Carrour writes: > >> Hi Guix! >> >> I'm working on updating python-pytest and=E2=80=A6 not everything is goi= ng as >> smoothly as I was expecting! :-( >> >> Pytest 5.2.1 depends on Pluggy >=3D0.12.0=E2=80=A6 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.s= cm >> 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 u= sed by >> Pytest but stripped of Pytest specific details.") >> >> The problem seems to be that python-importlib-metadata's dependency graph >> contains=E2=80=A6 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