stdenv: support aarch64-darwin - #184
Conversation
|
Oh snap! Very nice |
broken, not in scope of corepkgs
|
Native validation on
$ nix-instantiate -A stdenv -A freshBootstrapTools.test
error: evaluation aborted with the following error message:
'callPackageWith: Function called without required argument "hello" at
stdenv/darwin/test-bootstrap-tools.nix:6, did you mean "ell"?'
Pausing builds at this failure and watching for a PR update before retrying. |
|
yeah thats expected, try nix-build -A git to build most of the deps |
|
Thanks, running Live build dashboard — I'll keep watching new commits and comments, report build failures, and retry on new commits. |
|
Native build failure on cmake-minimal-3.31.10 Last package log lines: Continuing independent builds with |
1ac25bd to
45beeeb
Compare
|
Build recovery on Previously reported failure. The overall |
Assisted-by: codex with gpt-5.6-sol-high
|
Native build failure on ld64-954.16 Last package log lines: Continuing independent builds with |
|
I could have sworn we added hello back. or at least agreed that it's fine to do so |
|
Build recovery on Package duration was not recorded for this attempt. Previously reported failure. The overall |
I removed it again recently 😅 |
|
Human here, I think it is time I created a bot version of myself for GitHub. |
|
Agent, restart git build from scratch for latest commit, it should unblock all jobs |
|
@qweered Restarted This attempt also records per-package build durations. I’ll report failures and recoveries here. Nixie 🐾 — Srid’s pet build gremlin. |
|
Native build failure on gawk-5.3.2 Package build duration: 0m 45s (excludes dependency waiting). Last package log lines: Continuing independent builds with Nixie 🐾 — Srid’s pet build gremlin. |
|
Native build failure on make-4.4.1 Package build duration: 0m 29s (excludes dependency waiting). Last package log lines: Continuing independent builds with Nixie 🐾 — Srid’s pet build gremlin. |
|
Fixed both builds. Agent: fully restart git build, cleanup failures |
|
Build recovery on Package duration was not recorded for this attempt. Previously reported failure. The overall Nixie 🐾 — Srid’s pet build gremlin. |
|
Build recovery on Package duration was not recorded for this attempt. Previously reported failure. The overall Nixie 🐾 — Srid’s pet build gremlin. |
|
Native build failure on groff-1.23.0 Package build duration: 0m 49s (excludes dependency waiting). Last package log lines: Continuing independent builds with Nixie 🐾 — Srid’s pet build gremlin. |
|
Native build failure on opensp-1.5.2 Package build duration: 0m 23s (excludes dependency waiting). Last package log lines: Continuing independent builds with Nixie 🐾 — Srid’s pet build gremlin. |
a4259c2 to
d8ed833
Compare
|
Native build failure on groff-1.23.0 Package build duration: 0m 39s (excludes dependency waiting). Last package log lines: Continuing independent builds with Nixie 🐾 — Srid’s pet build gremlin. |
|
Build recovery on Package build duration: 0m 38s (excludes dependency waiting). Previously reported failure. The overall Nixie 🐾 — Srid’s pet build gremlin. |
d8ed833 to
46d5e68
Compare
|
Build recovery on Package duration was not recorded for this attempt. Previously reported failure. The overall Nixie 🐾 — Srid’s pet build gremlin. |
|
Build recovery on Package duration was not recorded for this attempt. Previously reported failure. The overall Nixie 🐾 — Srid’s pet build gremlin. |
|
OK, git builds 🎉. For now its enough, anyone using Darwin please send patches |
|
Hell yea. let me give it a quick review :) |
There was a problem hiding this comment.
These seem very minor given the scope of the changes, pasting for posterity.
Vague TODO in top-level.nix:1884
Followed by 30+ lines of complex Darwin-specific LLVM override logic that reconstructs the llvm attribute with a completely different code path from Linux. This is the biggest piece of acknowledged debt — the comment gives no indication of what needs fixing. The Darwin LLVM scoping logic is a tangled lib.makeOverridable + lib.fix + manual passthru reconstruction that's fragile and hard to follow.stripDebugFlags="-S" repeated 7 times in stdenv/darwin/default.nix
The identical string with identical comment (# llvm-strip does not support "-p" for Mach-O) is copy-pasted across stages. Should be extracted into a shared binding like commonPreHook already is.aarch64 extraNativeBuildInputs repeated 5 times in stdenv/darwin/default.nix
extraNativeBuildInputs = lib.optionals localSystem.isAarch64 [
prevStage.updateAutotoolsGnuConfigScriptsHook
prevStage.gnu-config
];
Same pattern duplicated across stages 1-4 and xclang.
Medium — AGENTS.md Violations
New updateScript in pkgs-many/libffi/upstream.nix:67
updateScript = nix-update-script { };
AGENTS.md porting guide says to strip updateScript (nixpkgs-only field). This was newly introduced in this PR.New doCheck = false in pkgs-many/libffi/upstream.nix:62
AGENTS.md: "doCheck = false is the default — don't set it explicitly." The comment even has a TODO acknowledging it should move to passthru.FIXME in stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix:1
FIXME: Changed to arm64-apple-darwin in release.nix stdenvBootstrapTools, please handle when refreshing
Naming mismatch between filename and upstream convention, left unresolved.
Still messy and needs cleanup, but better than nixpkgs's implementation