aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/stage0.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-10 19:40:45 +0900
committerOphestra <cat@gensokyo.uk>2026-02-10 21:22:46 +0900
commitfb101a02f21d048515561659b06bfc2a35568c56 (patch)
tree463d221e3408de18728ba85cf3412cde8b5a3e48 /internal/rosa/stage0.go
parent3dbd67d1138e46d15df408d1404c946163e15ef1 (diff)
internal/rosa: self-host stage0 tarball
This replaces gentoo stage3 tarballs. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/stage0.go')
-rw-r--r--internal/rosa/stage0.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/internal/rosa/stage0.go b/internal/rosa/stage0.go
new file mode 100644
index 00000000..7b347255
--- /dev/null
+++ b/internal/rosa/stage0.go
@@ -0,0 +1,39 @@
+package rosa
+
+import "hakurei.app/internal/pkg"
+
+func (t Toolchain) newStage0() pkg.Artifact {
+ musl, compilerRT, runtimes, clang := t.NewLLVM()
+ return t.New("rosa-stage0", 0, []pkg.Artifact{
+ musl,
+ compilerRT,
+ runtimes,
+ clang,
+
+ t.Load(Bzip2),
+
+ t.Load(Patch),
+ t.Load(Make),
+ t.Load(CMake),
+ t.Load(Ninja),
+
+ t.Load(Libffi),
+ t.Load(Python),
+ t.Load(Perl),
+ t.Load(Diffutils),
+ t.Load(Bash),
+ t.Load(Gawk),
+ t.Load(Coreutils),
+ t.Load(Findutils),
+
+ t.Load(KernelHeaders),
+ }, nil, nil, `
+umask 377
+tar \
+ -vjc \
+ -C / \
+ -f /work/stage0-`+triplet()+`.tar.bz2 \
+ system bin usr/bin/env
+`)
+}
+func init() { artifactsF[Stage0] = Toolchain.newStage0 }