Frederik Rietdijk
61a04f735a
python3.pkgs.pip: 20.1.1 -> 20.2.4
...
Reproducible builds of pyproject projects using pip is resolved.
Fixes https://github.com/pypa/pip/issues/7808
Fixes https://github.com/NixOS/nixpkgs/issues/81441
The more recent c409f69480
caused trouble
with pyproject troubles and had to be reverted anyway.
https://github.com/NixOS/nixpkgs/pull/102222#issuecomment-722380794
Revert "pythonPackages.pip: make reproducible (#102222 )"
This reverts commit c409f69480
.
Revert "python3Packages.pip: allow setting reproducible temporary directory via NIX_PIP_INSTALL_TMPDIR"
This reverts commit aedbade43e
.
2020-11-05 15:07:21 +01:00
zimbatm
c409f69480
pythonPackages.pip: make reproducible ( #102222 )
...
The previous attempt wasn't covering all of the bases. It relied on
invoking that pip-install-hook, and didn't apply to pip itself.
The core issue is that the generated .pyc files embed some of the
temporary paths, which are randomly generated. See
https://r13y.com/diff/bf8c3ca3148ebff9ecf41f294cc60b9f209c006d49699e356969ff32d736f1c6-8806a7cca91fdd300e48736bfcd57c4d0b54c1cc2fd61609f35143170862b59c.html
In this new attempt, the approach is to patch the TempFile
implementation directly, so that it creates stable temporary
directories. We also assume that if SOURCE_DATE_EPOCH is set, we are in
a scenario where reproducible builds are desirable and enter that
branch.
See also https://github.com/pypa/pip/issues/7808
2020-10-31 21:24:36 +01:00
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