git: f4b88cbec33d - main - lang/go123: Add port

From: Adam Weinberger <adamw_at_FreeBSD.org>
Date: Sun, 08 Sep 2024 16:06:02 UTC
The branch main has been updated by adamw:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f4b88cbec33d76136715e807763824b4fdb7bb42

commit f4b88cbec33d76136715e807763824b4fdb7bb42
Author:     Adam Weinberger <adamw@FreeBSD.org>
AuthorDate: 2024-09-08 16:02:37 +0000
Commit:     Adam Weinberger <adamw@FreeBSD.org>
CommitDate: 2024-09-08 16:02:37 +0000

    lang/go123: Add port
    
    Simple copy from lang/go122.
    
    PR:             280963
    Reported by:    yuri
---
 lang/go123/Makefile                                | 19 ++++++++++++++++++
 lang/go123/distinfo                                | 15 ++++++++++++++
 lang/go123/files/patch-src_cmd_dist_build.go       | 23 ++++++++++++++++++++++
 .../patch-src_cmd_go_internal_modload_vendor.go    | 11 +++++++++++
 4 files changed, 68 insertions(+)

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.