add ensureNewerSourcesHook and apply to all python
Fixes #12663: problems in python stuff due to old timestamps in sources.
- Files in sources older than a certain year are set to that year.
- Applied with 1980 for all python packages due to the way it often uses zip.
(cherry picked from staging commit e4ab8aee62
)
This commit is contained in:
parent
d3a3aa8674
commit
824c8dfa95
@ -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
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user