aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/tamago.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/rosa/tamago.go')
-rw-r--r--internal/rosa/tamago.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/internal/rosa/tamago.go b/internal/rosa/tamago.go
new file mode 100644
index 00000000..58ca648b
--- /dev/null
+++ b/internal/rosa/tamago.go
@@ -0,0 +1,40 @@
+package rosa
+
+import (
+ "runtime"
+
+ "hakurei.app/internal/pkg"
+)
+
+func (t Toolchain) newTamaGo() pkg.Artifact {
+ const (
+ version = "1.26.0"
+ checksum = "5XkfbpTpSdPJfwtTfUegfdu4LUy8nuZ7sCondiRIxTJI9eQONi8z_O_dq9yDkjw8"
+ )
+ return t.New("tamago-go"+version, 0, []pkg.Artifact{
+ t.Load(Bash),
+ t.Load(Go),
+ }, nil, []string{
+ "CC=cc",
+ "GOCACHE=/tmp/gocache",
+ }, `
+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-`+linuxArch()+`.so.1,/system/bin/linker,' \
+ cmd/link/internal/`+runtime.GOARCH+`/obj.go
+rm \
+ os/root_unix_test.go
+
+./all.bash
+`, pkg.Path(AbsUsrSrc.Append("tamago"), false, pkg.NewHTTPGetTar(
+ nil, "https://github.com/usbarmory/tamago-go/archive/refs/tags/"+
+ "tamago-go"+version+".tar.gz",
+ mustDecode(checksum),
+ pkg.TarGzip,
+ )))
+}
+func init() { artifactsF[TamaGo] = Toolchain.newTamaGo }