git: 62772751bed6 - main - lang/go122: New port: Go release, version 1.22

From: Ashish SHUKLA <ashish_at_FreeBSD.org>
Date: Tue, 20 Feb 2024 21:08:30 UTC
The branch main has been updated by ashish:

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

commit 62772751bed611b591c4500dc41ec4a323203307
Author:     Ashish SHUKLA <ashish@FreeBSD.org>
AuthorDate: 2024-02-11 10:42:41 +0000
Commit:     Ashish SHUKLA <ashish@FreeBSD.org>
CommitDate: 2024-02-20 21:08:00 +0000

    lang/go122: New port: Go release, version 1.22
    
    - Update Mk/* for Go 1.22
    
    PR:             277091
---
 Mk/Uses/go.mk                                         |  2 +-
 Mk/bsd.default-versions.mk                            |  2 +-
 lang/Makefile                                         |  1 +
 lang/go122/Makefile                                   | 19 +++++++++++++++++++
 lang/go122/distinfo                                   | 15 +++++++++++++++
 .../files/patch-src_cmd_go_internal_modload_vendor.go | 11 +++++++++++
 6 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/Mk/Uses/go.mk b/Mk/Uses/go.mk
index 76b664b7b9b8..95af91448885 100644
--- a/Mk/Uses/go.mk
+++ b/Mk/Uses/go.mk
@@ -60,7 +60,7 @@ _INCLUDE_USES_GO_MK=	yes
 
 # When adding a version, please keep the comment in
 # Mk/bsd.default-versions.mk in sync.
-GO_VALID_VERSIONS=	1.19 1.20 1.21 1.22-devel
+GO_VALID_VERSIONS=	1.19 1.20 1.21 1.22 1.23-devel
 
 # Check arguments sanity
 .  if !empty(go_ARGS:N[1-9].[0-9][0-9]:N*-devel:Nmodules:Nno_targets:Nrun)
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index 40ffd9a959b2..1c6c543aa599 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -63,7 +63,7 @@ GCC_DEFAULT?=		12
 GHOSTSCRIPT_DEFAULT?=	10
 # Possible values: mesa-libs, mesa-devel
 GL_DEFAULT?=		mesa-libs
-# Possible values: 1.19, 1.20, 1.21, 1.22-devel
+# Possible values: 1.19, 1.20, 1.21, 1.22, 1.23-devel
 GO_DEFAULT?=		1.20
 # Possible values: 1.8, 2.2, 3.0
 GUILE_DEFAULT?=		2.2
diff --git a/lang/Makefile b/lang/Makefile
index aa322c158c85..1c8fb4ab3312 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -120,6 +120,7 @@
     SUBDIR += go119
     SUBDIR += go120
     SUBDIR += go121
+    SUBDIR += go122
     SUBDIR += gomacro
     SUBDIR += gprolog
     SUBDIR += gravity
diff --git a/lang/go122/Makefile b/lang/go122/Makefile
new file mode 100644
index 000000000000..9178ebee1843
--- /dev/null
+++ b/lang/go122/Makefile
@@ -0,0 +1,19 @@
+DISTVERSION=	1.22.0
+# Always set PORTREVISION explicitly as otherwise they are inherited from lang/go-devel
+PORTREVISION=	0
+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=
+
+COMMENT=	Go programming language
+
+MASTERDIR=	${.CURDIR}/../go-devel
+WRKSRC=		${WRKDIR}/go
+DISTINFO_FILE=	${.CURDIR}/distinfo
+
+.include "${MASTERDIR}/Makefile"
diff --git a/lang/go122/distinfo b/lang/go122/distinfo
new file mode 100644
index 000000000000..32b767727c79
--- /dev/null
+++ b/lang/go122/distinfo
@@ -0,0 +1,15 @@
+TIMESTAMP = 1707648070
+SHA256 (go1.22.0.src.tar.gz) = 4d196c3d41a0d6c1dfc64d04e3cc1f608b0c436bd87b7060ce3e23234e1f4d5c
+SIZE (go1.22.0.src.tar.gz) = 27544122
+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/go122/files/patch-src_cmd_go_internal_modload_vendor.go b/lang/go122/files/patch-src_cmd_go_internal_modload_vendor.go
new file mode 100644
index 000000000000..ba3f97226624
--- /dev/null
+++ b/lang/go122/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.