git: 968bde747161 - main - lang/go120: Add new port

From: Dmitri Goutnik <dmgk_at_FreeBSD.org>
Date: Thu, 02 Feb 2023 13:47:39 UTC
The branch main has been updated by dmgk:

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

commit 968bde747161c25ad6335b131043dcf54b2ebf43
Author:     Dmitri Goutnik <dmgk@FreeBSD.org>
AuthorDate: 2023-02-02 12:09:18 +0000
Commit:     Dmitri Goutnik <dmgk@FreeBSD.org>
CommitDate: 2023-02-02 13:47:28 +0000

    lang/go120: Add new port
    
    Add new port for the latest Go release, version 1.20.
    
    Release notes:  https://go.dev/doc/go1.20
---
 lang/Makefile                                        |  1 +
 lang/go120/Makefile                                  | 20 ++++++++++++++++++++
 lang/go120/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 273d8450ab3f..bcbb038491a4 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -120,6 +120,7 @@
     SUBDIR += go-devel
     SUBDIR += go118
     SUBDIR += go119
+    SUBDIR += go120
     SUBDIR += gomacro
     SUBDIR += gprolog
     SUBDIR += gravity
diff --git a/lang/go120/Makefile b/lang/go120/Makefile
new file mode 100644
index 000000000000..ee756ed3a668
--- /dev/null
+++ b/lang/go120/Makefile
@@ -0,0 +1,20 @@
+DISTVERSION=	1.20
+# 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/go120/distinfo b/lang/go120/distinfo
new file mode 100644
index 000000000000..3af9c460c589
--- /dev/null
+++ b/lang/go120/distinfo
@@ -0,0 +1,15 @@
+TIMESTAMP = 1675339688
+SHA256 (go1.20.src.tar.gz) = 3a29ff0421beaf6329292b8a46311c9fbf06c800077ceddef5fb7f8d5b1ace33
+SIZE (go1.20.src.tar.gz) = 26163076
+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/go120/files/patch-src_cmd_go_internal_modload_vendor.go b/lang/go120/files/patch-src_cmd_go_internal_modload_vendor.go
new file mode 100644
index 000000000000..721bed32419f
--- /dev/null
+++ b/lang/go120/files/patch-src_cmd_go_internal_modload_vendor.go
@@ -0,0 +1,11 @@
+--- src/cmd/go/internal/modload/vendor.go.orig	2020-12-17 16:03:19 UTC
++++ src/cmd/go/internal/modload/vendor.go
+@@ -133,7 +133,7 @@ func checkVendorConsistency() {
+ 	readVendorList()
+ 
+ 	pre114 := false
+-	if semver.Compare(index.goVersionV, "v1.14") < 0 {
++	if semver.Compare(index.goVersionV, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
+ 		// 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.