summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/ninja-zero-mtime.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/ninja-zero-mtime.patch')
-rw-r--r--gnu/packages/patches/ninja-zero-mtime.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/gnu/packages/patches/ninja-zero-mtime.patch b/gnu/packages/patches/ninja-zero-mtime.patch
new file mode 100644
index 0000000000..c9b9e8d798
--- /dev/null
+++ b/gnu/packages/patches/ninja-zero-mtime.patch
@@ -0,0 +1,19 @@
+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
+ }