aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/rosa.go
AgeCommit message (Collapse)Author
2026-02-02internal/rosa: use stage3 mirrorOphestra
These get taken down periodically and causes way too many rebuilds when they are taken down. Use mirror until a more elegant solution is available. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-30internal/rosa: early toybox variantOphestra
This is a variant of toybox with unfinished tools enabled, for artifacts that will end up in a dependency loop without them. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-29internal/rosa: flags for toolchain-dependent artifactOphestra
This is much cleaner to add extra flags to. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-29internal/rosa: replace busybox with toyboxOphestra
The busybox artifact does not run on aarch64, and the workarounds required for it to compile successfully on x86_64 is unacceptably shaky. This change fully replaces it with toybox. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-29internal/rosa: replace busybox dash with mkshOphestra
Toybox does not provide a shell, mksh fills that gap. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-27internal/rosa: add arm64 stringsOphestra
This enables building on arm64. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-27internal/rosa: cross-platform stage3Ophestra
The stage3 binary seed is arch-specific. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-27internal/pkg: exclusive artifactsOphestra
This alleviates scheduler overhead when curing many artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-26internal/rosa: patch ignore whitespaceOphestra
This makes it work better with patches emitted by git. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-26internal/rosa: isolate patching helperOphestra
This is useful outside llvm as well. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-26internal/rosa: name suffix by toolchainOphestra
This makes output more useful during bootstrap. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-25internal/rosa: lazy initialise all artifactsOphestra
This improves performance, though not as drastically as lazy initialising llvm. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-25internal/rosa: lazy initialise llvmOphestra
This significantly improves performance. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-24internal/rosa: stage3 special case helperOphestra
This makes it cleaner to specify non-stage3 and stage3-exclusive dependencies. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-24internal/rosa: patch library pathsOphestra
This removes the need for reference LDFLAGS in the standard toolchain. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-23internal/rosa: patch header search pathsOphestra
This removes the need for reference CFLAGS in the standard toolchain. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-22internal/rosa: fix toolchain layer orderOphestra
This allows extras to override toolchain artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-21internal/rosa: include iana-etcOphestra
This is used by some programs and will likely end up in the Rosa OS system image anyway. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-19internal/rosa: standard toolchain via 2-stage bootstrapOphestra
This implements the 2-stage bootstrap build without clumping the stages together in the cmake target. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-19internal/rosa: bootstrap on gentoo stage3Ophestra
This contains a fully working musl+llvm toolchain and many build systems in a pretty small package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-19internal/rosa: GNU make artifactOphestra
This compiles GNU make from source. This is unfortunately required by many programs, but is a cure dependency only. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-19internal/rosa: toolchain abstractionOphestra
This provides a clean and easy to use API over toolchains. A toolchain is an opaque set of artifacts and environment fixups. Exported toolchains should be functionally indistinguishable from each other. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-19internal/rosa: busybox binary artifactOphestra
This installs a statically linked busybox binary distribution for decompressing the gentoo stage3 tarball, since there is no native xz implementation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-18internal/rosa: static etc artifactOphestra
This places configuration files with hardcoded content in /etc to silence test suites expecting them to be present. Signed-off-by: Ophestra <cat@gensokyo.uk>