Commit graph

172 commits

Author SHA1 Message Date
5485b0f4ce zilch-cli-ninja: make source' and diff' operate on rewrites
Change-Id: I6a6a69644e8984ec8400e13928c8ac0e14526ad1
2025-11-14 13:01:04 +00:00
cdee2291fb zilch-cli-ninja: Support looking at subprojects
Change-Id: I6a6a6964150b0d9ea1767c815eeea23c3d7f3d02
2025-11-14 13:01:04 +00:00
3a6e716a5e (zilch ninja): resolve depfile and source overrides relative to zilch file
Change-Id: I6a6a6964b712289cfd408a02f3b6951e1de53e97
2025-11-14 13:01:04 +00:00
0023f3def8 (zilch lang ninja): Support rewriting derivation inputs
This lets incremental Ninja builds depend on other incremental Ninja
builds.

Change-Id: I6a6a6964ef300cae2e180970048c8a4881c88e19
2025-11-14 13:01:04 +00:00
c1c606ee0b (zilch lang ninja): consider .hpp to be headers
Change-Id: I6a6a6964feb764a70916d87bc8a4029b4ae92e80
2025-11-14 13:01:04 +00:00
42ea5fd576 (zilch lib rewrite): introduce bytevector/string rewrite helper
Change-Id: I6a6a69645a253c8bc0cfd0919c280c20a6404c1e
2025-11-14 13:01:04 +00:00
8e711a4b0b (zilch lang ninja build): add support for secondary VFS roots
These are used for implementing cross-project incremental builds.
2025-11-14 13:01:04 +00:00
7acb3005f8 (zilch lang ninja build): Remove base-path logic
This replaces it by just using the existing copy logic.
Removing the base-path logic makes it easier to add
non-build-dir-rooted files.

Change-Id: I6a6a6964ef300cae2e180970048c8a4881c88e19
2025-11-14 13:01:04 +00:00
feeb14eed5 (zilch nixpkgs): add dataflow tracking support
Dataflow tracking runs the installPhase of a derivation, and then
does its best to track build input -> store path output pathways.
This allows for substituting the installPhase of a derivation as much
as possible with relatively quick store path logic, allowing for cross-
project build input tracking. 

Change-Id: I6a6a69642530b32edbc2c521a3f584703731b6e1
2025-11-14 13:01:04 +00:00
612ee6fe83 cli: fix building with newer nixpkgs
Change-Id: I6a6a6964315f76664943e0568456e013fcf12288
2025-11-14 13:01:04 +00:00
244fd3c03a docs: add funding acknowledgement
Change-Id: I6a6a69647333dffbc3eabdef114327625c120f55
2025-11-14 13:01:04 +00:00
6f0db0d7ef docs: remove orphaned page
It was replaced by a more comprehensive page a while back.

Change-Id: I6a6a696468bd55425d231ebc09536bd213e7ccf7
2025-11-14 13:01:04 +00:00
5865632b14 docs: force right alignment for search
Change-Id: I6a6a6964a0757fcf015e3d66b9391f478a90bd0d
2025-11-14 13:01:04 +00:00
fbd2fd6c71 docs: Improve homepage, navigation to be more obvious
Change-Id: I6a6a6964debc026916656181c9b0bdd5c2622069
2025-11-14 13:01:04 +00:00
93a1ebba00 (zilch lang ninja): document
Change-Id: I6a6a6964dcc713504ec57f40981a601696a573af
2025-11-14 13:01:04 +00:00
154ba9be1c (zilch lang rust): Enforce that required parameters are set
Change-Id: I6a6a6964dcc713504ec57f40981a601696a573af
2025-11-14 13:01:04 +00:00
7272d1546b docread: duplicate header links
This makes it all a bit clearer, IMO.

Change-Id: I6a6a696484771b2368c37589a4b7ece8101c0b82
2025-11-14 13:01:04 +00:00
6f97bf05d2 docs: add search
Change-Id: I6a6a696466e424483a89be23b4f91ec98abb7630
2025-11-14 13:01:04 +00:00
30814de5e4 docs: Generate manpages from docs, use in CLI
Change-Id: I6a6a69646c6ff4c4b70cb928dc1df06890144429
2025-11-14 13:01:04 +00:00
5332df82bb docread: Only strip one space from doc-comments
Change-Id: I6a6a6964c4d68142cad0129233c83fde548f0d7f
2025-11-14 13:01:04 +00:00
a333a18922 docread: support non-list lambdas
This makes lambdas with tail arguments work properly.

Change-Id: I6a6a6964be286b69ebe28f3798f6f0d16626b5be
2025-11-14 13:01:04 +00:00
0340f6e830 (zilch lang rust): document
Change-Id: I6a6a6964c8aaff8d5f3e18bc5c7486746b5a2952
2025-11-14 13:01:04 +00:00
ae774da043 zilch-cli-rust: improve behavior slightly
Change-Id: I6a6a69641ebf9fcf1e2d453a904db252a1cfe596
2025-11-14 13:01:04 +00:00
18f2887eba (zilch lang go): document
Change-Id: I6a6a6964558b4fe2f96d78120b2e899f91d48c22
2025-11-14 13:01:04 +00:00
f0ce185d5c docs: Document core concepts
Change-Id: I6a6a6964d6bded229cd640463eaac70fd52df233
2025-11-14 13:01:04 +00:00
e76c57a388 (zilch nix daemon): Upgrade daemon version to 2.18-like
This is necessary for support with recent Lix.

