Commit graph

198 commits

Author SHA1 Message Date
8385c3ac9b (zilch nixpkgs): Attempt to limit Nix expression leakage
Change-Id: Ifab2c0e7784145b9f57ca2c3cb713a476a6a6964
2025-11-28 15:24:00 +00:00
bf1f5b0ed9 (zilch lang rust resolver): fix Git fetches
Change-Id: I6c1214424e54f39ed955ae3e6758ce566a6a6964
2025-11-25 16:12:35 +00:00
3e70d61052 (zilch lang rust resolver): improve build script compatibility
Change-Id: I3d87ecde581407d818a7610aca2a7b826a6a6964
2025-11-25 16:12:22 +00:00
f9336ab1ad (zilch lang ninja build): More compatibility fixes
Change-Id: Ic56e71d13e8f897c165b7d8379840ac16a6a6964
2025-11-25 16:11:50 +00:00
48e8cd9455 (zilch lang ninja nixpkgs): don't choke on non-UTF-8 files
Change-Id: I7d3472c0492104574cc4b7264ab1ceaf6a6a6964
2025-11-25 16:11:32 +00:00
99bb57a4ed (zilch statusbar): improve UX a bit, fix utf-8
Change-Id: Ic252593fb12da41662c205a33b6ba09f6a6a6964
2025-11-25 16:08:02 +00:00
de9d250b55 (zilch vfs): don't symlink to symlinks
This has pretty bad side effects, in case of relative symlinks.

Change-Id: Ia7fe5607941dfb07cfb8f739e0dab9666a6a6964
2025-11-25 16:06:51 +00:00
553df0b2fe (zilch nixpkgs): fix non-out derivations
Change-Id: I542e0cb1f6a33261b9c4f1b620636c8c6a6a6964
2025-11-25 16:06:31 +00:00
5bf80a463e (zilch lang rust): Print crate name of failed buildscript
Change-Id: Ib3511b7cd8cdeb72528e5a0de9b9ff2b6a6a6964
2025-11-24 20:12:08 +00:00
ace83f3b1b (zilch statusbar): fix the deadlock
The statusbar code contained a deadlock in error cases, which, somehow,
was a heisenbug. After a 2-hour long debugging session today, it has
finally been spotted and _solved_.

I should some day move off Chicken Scheme.

Change-Id: If0c2a2b6db10b5620c12f191f13af4c86a6a6964
2025-11-24 20:10:15 +00:00
de26625157 (zilch lang go): bump Go version
Also explicitly disable Cgo, as that is necessary for newer versions of
Go.

Change-Id: I24af36efbe5e2e4b873553c11798bbfa6a6a6964
2025-11-24 13:16:35 +00:00
57f5e866c2 (zilch statusbar): fix activity glitchiness
Change-Id: Ia8f951c9708a632a5d7b4340cf210d9a6a6a6964
2025-11-24 13:16:08 +00:00
66fa24c69d (zilch magic): Copy settings from primary daemon connections
This ensures the CA build logic won't substitute if the main daemon
link wouldn't either.

Change-Id: I3ac2fd91bc2158e750d9ace5890d47866a6a6964
2025-11-24 13:14:23 +00:00
83993d7739 zilch-cli-ninja: Use the logger
Change-Id: I4cfcd8495d05500b14ba4c9b39726bc86a6a6964
2025-11-21 14:39:52 +00:00
c4ec32eac3 (zilch nix daemon): generate new logger instance per startWorking
In the case of CA handling, a large quantity (32+) of daemon
connections may exist at once. Handling this with one single derivation
build counter is counterintuitive, and is why the Ninja CLI did not yet
use the counter.

Change-Id: Ia88b4f014ae8df8b1a900b881ac821ff6a6a6964
2025-11-21 14:37:15 +00:00
222b0eb5a3 (zilch statusbar): Fix resilience during shutdown
When the (current-error-port) is closed, other threads in the middle
of using the port are likely to error out with a "port is closed"
error. When this occurs, the Chicken Scheme runtime will either
deadlock (when this happens on the output port), or worse, _hang_.
As the barf procedure usess the current error port, it itself hits this
same issue.

We can't perfectly protect against this, as there's no mutex on the current
output/error port; but we can improve the chances of hitting it massively,
to the point where a simple program won't hit the deadlock.

Change-Id: I3ccec0073b375ca21e8b46861c2f8c146a6a6964
2025-11-21 14:33:36 +00:00
02045177dd (zilch lang go): pin Go version
Newer Go versions need a different bootstrap.

Change-Id: I8545d53d1a0c32dca75c8d150415724d6a6a6964
2025-11-21 14:32:31 +00:00
1247097de2 core, (zilch lang rust): fix egg definitions
This is enough to make them all compile under native `chicken-install',
as opposed to Nix-only.

Change-Id: I40e480f0b98be40aaf6cc0fe6f0eedc26a6a6964
2025-11-19 12:39:12 +00:00
56b114ef2c support building with chicken-install too
Change-Id: I47510ca9d5892f1def55ab14f610ba796a6a6964
2025-11-19 12:25:55 +00:00
933b942a62 (zilch planner): drop
Turns out this idea was kind of a dead end.

Change-Id: Id90b2249191ad66b0691471aa1721d726a6a6964
2025-11-14 13:13:33 +00:00
edbdf48a5a (zilch lang rust): call yj inside nix
Change-Id: I3bc75045534ef524ca2a8a2df290e2876a6a6964
2025-11-14 13:01:04 +00:00
d97a24bf1a fix runCommandNoCC deprecation warning
Change-Id: I7f44f4762c8c3ba2bbe684acd7ba75186a6a6964
2025-11-14 13:01:04 +00:00
3e23769348 (zilch lang ninja): document incremental build
Change-Id: I6a6a696472806049b5ecab203487254f32a716b7
2025-11-14 13:01:04 +00:00
0036f464ac (zilch lang ninja nixpkgs): Properly handle .so SHSYM
Change-Id: I6a6a696428c5bfcee09a65d45939a3aa145afdad
2025-11-14 13:01:04 +00:00
86e07faa8a (zilch lang ninja nixpkgs): misc fixes
Change-Id: I6a6a6964260d2be34c1b70aad431018ce37dca26
2025-11-14 13:01:04 +00:00
a57b991013 (zilch lang ninja build): add "may fail" to edge-ref
Change-Id: I6a6a69642d0f1daf57c0dee4a0291595f1c13cb2
2025-11-14 13:01:04 +00:00
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