Files
nixpkgs/pkgs/by-name/cl/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

22 lines
840 B
Diff

The clean command line compiler clm uses timestamps of dcl, icl, abc and o files
to decide what must be rebuild. However as for chroot builds, all of the
library files will have equal timestamps, this leads to clm trying to rebuild
the library modules distributed with the Clean installation every time a user
compiles any file, which fails ue to the absence of write permission on the Nix
store.
This patch changes the freshness check to use less than instead of less than or
equal to in order to avoid this.
--- b/src/clm/clm.c
+++ a/src/clm/clm.c
@@ -250,7 +250,7 @@
|| (t1.dwHighDateTime==t2.dwHighDateTime && (unsigned)(t1.dwLowDateTime)<=(unsigned)(t2.dwLowDateTime)))
#else
typedef unsigned long FileTime;
-# define FILE_TIME_LE(t1,t2) (t1<=t2)
+# define FILE_TIME_LE(t1,t2) (t1<t2)
#endif
typedef struct project_node {