Commit Graph

19 Commits

Author SHA1 Message Date
toonn
cb3813b7b6 wheel: Normalize the filename with NFC
The original problem with the normalization of the filename only
occurred because it was in NFC. However, when trying to fix it by
`mv`ing the file to a normalization-indifferent name, I used the NFD
normalized name from my file system. This means it only works on
normalizing file systems. The filename must be in the original encoding
and will be normalized by normalizing file systems like HFS+.
2021-11-24 15:17:13 -08:00
toonn
3ed6885aa8 wheel: Fix hash mismatch due to filesystem normalization
One file in the testdata has a name with accented unicode characters
that can be encoded differently depending on normalization. This causes
Nix to calculate a different hash for the tarball output depending on
whether or not and which unicode normal form the filesystem uses.

This is worked around by renaming the file to consist of unicode
characters that are unaffected by normalization. The file is renamed and
the test patched in the `extraPostFetch` phase of the the fetcher.
2021-11-24 15:17:13 -08:00
Jonathan Ringer
6906e5dd53 python3Packages.wheel: 0.35.1 -> 0.36.2 2021-02-26 11:02:02 +01:00
Frederik Rietdijk
0a2ace6cd1 python3Packages.wheel: 0.34.2 -> 0.35.1 2020-12-01 14:44:23 +01:00
Sirio Balmelli
94b468e72e python3Packages.wheel: 0.33.6 -> 0.34.2
Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
2020-08-04 21:54:26 +02:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +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
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