From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: Re: [PATCH] gnu: python-pip: Update to 9.0.1 Date: Mon, 12 Dec 2016 08:37:31 -0800 Message-ID: <87shptw1bo.fsf@gmail.com> References: <87r35v9joe.fsf@gmail.com> <20161129235610.236a0cef@scratchpost.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48484) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGTcy-0005xy-TA for guix-devel@gnu.org; Mon, 12 Dec 2016 11:39:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGTcv-0006F1-PB for guix-devel@gnu.org; Mon, 12 Dec 2016 11:39:00 -0500 Received: from mail-pg0-f54.google.com ([74.125.83.54]:33186) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cGTcv-0006BB-JD for guix-devel@gnu.org; Mon, 12 Dec 2016 11:38:57 -0500 Received: by mail-pg0-f54.google.com with SMTP id 3so36997137pgd.0 for ; Mon, 12 Dec 2016 08:38:34 -0800 (PST) In-Reply-To: <20161129235610.236a0cef@scratchpost.org> (Danny Milosavljevic's message of "Tue, 29 Nov 2016 23:56:10 +0100") 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: Danny Milosavljevic Cc: guix-devel@gnu.org Danny Milosavljevic writes: > Hi, > > On Mon, 28 Nov 2016 17:08:49 -0800 > Maxim Cournoyer wrote: > >> (inputs >> - `(("python-setuptools" ,python-setuptools) >> - ("python-virtualenv" ,python-virtualenv) >> - ;; Tests >> - ("python-mock" ,python-mock) >> - ("python-pytest" ,python-pytest) >> - ("python-scripttest" ,python-scripttest))) >> + `(("python-setuptools" ,python-setuptools) >> + ;; Tests requirements. >> + ("python-mock" ,python-mock) >> + ("python-pretend" ,python-pretend) >> + ("python-pytest" ,python-pytest) >> + ("python-scripttest" ,python-scripttest) >> + ("python-virtualenv" ,python-virtualenv))) > > Why are the test requirements regular inputs? If they aren't required at = runtime, they should be native-inputs. Hi Danny, and sorry for my delayed answer. I was under the impression that native-inputs only had meaning when cross-compiling and that otherwise they were the same. From the guix manual, section 5.1.1, it says: The distinction between =E2=80=98native-inputs=E2=80=99 and =E2=80=98i= nputs=E2=80=99 is necessary when considering cross-compilation. When cross-compiling, dependencies listed in =E2=80=98inputs=E2=80=99 are b= uilt for the _target_ architecture; conversely, dependencies listed in =E2=80=98native-inputs=E2=80=99 are built for the architecture of the = _build_ machine. But then at section 7.6.5.1 it also says: Python packages required only at build time=E2=80=94e.g., those listed = with the =E2=80=98setup_requires=E2=80=99 keyword in =E2=80=98setup.py=E2=80= =99=E2=80=94or only for testing=E2=80=94e.g., those in =E2=80=98tests_require=E2=80=99=E2=80=94= go into =E2=80=98native-inputs=E2=80=99. The rationale is that (1) they do not need to be propagated because they are not needed at run time, and (2) in a cross-compilation context, it=E2=80=99s the =E2=80=9Cnative=E2=80=9D input that we=E2=80= =99d want. =20=20=20=20=20 I stand corrected, thanks! I'll rework the pip package definition and send a patch later this week, also taking into account the latest changes to the python build system from Hartmut. Maxim