Change-Id: I6a6a69648db16e23ee82a5107cec858ccc06fb42
2025-11-14 13:01:04 +00:00
a80266d9d8 (zilch): document most exported symbols
Change-Id: I6a6a6964d3be7b8c6306a21d810c639f30253d38
2025-11-14 13:01:04 +00:00
6a1efc6a92 (zilch zexpr): print zexpr stack when unquoting fails 2025-11-14 13:01:04 +00:00
933f46a385 (zilch zexpr): remove zexp-with-context 2025-11-14 13:01:04 +00:00
c7acae633f (zilch nix drv): remove impure derivation support 2025-11-14 13:01:04 +00:00
c9e48ff1ba (zilch nix drv): expose drv-is-fod 2025-11-14 13:01:04 +00:00
32673728f9 (zilch nix drv): deduplicate input sources 2025-11-14 13:01:04 +00:00
99bb2501e3 (zilch magic): fix off-by-one when replacing the end of the string 2025-11-14 13:01:04 +00:00
6e4d191145 (zilch magic): close the daemon connection when we're done with it 2025-11-14 13:01:04 +00:00
c7a92cb052 (zilch magic): store resolved paths for CA drvs in meta
The non-Ninja implementations have a lot more derivation-realising
churn; we don't need to realise every single "extract a file from a zip
file" helper again for each file.
2025-11-14 13:01:04 +00:00
78b41236ab (zilch magic): handle FODs with CA dependencies properly
Whilst not CA themselves, they can safely depend on CA inputs. Thus,
they need rewrites.
2025-11-14 13:01:04 +00:00
c192be2cf8 (zilch magic): remove impure drv support
Change-Id: I6a6a6964785281e054f986bfc29909228b8e0e2d
2025-11-14 13:01:04 +00:00
324aa9696b zilch-cli-go: fixup
Change-Id: I6a6a6964284b0d7d37cb9f659cc2bf1e057c3ca9
2025-11-14 13:01:04 +00:00
33cfccc4ae docs: fix URL format
Change-Id: I6a6a6964f8b29ce0d1bc019894fb6662153dee45
2025-11-14 13:01:04 +00:00
d910ce30e8 zilch-cli-ninja: Temporarily disable statusbar
Change-Id: I6a6a69646c6ff4c4b70cb928dc1df06890144429
2025-11-14 13:01:04 +00:00
ff58095797 (zilch file): fix unneccessary double-serialization in zfile
Change-Id: I6a6a69640707ff155f425f05aa857f03bad2650d
2025-11-14 13:01:04 +00:00
b5529b2616 docs: autogenerate code part of table of contents
Change-Id: I6a6a6964ec580d2403029e21ce785da000830c3d
2025-11-14 13:01:04 +00:00
fd85edb582 docs: improve doc rendering
Change-Id: I6a6a6964b1def9e8e9109fbd9319fa32595f1b72
2025-11-14 13:01:04 +00:00
781e2b5534 (zilch lang ninja): process depfile, elide .h files where posssible
Incremental builds now take depfiles in account! Using a file that
contains a mapping of depfile to its cached contents, Zilch now
rebuilds less targets unnecessarily! If a build fails because an
include is added, it transparently rebuilds it with all possible header
dependencies, using the custom build scheduler built into Zilch. If an
include is removed, the target will be rebuilt with the new set of
headers the next time the CLI is invoked.

Change-Id: I6a6a6964c2fb191af4a474c45fd0f29623c588b0
2025-11-14 13:01:04 +00:00
31bdc68f8c (zilch magic): add post-build hook
..This is really starting to look like a build scheduler, huh?

Change-Id: I6a6a696433e0a13f8de759061d47e737d48f4342
2025-11-14 13:01:04 +00:00
9b61f4df0a (zilch core magic): use bytevectors to calculate rewrites, use mapping
This massively improves performance. Turns out strings are slow!

Change-Id: I6a6a6964c48e10fe046298eaf29c4e86f7d30cf1
2025-11-14 13:01:04 +00:00
9382082702 (zilch magic): support fallback CA drvs
A derivation can now be tagged with a fallback, which is substituted in
place of the failed derivation.

Change-Id: I6a6a696418b5d9ced3ba16ce458f55f23813c32b
2025-11-14 13:01:04 +00:00
a2ec3ded0f (zilch nix drv): add derivation metadata slot
This will be used to store information for CA derivation fallbacks,
for e.g. handling header dependencies.

Change-Id: I6a6a696467311fcfbb0f01fb13998153b0cc04a7
2025-11-14 13:01:04 +00:00
895fb39c76 (zilch lang ninja depfile): add depfile parser
Change-Id: I6a6a6964591c9cc4cd32dd15ab930d1675d9ca5d
2025-11-14 13:01:04 +00:00
38d792ff04 zilch-cli-ninja: add subcommands for extracting source and running diff
Change-Id: I6a6a6964eb887c7a56b4a150196403fac5066bec
2025-11-14 13:01:04 +00:00