Commit graph

50 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 6a9de0eb79 python.pkgs.bootstrapped-pip: 19.3 -> 19.3.1 2019-10-18 12:41:53 +02:00
Frederik Rietdijk 7728edab00 python.pkgs.bootstrapped-pip: upgrade pip and setuptools 2019-10-18 09:53:55 +02:00
Frederik Rietdijk dc95e17fc2 python: bootstrapped-pip: update wheel, setuptools, pip
wheel 33.4 -> 33.6
setuptools 41.0.1 -> 42.2.0
pip 19.1.1 -> 19.2.3
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 9f57b6680a python.pkgs.bootstrapped-pip: updates
wheel: 0.33.1 -> 0.33.4
setuptools: 41.0.0 -> 41.0.1
pip: 19.0.3 -> 19.1.1
2019-06-15 08:46:32 +02:00
Frederik Rietdijk 8ae35163f7 pythonPackages.bootstrapped-pip: setuptools 40.8.0 -> 41.0.0 2019-04-18 12:42:43 +02:00
Frederik Rietdijk 8ce693e81b python.pkgs.bootstrapped-pip: pip 19.0.2 -> 19.0.3, wheel 0.33.0 -> 0.33.1 2019-02-23 20:05:18 +01:00
Frederik Rietdijk e4524dc51c python.pkgs.bootstrapped-pip: wheel 0.32.2 -> 0.33.0, setuptools 40.6.3 -> 40.8.0, pip 18.1 -> 19.0.2 2019-02-17 14:40:48 +01:00
Frederik Rietdijk fe348a1a7d python.pkgs.bootstrapped-pip: setuptools 40.6.2 -> 40.6.3 2019-01-18 09:37:10 +01:00
Frederik Rietdijk c02b47b625 python.pkgs.bootstrapped-pip: setuptools: 40.4.3 -> 40.6.2 2018-12-03 16:50:40 +01:00
Frederik Rietdijk 9450674e06 python.pkgs.bootstrapped-pip: wheel 0.32.1 -> 0.32.2 2018-10-24 20:05:44 +02:00
Frederik Rietdijk b05a5969fc python.pkgs.bootstrapped-pip: update pip, setuptools and wheel 2018-10-13 09:50:17 +02:00
Frederik Rietdijk f68a5ec9b5 pythonPackages.bootstrapped-pip: setuptools: 40.0.0 -> 40.2.0 2018-08-25 18:07:19 +02:00
Frederik Rietdijk 20f3647c2f python.pkgs.bootstrapped-pip: update pip and setuptools 2018-07-26 12:43:14 +02:00
volth 52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Frederik Rietdijk ccd8ac2286 python.pkgs.bootstrapped-pip: setuptools 39.0.1 -> 39.2.0 2018-06-02 13:44:39 +02:00
Frederik Rietdijk 0b9ec1e629 python.pkgs.bootstrapped-pip: wheel 0.31.0 -> 0.31.1 2018-06-02 13:44:39 +02:00
Robert Schütz f13cf52a84 python.pkgs.bootstrapped-pip: wheel: 0.30.0 -> 0.31.0 2018-05-05 07:36:39 +02:00
Robert Schütz b99d7727b9 python.pkgs.bootstrapped-pip: remove pkg_resources patch 2018-05-05 07:27:10 +02:00
Frederik Rietdijk 6d2dd33070 python.pkgs.bootstrapped-pip: 9.0.3 -> 10.0.1 2018-04-21 08:10:24 +02:00
Frederik Rietdijk e450ce6b7f python.pkgs.bootstrapped-pip: pip 9.0.1 -> 9.0.3 , setuptools 38.4.1 -> 39.0.1 2018-04-08 11:36:07 +02:00
Frederik Rietdijk 55ef50c257 python.pkgs.bootstrapped-pip: setuptools 38.4.0 -> 38.4.1 2018-02-26 19:06:01 +01:00
Will Dietz 4e80b56c3c bootstrapped-pip: fix for cross (nativeBuildInputs) 2018-01-22 17:19:03 -06:00
Frederik Rietdijk 87340d32bb python.pkgs.bootstrapped-pip update setuptools 38.2.5 -> 38.4.0 2018-01-07 09:47:15 +01:00
Frederik Rietdijk d3b85a4607 python.pkgs.setuptools: 38.2.3 -> 38.2.5 2017-12-31 11:01:56 +01:00
Spencer Baugh 70c1899768 python.pkgs.setuptools: 36.7.1 -> 38.2.3 2017-12-07 14:14:15 +01:00
Frederik Rietdijk 24b7b3e49f python.pkgs.setuptools: 36.4.0/36.6.0 -> 36.7.1 2017-11-23 15:11:03 +01:00
Frederik Rietdijk 23ad2b2e7a python.pkgs.bootstrapped-pip: fix hash
Hash was forgotten in
a26ae760e2.
The newer version of pkg_resources, 36.4.0, is actually incomplete.
Therefore, let's stick with the older version which didn't cause any
issues.
2017-10-07 12:57:10 +02:00
Frederik Rietdijk 88367b1e78 python.pkgs.wheel: 0.29.0 -> 0.30.0 2017-09-13 09:03:09 +02:00
Frederik Rietdijk a26ae760e2 python.pkgs.setuptools: upgrade to 36.4.0 2017-09-07 15:06:22 +02:00
Frederik Rietdijk 3b83c23012 python.pkgs.bootstrapped-pip: upgrade pkg_resources, fixes #26392
pip 9.0.1 vendors a version of setuptools/pkg_resources which has been
fixed in setuptools/pkg_resources but not yet in pip. Because we're now
facing this issue with nox, we update pkg_resources to the version we
also have in setuptools. Let's cross our fingers this will work without
breaking other stuff.
2017-06-07 17:29:23 +02:00
Frederik Rietdijk 76e082922f python.pkgs.bootstripped-pip: remove obsolete argparse code
because we no longer have Python 2.6.
2017-06-06 14:42:10 +02:00
Frederik Rietdijk bdd3f30739 python.pkgs.bootstrapped-pip: update setuptools to 36.0.1 2017-06-01 18:24:58 +02:00
Frederik Rietdijk 47d4575255 pythonPackages.setuptools: 28.8.0 -> 30.2.0 2016-12-05 17:33:21 +01:00
Frederik Rietdijk 27a6d61881 pythonPackages.pip: 8.1.2 -> 9.0.1 2016-11-15 00:05:56 +01:00
Frederik Rietdijk d83d2ba4f3 pythonPackages.setuptools: 26.1.1 -> 28.8.0 2016-11-15 00:05:56 +01:00
Frederik Rietdijk 321e073629 Python: bootstrapped-pip: use python.libPrefix in name
See 4de7cbdf04
2016-10-21 14:04:16 +02:00
Vladimír Čunát 4de7cbdf04 pythonPackages.pip: do not name it python-*
Fixes #19691.  Feel free to find a beter naming.
2016-10-20 17:59:31 +02:00
Frederik Rietdijk 9a851907a8 pythonPackages.setuptools: 19.4 -> 26.1.1 2016-09-01 16:16:31 +02:00
Jude Taylor 582fef1299 fix pip URL 2016-05-12 13:55:40 -07:00
Frederik Rietdijk 5d68baa8db Python bootstrapped-pip: 8.1.1 -> 8.1.2 2016-05-12 14:27:51 +02:00
Frederik Rietdijk 58a65c013d python.bootstrapped-pip: 8.0.2 -> 8.1.1 2016-03-28 13:35:46 +02:00
Domen Kožar 9c274b4bef bootstrapped-pip: support Python 2.6 2016-03-24 15:44:34 +00:00
Frederik Rietdijk 7ddd3a0d30 python bootstrapped-pip: wheel 0.26.0 -> 0.29.0 2016-02-08 20:47:23 +01:00
Frederik Rietdijk e552ad11e3 python bootstrapped-pip: pip 7.1.2 -> 8.0.2 2016-02-08 20:41:54 +01:00
Frederik Rietdijk e0d0f8dbd2 pythonPackages.setuptools and bootstrapped-pip: 18.2 -> 19.4
Update to latest setuptools. Latest setuptools will always try to run tests.
This can cause some very vague errors. We now need to fix all packages where we do not
invoke the correct test runner.
2016-01-24 14:34:01 +01:00
Domen Kožar fc611fe634 buildPythonPackage: fix --prefix also for pip install -e 2015-11-23 17:21:46 +01:00
Domen Kožar f3092d6446 buildPythonPackage: use a separate file to fire off setup.py 2015-11-21 21:44:12 +01:00
Domen Kožar a2a6f60b5a WIP: buildPythonPackages now uses wheels internally 2015-11-21 21:44:12 +01:00