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.4";
	source = remoteGitHub {
		suffix = "usbarmory/tamago-go";
		tag = "tamago-go"+version;
		checksum = "3-VmJ2mRLQnJtbcXny2unpc7RMNzvVxajirl_M4o-JP7_oRrWOFuaJqUfE-yrZL-";
	};

	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 ];
}
