nixpkgs/pkgs/development/interpreters/python/hooks
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
..
default.nix buildPythonPackage: recompile bytecode for reproducibility 2020-06-13 10:36:28 +02:00
egg-build-hook.sh python: Add support for installing Python eggs 2020-01-08 13:59:04 +00:00
egg-install-hook.sh python: Add support for installing Python eggs 2020-01-08 13:59:04 +00:00
egg-unpack-hook.sh python: Add support for installing Python eggs 2020-01-08 13:59:04 +00:00
flit-build-hook.sh treewide: *Phase(s)? variables are optional 2019-11-01 14:44:44 -04:00
pip-build-hook.sh pythonPackages.pipBuildHook: do not build in an isolated environment 2020-06-06 10:05:26 +02:00
pip-install-hook.sh pythonPackages.pip: make reproducible (#102222) 2020-10-31 21:24:36 +01:00
pytest-check-hook.sh pythonPackages.pytestCheckHook: disable setuptoolsCheckPhase 2020-05-11 22:12:08 +02:00
python-catch-conflicts-hook.sh treewide: Make still dont* Variables are optional in most cases 2019-11-01 14:44:44 -04:00
python-imports-check-hook.sh python: execute pythonImportsCheckPhase in subshell 2020-02-19 22:30:50 -08:00
python-namespaces-hook.sh python: add pythonNamespacesHook 2020-03-18 12:20:51 -07:00
python-recompile-bytecode-hook.sh buildPythonPackage: recompile bytecode for reproducibility 2020-06-13 10:36:28 +02:00
python-remove-bin-bytecode-hook.sh pythonRemoveBinBytecodeHook: fix explanation 2020-06-13 10:20:14 +02:00
python-remove-tests-dir-hook.sh python: add pythonRemoveTestsDirHook 2020-03-03 20:01:00 +01:00
setuptools-build-hook.sh pythonPackages.setuptoolsBuildHook: do not build in an isolated environment 2020-06-06 10:05:26 +02:00
setuptools-check-hook.sh treewide: *Phase(s)? variables are optional 2019-11-01 14:44:44 -04:00
venv-shell-hook.sh python3Packages.venvShellHook: add postVenvCreation (#87850) 2020-05-16 09:34:11 +02:00
wheel-unpack-hook.sh treewide: *Phase(s)? variables are optional 2019-11-01 14:44:44 -04:00