guix/gnu/packages/patches/ninja-zero-mtime.patch
Ludovic Courtès 2e839545c7 gnu: ninja: Do not report files with mtime = 0 as missing.
This is a followup to 47f315a.

* gnu/packages/patches/ninja-zero-mtime.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/ninja.scm (ninja)[source]: Reinstate 'patches' field and add
  this patch.
  [arguments]: Remove 'apply-ninja-tests.patch' phase.
2015-07-18 23:27:18 +02:00

20 lines
624 B
Diff

Work around a design defect in Ninja whereby a zero mtime is used to
denote missing files (we happen to produce files that have a zero mtime
and yet really do exist.)
--- ninja-1.5.3/src/disk_interface.cc 2014-11-24 18:37:47.000000000 +0100
+++ ninja-1.5.3/src/disk_interface.cc 2015-07-18 23:20:38.572290139 +0200
@@ -194,6 +194,12 @@ TimeStamp RealDiskInterface::Stat(const
}
return -1;
}
+
+ if (st.st_mtime == 0)
+ // All the code assumes that mtime == 0 means "file missing". Here we
+ // know the file is not missing, so tweak the mtime.
+ st.st_mtime = 1;
+
return st.st_mtime;
#endif
}