diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index dab20b2f7447..15f369a44f2d 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -3,7 +3,8 @@ (http://pypi.python.org/pypi/setuptools/), which represents a large number of Python packages nowadays. */ -{ python, setuptools, unzip, wrapPython, lib, bootstrapped-pip }: +{ python, setuptools, unzip, wrapPython, lib, bootstrapped-pip +, ensureNewerSourcesHook }: { name @@ -60,6 +61,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "doCheck"] // name = namePrefix + name; buildInputs = [ wrapPython bootstrapped-pip ] ++ buildInputs ++ pythonPath + ++ [ (ensureNewerSourcesHook { year = "1980"; }) ] ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip); # propagate python/setuptools to active setup-hook in nix-shell diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0eda14f2f4cb..393eb4b37c88 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -259,6 +259,14 @@ let { substitutions = { inherit autoconf automake gettext libtool; }; } ../build-support/setup-hooks/autoreconf.sh; + ensureNewerSourcesHook = { year }: makeSetupHook {} + (writeScript "ensure-newer-sources-hook.sh" '' + postUnpackHooks+=(_ensureNewerSources) + _ensureNewerSources() { + find "$sourceRoot" '!' -newermt '${year}-01-01' -exec touch -d '${year}-01-02' '{}' '+' + } + ''); + buildEnv = callPackage ../build-support/buildenv { }; # not actually a package buildFHSEnv = callPackage ../build-support/build-fhs-chrootenv/env.nix {