package go { description = "the Go programming language toolchain"; website = "https://go.dev"; anitya = 1227; version# = "1.26.4"; source = remoteTar { url = "https://go.dev/dl/go"+version+".src.tar.gz"; checksum = "fpqJlxa41wKRtbnviYNLk9VxgcL-5oIEDxsriF8svU6kNwQW70oRRA9gTz_ImVoB"; compress = gzip; }; env = [ "CC=cc", "GOCACHE=/tmp/gocache", "GOROOT_BOOTSTRAP=/system/go", "TMPDIR=/dev/shm/go", ]; enterSource = true; exec = generic { inPlace = true; build = ` mkdir /work/system/ "${TMPDIR}" cp -r . /work/system/go cd /work/system/go/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 mkdir /work/system/bin ln -s \ ../go/bin/go \ ../go/bin/gofmt \ /work/system/bin `; }; inputs = [ bash, go-bootstrap ]; }