git: ab16dbb3c1ef - main - lang/go121: Add new port

From: Dmitri Goutnik <dmgk_at_FreeBSD.org>
Date: Sat, 12 Aug 2023 11:50:22 UTC
The branch main has been updated by dmgk:

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

commit ab16dbb3c1efbac1919c998041fd510bf7b7339b
Author:     Dmitri Goutnik <dmgk@FreeBSD.org>
AuthorDate: 2023-08-12 11:27:06 +0000
Commit:     Dmitri Goutnik <dmgk@FreeBSD.org>
CommitDate: 2023-08-12 11:39:19 +0000

    lang/go121: Add new port
    
    Add new port for the latest Go release, version 1.21.
    
    Changes:        https://go.dev/doc/go1.21
---
 lang/Makefile                                        |  1 +
 lang/go121/Makefile                                  | 20 ++++++++++++++++++++
 lang/go121/distinfo                                  | 15 +++++++++++++++
 .../patch-src_cmd_go_internal_modload_vendor.go      | 11 +++++++++++
 4 files changed, 47 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index cfe970787265..8c29734eedbc 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -123,6 +123,7 @@
     SUBDIR += go-devel
     SUBDIR += go119
     SUBDIR += go120
+    SUBDIR += go121
     SUBDIR += gomacro
     SUBDIR += gprolog
     SUBDIR += gravity
diff --git a/lang/go121/Makefile b/lang/go121/Makefile
new file mode 100644
index 000000000000..649810a31702
--- /dev/null
+++ b/lang/go121/Makefile
@@ -0,0 +1,20 @@
+DISTVERSION=	1.21.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
+PATCHDIR=	${.CURDIR}/files
+WRKSRC=		${WRKDIR}/go
+DISTINFO_FILE=	${.CURDIR}/distinfo
+
+.include "${MASTERDIR}/Makefile"
diff --git a/lang/go121/distinfo b/lang/go121/distinfo
new file mode 100644
index 000000000000..3d749d7b2586
--- /dev/null
+++ b/lang/go121/distinfo
@@ -0,0 +1,15 @@
+TIMESTAMP = 1691752848
+SHA256 (go1.21.0.src.tar.gz) = 818d46ede85682dd551ad378ef37a4d247006f12ec59b5b755601d2ce114369a
+SIZE (go1.21.0.src.tar.gz) = 26942359
+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/go121/files/patch-src_cmd_go_internal_modload_vendor.go b/lang/go121/files/patch-src_cmd_go_internal_modload_vendor.go
new file mode 100644
index 000000000000..9d2288522539
--- /dev/null
+++ b/lang/go121/files/patch-src_cmd_go_internal_modload_vendor.go
@@ -0,0 +1,11 @@
+--- src/cmd/go/internal/modload/vendor.go.orig	2023-08-02 13:51:49 UTC
++++ src/cmd/go/internal/modload/vendor.go
+@@ -144,7 +144,7 @@ func checkVendorConsistency(index *modFileIndex, modFi
+ 	readVendorList(MainModules.mustGetSingleMainModule())
+ 
+ 	pre114 := false
+-	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.