nixpkgs/pkgs/development/interpreters/python
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
..
catch_conflicts python: Move catch_conflicts.py into subdirectory (#23600) 2017-04-01 12:22:36 +02:00
cpython python: enable loadable sqlite extensions (#67472) 2019-08-31 07:59:00 -04:00
hooks Split buildPythonPackage into setup hooks 2019-09-06 15:18:45 +02:00
pypy treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
update-python-libraries buildPython*: add updateScript to passthru 2018-12-07 15:48:54 +01:00
default.nix python3Minimal: Add top-level for a minimal Python 3 build 2019-08-21 14:52:49 +02:00
fetchpypi.nix pythonPackages.fetchPypi: support SRI hashes 2019-07-11 18:01:04 +02:00
mk-python-derivation.nix Split buildPythonPackage into setup hooks 2019-09-06 15:18:45 +02:00
run_setup.py Python: move python-modules/generic to interpreter folder 2016-09-01 16:16:31 +02:00
setup-hook.nix Python: set DETERMINISTIC_BUILD and PYTHONHASHSEED in setupHook 2017-05-19 16:28:11 +02:00
setup-hook.sh python: make it possible to disable the python setup-hook 2019-04-28 09:20:41 +02:00
sitecustomize.py Python: introduce NIX_PYTHONEXECUTABLE in order to set sys.executable 2019-07-27 11:52:49 +02:00
with-packages.nix python: add python.withPackages function 2016-05-29 15:12:23 +02:00
wrap-python.nix Python: improve cross-compilation 2019-01-04 10:45:22 +01:00
wrap.sh Add flag to disable PYTHONNOUSERSITE for wrapped binaries in python environments 2019-05-13 02:56:56 -07:00
wrapper.nix Python: introduce NIX_PYTHONEXECUTABLE in order to set sys.executable 2019-07-27 11:52:49 +02:00