diff --git a/lang/go123/Makefile b/lang/go123/Makefile new file mode 100644 index 000000000000..9e840b65b05e --- /dev/null +++ b/lang/go123/Makefile @@ -0,0 +1,19 @@ +DISTVERSION= 1.23.1 +# Always set PORTREVISION explicitly as otherwise they are inherited from lang/go-devel +MASTER_SITES= https://golang.org/dl/ \ + https://github.com/dmgk/go-bootstrap/releases/download/${BOOTSTRAP_TAG}/:bootstrap \ + LOCAL/dmgk:bootstrap +DISTFILES= go${DISTVERSION}.src.tar.gz \ + go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-${BOOTSTRAP_TAG}.tar.xz:bootstrap + +# Avoid conflicting patch files +PATCHFILES= +PATCHDIR= ${.CURDIR}/files + +COMMENT= Go programming language + +MASTERDIR= ${.CURDIR}/../go-devel +WRKSRC= ${WRKDIR}/go +DISTINFO_FILE= ${.CURDIR}/distinfo + +.include "${MASTERDIR}/Makefile" diff --git a/lang/go123/distinfo b/lang/go123/distinfo new file mode 100644 index 000000000000..88e5c1745f1d --- /dev/null +++ b/lang/go123/distinfo @@ -0,0 +1,15 @@ +TIMESTAMP = 1725809259 +SHA256 (go1.23.1.src.tar.gz) = 6ee44e298379d146a5e5aa6b1c5b5d5f5d0a3365eabdd70741e6e21340ec3b0d +SIZE (go1.23.1.src.tar.gz) = 28164249 +SHA256 (go-freebsd-arm64-go1.20.tar.xz) = 674e0a9bce8b64dcc085b000eb83ae880e96be1ee47dad6ec86c82dbe5550623 +SIZE (go-freebsd-arm64-go1.20.tar.xz) = 32640640 +SHA256 (go-freebsd-amd64-go1.20.tar.xz) = 170f612c4b8a59400f27d642aab37afa831fe2d6df3e7473dec2d4574a59a46c +SIZE (go-freebsd-amd64-go1.20.tar.xz) = 34684360 +SHA256 (go-freebsd-arm6-go1.20.tar.xz) = acf99dbb285c6d2b80e0abfe4bffd0d230516ea84d17be0d5bc1045809e3d33a +SIZE (go-freebsd-arm6-go1.20.tar.xz) = 33418476 +SHA256 (go-freebsd-arm7-go1.20.tar.xz) = 12dd61c802eada70380f0b4755656d82dbf228575c056775c682456380be5039 +SIZE (go-freebsd-arm7-go1.20.tar.xz) = 33346596 +SHA256 (go-freebsd-386-go1.20.tar.xz) = 34e888a37153270b33503a23885ea4c85ba4bd09849d2c937fc9d312c0f49983 +SIZE (go-freebsd-386-go1.20.tar.xz) = 35448892 +SHA256 (go-freebsd-riscv64-go1.20.tar.xz) = 010921013d24124ff31f4b1965456349547acf936572fc6e0bcf95a0542794bd +SIZE (go-freebsd-riscv64-go1.20.tar.xz) = 33807544 diff --git a/lang/go123/files/patch-src_cmd_dist_build.go b/lang/go123/files/patch-src_cmd_dist_build.go new file mode 100644 index 000000000000..59fd0c6539f8 --- /dev/null +++ b/lang/go123/files/patch-src_cmd_dist_build.go @@ -0,0 +1,23 @@ +--- src/cmd/dist/build.go.orig 2024-03-29 15:27:02 UTC ++++ src/cmd/dist/build.go +@@ -891,6 +891,20 @@ func runInstall(pkg string, ch chan struct{}) { + asmArgs = append(asmArgs, "-D", "GOPPC64_power8") + } + } ++ if goarch == "arm" { ++ // Define GOARM_value from goarm, which can be either a version ++ // like "6", or a version and a FP mode, like "7,hardfloat". ++ switch { ++ case strings.Contains(goarm, "7"): ++ asmArgs = append(asmArgs, "-D", "GOARM_7") ++ fallthrough ++ case strings.Contains(goarm, "6"): ++ asmArgs = append(asmArgs, "-D", "GOARM_6") ++ fallthrough ++ default: ++ asmArgs = append(asmArgs, "-D", "GOARM_5") ++ } ++ } + goasmh := pathf("%s/go_asm.h", workdir) + + // Collect symabis from assembly code. diff --git a/lang/go123/files/patch-src_cmd_go_internal_modload_vendor.go b/lang/go123/files/patch-src_cmd_go_internal_modload_vendor.go new file mode 100644 index 000000000000..ba3f97226624 --- /dev/null +++ b/lang/go123/files/patch-src_cmd_go_internal_modload_vendor.go @@ -0,0 +1,11 @@ +--- src/cmd/go/internal/modload/vendor.go.orig 2024-02-02 18:09:55 UTC ++++ src/cmd/go/internal/modload/vendor.go +@@ -159,7 +159,7 @@ func checkVendorConsistency(indexes []*modFileIndex, m + panic(fmt.Errorf("not in workspace mode but number of indexes is %v, not 1", len(indexes))) + } + index := indexes[0] +- if gover.Compare(index.goVersion, "1.14") < 0 { ++ if gover.Compare(index.goVersion, "1.14") < 0 || os.Getenv("GO_NO_VENDOR_CHECKS") == "1" { + // Go versions before 1.14 did not include enough information in + // vendor/modules.txt to check for consistency. + // If we know that we're on an earlier version, relax the consistency check.