aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-21 18:47:05 +0900
committerOphestra <cat@gensokyo.uk>2026-05-21 19:40:16 +0900
commit25d9edfc64a6e75f9384999416afd4791b6a716d (patch)
tree10477a95af13bd361dc5dde4fb62b4bca5e0e4d4
parentaf4c3bbff2d4ef012db945963680f8f764e592ae (diff)
internal/rosa/package: migrate tamago
Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/package/tamago.az50
-rw-r--r--internal/rosa/state.go1
-rw-r--r--internal/rosa/tamago.go50
3 files changed, 51 insertions, 50 deletions
diff --git a/internal/rosa/package/tamago.az b/internal/rosa/package/tamago.az
new file mode 100644
index 00000000..fa96c880
--- /dev/null
+++ b/internal/rosa/package/tamago.az
@@ -0,0 +1,50 @@
+package tamago {
+ description = "a Go toolchain extended with support for bare metal execution";
+ website = "https://github.com/usbarmory/tamago-go";
+ anitya = 388872;
+
+ version* = "1.26.3";
+ source = remoteGitHub {
+ suffix = "usbarmory/tamago-go";
+ tag = "tamago-go"+version;
+ checksum = "-nH3MjAzDDLTeJ2hRKYJcJwo5-Ikci4zOHfB8j1vKn7zrF9TS6zYaoLi8qohGwAE";
+ };
+
+ env = [
+ "CC=cc",
+ "GOCACHE=/tmp/gocache",
+ "CGO_ENABLED=0",
+ ];
+
+ enterSource = true;
+
+ exec = generic {
+ inPlace = true;
+ build = `
+mkdir /work/system/
+cp -r . /work/system/tamago
+cd /work/system/tamago/src
+chmod -R +w ..
+
+sed -i \
+ 's,/lib/ld-musl-` + linuxArch + `.so.1,/system/bin/linker,' \
+ cmd/link/internal/` + arch + `/obj.go
+sed -i \
+ 's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
+ internal/runtime/gc/scan/scan_amd64.go
+
+rm \
+ os/root_unix_test.go \
+ cmd/cgo/internal/testsanitizers/tsan_test.go \
+ cmd/cgo/internal/testsanitizers/cshared_test.go
+
+set +u
+. ./make.bash "$@" --no-banner
+set -u
+`;
+ check = "bash run.bash --no-rebuild\n";
+ install = "../bin/go tool dist banner # print build info";
+ };
+
+ inputs = [ bash, go ];
+}
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index 3b4295f6..3fae800c 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -453,6 +453,7 @@ func (s *S) getFrame() azalea.Frame {
k("unversioned"): Unversioned,
k("triple"): s.triple(),
+ k("arch"): s.arch,
k("linuxArch"): s.linuxArch(),
k("earlyLDFLAGS"): s.earlyLDFLAGS(false),
diff --git a/internal/rosa/tamago.go b/internal/rosa/tamago.go
deleted file mode 100644
index 74c8b680..00000000
--- a/internal/rosa/tamago.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package rosa
-
-import "hakurei.app/internal/pkg"
-
-func (t Toolchain) newTamaGo() (pkg.Artifact, string) {
- const (
- version = "1.26.3"
- checksum = "-nH3MjAzDDLTeJ2hRKYJcJwo5-Ikci4zOHfB8j1vKn7zrF9TS6zYaoLi8qohGwAE"
- )
- return t.New("tamago-go"+version, 0, t.Append(nil,
- _bash,
- _go,
- ), nil, []string{
- "CC=cc",
- "GOCACHE=/tmp/gocache",
- "CGO_ENABLED=0",
- }, `
-mkdir /work/system # "${TMPDIR}"
-cp -r /usr/src/tamago /work/system
-cd /work/system/tamago/src
-chmod -R +w ..
-
-sed -i \
- 's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
- cmd/link/internal/`+t.arch+`/obj.go
-sed -i \
- 's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
- internal/runtime/gc/scan/scan_amd64.go
-
-rm \
- os/root_unix_test.go \
- cmd/cgo/internal/testsanitizers/tsan_test.go \
- cmd/cgo/internal/testsanitizers/cshared_test.go
-
-./all.bash
-`, pkg.Path(AbsUsrSrc.Append("tamago"), false, newFromGitHub(
- "usbarmory/tamago-go",
- "tamago-go"+version,
- checksum,
- ))), version
-}
-func init() {
- native.mustRegister(Toolchain.newTamaGo, &Metadata{
- Name: "tamago",
- Description: "a Go toolchain extended with support for bare metal execution",
- Website: "https://github.com/usbarmory/tamago-go",
-
- ID: 388872,
- })
-}