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
This commit is contained in:
@@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
};
|
||||
|
||||
# Remove when solved https://github.com/NixOS/nixpkgs/issues/81441
|
||||
# Also update pkgs/development/interpreters/python/hooks/pip-install-hook.sh accordingly
|
||||
# See also https://github.com/pypa/pip/issues/7808
|
||||
patches = [ ./reproducible.patch ];
|
||||
|
||||
nativeBuildInputs = [ bootstrapped-pip ];
|
||||
|
||||
Reference in New Issue
Block a user