package go { description = "the Go programming language toolchain"; website = "https://go.dev"; anitya = 1227; version# = "1.26.5"; source = remoteTar { url = "https://go.dev/dl/go"+version+".src.tar.gz"; checksum = "13yt1u_NGOd62LO-WZ8W6CUXodOrEF5CdkiTTiH9E635IHn1luvlXYjsHpBXNFSw"; compress = gzip; }; patches = [ // https://go.dev/issue/77674 "746640.patch", // https://go.dev/issue/80308 "799064.patch", ]; 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 rm \ os/root_unix_test.go \ runtime/crash_cgo_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 ]; }