gnu: python-pip: Update to 9.0.1
Commit Message
* gnu/packages/python.scm (python-pip, python2-pip): Update to 9.0.1.
---
gnu/packages/python.scm | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
Comments
Hi,
On Mon, 28 Nov 2016 17:08:49 -0800
Maxim Cournoyer <maxim.cournoyer@gmail.com> 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,
On Mon, 28 Nov 2016 17:08:49 -0800
Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
> (inputs
> - `(("python-setuptools" ,python-setuptools)
…
> + `(("python-setuptools" ,python-setuptools)
setuptools is now part of each Python installation on Guix, even for
python2 and pip does not require any special version of setuptools
AFAIK. So this input can be removed at all.
Danny Milosavljevic <dannym@scratchpost.org> writes:
> Hi,
>
> On Mon, 28 Nov 2016 17:08:49 -0800
> Maxim Cournoyer <maxim.cournoyer@gmail.com> 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 ‘native-inputs’ and ‘inputs’ is
necessary when considering cross-compilation. When
cross-compiling, dependencies listed in ‘inputs’ are built for
the _target_ architecture; conversely, dependencies listed in
‘native-inputs’ 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—e.g., those listed with
the ‘setup_requires’ keyword in ‘setup.py’—or only for
testing—e.g., those in ‘tests_require’—go into ‘native-inputs’.
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’s the “native” input that we’d want.
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
Hartmut Goebel <h.goebel@crazy-compilers.com> writes:
> Hi,
>
> On Mon, 28 Nov 2016 17:08:49 -0800
> Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>> (inputs
>> - `(("python-setuptools" ,python-setuptools)
> …
>> + `(("python-setuptools" ,python-setuptools)
>
> setuptools is now part of each Python installation on Guix, even for
> python2 and pip does not require any special version of setuptools
> AFAIK. So this input can be removed at all.
Hi Hartmut, and thanks for your work on the new Python build
system. I'll try to get familiar with it this week and send a reworked
patch.
It makes a lot of sense that the build system should take care of the
setuptools dependency for us, it being the canonical tool to build
Python packages.
Maxim
@@ -6752,27 +6752,28 @@ library.")
(define-public python-pip
(package
(name "python-pip")
- (version "8.0.2")
+ (version "9.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pip" version))
(sha256
(base32
- "08cm8d4228fj0qnrysy3qv1a6022zr3dcs25amd14lgxil6vvx26"))))
+ "03clr9c1dih5n9c00c592zzvf6r1ffimywkaq9agcqdllzhl7wh9"))))
(build-system python-build-system)
(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)))
(home-page "https://pip.pypa.io/")
(synopsis
- "Package manager for Python software")
+ "Package manager for Python software")
(description
- "Pip is a package manager for Python software, that finds packages on the
+ "Pip is a package manager for Python software, that finds packages on the
Python Package Index (PyPI).")
(license license:expat)))