Commit graph

13 commits

Author SHA1 Message Date
Frederik Rietdijk
56727dc1ff Python: setuptools/wheel/pip now bootstrap from source
Since wheel support was introduced in 2015 we always relied on pre-built
wheels for bootstrapping. Now, we can bootstrap directly from the
sources of these packages in git.

The `bootstrapped-pip` packages is used to build `pip`, `setuptools` and `wheel`,
after which those packages are used to build everything else.

Note that when building `bootstrapped-pip` some errors are shown.
These are not important, the build actually does succeed and work as intended.
2019-10-20 19:48:00 +02:00
Frederik Rietdijk
5718ed6d32 python.pkgs.wheel: 0.33.4 -> 0.33.6 2019-09-06 15:18:45 +02:00
Frederik Rietdijk
f7e28bf5d8 Split buildPythonPackage into setup hooks
This commit splits the `buildPythonPackage` into multiple setup hooks.

Generally, Python packages are built from source to wheels using `setuptools`.
The wheels are then installed with `pip`. Tests were often called with
`python setup.py test` but this is less common nowadays. Most projects
now use a different entry point for running tests, typically `pytest`
or `nosetests`.

Since the wheel format was introduced more tools were built to generate these,
e.g. `flit`. Since PEP 517 is provisionally accepted, defining a build-system
independent format (`pyproject.toml`), `pip` can now use that format to
execute the correct build-system.

In the past I've added support for PEP 517 (`pyproject`) to the Python
builder, resulting in a now rather large builder. Furthermore, it was not possible
to reuse components elsewhere. Therefore, the builder is now split into multiple
setup hooks.

The `setuptoolsCheckHook` is included now by default but in time it should
be removed from `buildPythonPackage` to make it easier to use another hook
(curently one has to pass in `dontUseSetuptoolsCheck`).
2019-09-06 15:18:45 +02:00
Frederik Rietdijk
0a91ad7680 python: wheel: 0.33.1 -> 0.33.4 2019-06-15 08:44:06 +02:00
Frederik Rietdijk
d7b057941e python: wheel: 0.33.0 -> 0.33.1 2019-02-23 20:05:18 +01:00
Frederik Rietdijk
10baae23ce python: wheel: 0.32.3 -> 0.33.0 2019-02-17 14:40:46 +01:00
Frederik Rietdijk
23b234d88e python: wheel: 0.32.2 -> 0.32.3 2018-12-03 16:50:40 +01:00
Frederik Rietdijk
be8d52601c python: wheel: 0.31.1 -> 0.32.2 2018-10-24 20:05:44 +02:00
Frederik Rietdijk
ced21f5e1a pythonPackages: remove name attribute`
The `buildPython*` function computes name from `pname` and `version`.
This change removes `name` attribute from all expressions in
`pkgs/development/python-modules`.

While at it, some other minor changes were made as well, such as
replacing `fetchurl` calls with `fetchPypi`.
2018-06-23 18:14:26 +02:00
Frederik Rietdijk
222400d8e3 python: wheel: 0.31.0 -> 0.31.1 2018-06-02 13:44:39 +02:00
Frederik Rietdijk
e19342e7c0 python: wheel: 0.30.0 -> 0.31.0 2018-04-08 11:34:56 +02:00
Frederik Rietdijk
88367b1e78 python.pkgs.wheel: 0.29.0 -> 0.30.0 2017-09-13 09:03:09 +02:00
Frederik Rietdijk
10ee7b2bda pythonPackages.wheel: move expression to separate file 2017-06-01 18:01:24 +02:00