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.
This commit is contained in:
parent
70efc87a06
commit
e4ab8aee62
@ -3,7 +3,8 @@
|
|||||||
(http://pypi.python.org/pypi/setuptools/), which represents a large
|
(http://pypi.python.org/pypi/setuptools/), which represents a large
|
||||||
number of Python packages nowadays. */
|
number of Python packages nowadays. */
|
||||||
|
|
||||||
{ python, setuptools, unzip, wrapPython, lib, bootstrapped-pip }:
|
{ python, setuptools, unzip, wrapPython, lib, bootstrapped-pip
|
||||||
|
, ensureNewerSourcesHook }:
|
||||||
|
|
||||||
{ name
|
{ name
|
||||||
|
|
||||||
@ -60,6 +61,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "doCheck"] //
|
|||||||
name = namePrefix + name;
|
name = namePrefix + name;
|
||||||
|
|
||||||
buildInputs = [ wrapPython bootstrapped-pip ] ++ buildInputs ++ pythonPath
|
buildInputs = [ wrapPython bootstrapped-pip ] ++ buildInputs ++ pythonPath
|
||||||
|
++ [ (ensureNewerSourcesHook { year = "1980"; }) ]
|
||||||
++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip);
|
++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip);
|
||||||
|
|
||||||
# propagate python/setuptools to active setup-hook in nix-shell
|
# propagate python/setuptools to active setup-hook in nix-shell
|
||||||
|
@ -259,6 +259,14 @@ let
|
|||||||
{ substitutions = { inherit autoconf automake gettext libtool; }; }
|
{ substitutions = { inherit autoconf automake gettext libtool; }; }
|
||||||
../build-support/setup-hooks/autoreconf.sh;
|
../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
|
buildEnv = callPackage ../build-support/buildenv { }; # not actually a package
|
||||||
|
|
||||||
buildFHSEnv = callPackage ../build-support/build-fhs-chrootenv/env.nix {
|
buildFHSEnv = callPackage ../build-support/build-fhs-chrootenv/env.nix {
|
||||||
|
Loading…
Reference in New Issue
Block a user