Skip to content

Commit

Permalink
python: Pull ensureNewerSourcesHook call to all-packages.nix
Browse files Browse the repository at this point in the history
Documents the reason why it's needed and also prevents the
ensureNewerSourcesHook call being evaluated again and again for every
single Python package.
  • Loading branch information
dezgeg committed Feb 13, 2018
1 parent d6023f0 commit 68052b5
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
4 changes: 2 additions & 2 deletions pkgs/development/interpreters/python/build-python-package.nix
Expand Up @@ -6,7 +6,7 @@
, wrapPython
, setuptools
, unzip
, ensureNewerSourcesHook
, ensureNewerSourcesForZipFilesHook
, toPythonModule
, namePrefix
, bootstrapped-pip
Expand All @@ -19,7 +19,7 @@ let
wheel-specific = import ./build-python-package-wheel.nix { };
common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
mkPythonDerivation = import ./mk-python-derivation.nix {
inherit lib python wrapPython setuptools unzip ensureNewerSourcesHook toPythonModule namePrefix;
inherit lib python wrapPython setuptools unzip ensureNewerSourcesForZipFilesHook toPythonModule namePrefix;
};
in

Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/interpreters/python/mk-python-derivation.nix
Expand Up @@ -5,7 +5,7 @@
, wrapPython
, setuptools
, unzip
, ensureNewerSourcesHook
, ensureNewerSourcesForZipFilesHook
# Whether the derivation provides a Python module or not.
, toPythonModule
, namePrefix
Expand Down Expand Up @@ -69,7 +69,7 @@ toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attrs [

name = namePrefix + name;

nativeBuildInputs = [ (ensureNewerSourcesHook { year = "1980"; }) ]
nativeBuildInputs = [ ensureNewerSourcesForZipFilesHook ]
++ nativeBuildInputs;

buildInputs = [ wrapPython ]
Expand Down
4 changes: 4 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -92,6 +92,10 @@ with pkgs;
}
'');

# Zip file format only allows times after year 1980, which makes e.g. Python wheel building fail with:
# ValueError: ZIP does not support timestamps before 1980
ensureNewerSourcesForZipFilesHook = ensureNewerSourcesHook { year = "1980"; };

updateAutotoolsGnuConfigScriptsHook = makeSetupHook
{ substitutions = { gnu_config = gnu-config;}; }
../build-support/setup-hooks/update-autotools-gnu-config-scripts.sh;
Expand Down

0 comments on commit 68052b5

Please sign in to comment.