diff options
-rw-r--r-- | Mk/Uses/go.mk | 2 | ||||
-rw-r--r-- | Mk/bsd.default-versions.mk | 2 | ||||
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/go124/Makefile | 29 | ||||
-rw-r--r-- | lang/go124/distinfo | 13 | ||||
-rw-r--r-- | lang/go124/files/patch-src_cmd_dist_build.go | 23 | ||||
-rw-r--r-- | lang/go124/files/patch-src_cmd_go_internal_modload_vendor.go | 11 |
7 files changed, 79 insertions, 2 deletions
diff --git a/Mk/Uses/go.mk b/Mk/Uses/go.mk index d7e932daee73..421fd310847f 100644 --- a/Mk/Uses/go.mk +++ b/Mk/Uses/go.mk @@ -70,7 +70,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.20 1.21 1.22 1.23 1.24-devel +GO_VALID_VERSIONS= 1.20 1.21 1.22 1.23 1.24 1.25-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 ce77f2597d4d..3272419f22e5 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -63,7 +63,7 @@ GCC_DEFAULT?= 13 GHOSTSCRIPT_DEFAULT?= 10 # Possible values: mesa-libs, mesa-devel GL_DEFAULT?= mesa-libs -# Possible values: 1.20, 1.21, 1.22, 1.23, 1.24-devel +# Possible values: 1.20, 1.21, 1.22, 1.23, 1.24, 1.25-devel GO_DEFAULT?= 1.21 # Possible values: 1.8, 2.2, 3.0 GUILE_DEFAULT?= 2.2 diff --git a/lang/Makefile b/lang/Makefile index 989ccb51f2d8..c1c3e20f5e8f 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -124,6 +124,7 @@ SUBDIR += go121 SUBDIR += go122 SUBDIR += go123 + SUBDIR += go124 SUBDIR += gomacro SUBDIR += gprolog SUBDIR += gptscript diff --git a/lang/go124/Makefile b/lang/go124/Makefile new file mode 100644 index 000000000000..451733d48ec8 --- /dev/null +++ b/lang/go124/Makefile @@ -0,0 +1,29 @@ +DISTVERSION= 1.24.1 +# Always set PORTREVISION explicitly as otherwise they are inherited from lang/go-devel +PORTREVISION= 0 +MASTER_SITES= https://golang.org/dl/ +DISTFILES= go${DISTVERSION}.src.tar.gz \ + go1.23.7.${OPSYS:tl}-${GOARCH_${ARCH}}.tar.gz + +# Avoid conflicting patch files +PATCHFILES= +PATCHDIR= ${.CURDIR}/files + +COMMENT= Go programming language + +MASTERDIR= ${.CURDIR}/../go-devel +WRKSRC= ${WRKDIR}/go +DISTINFO_FILE= ${.CURDIR}/distinfo +EXTRACT_ONLY= ${DISTFILES:[1]} + +SHEBANG_FILES= lib/wasm/go_js_wasm_exec lib/wasm/go_wasip1_wasm_exec + +BOOTSTRAP_WRKSRC= ${WRKDIR}/go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-bootstrap + +pre-extract: + ${MKDIR} ${BOOTSTRAP_WRKSRC} + cd ${BOOTSTRAP_WRKSRC} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \ + ${DISTDIR}/${DIST_SUBDIR}/${DISTFILES:[2]} \ + --strip-components 1 ${EXTRACT_AFTER_ARGS} + +.include "${MASTERDIR}/Makefile" diff --git a/lang/go124/distinfo b/lang/go124/distinfo new file mode 100644 index 000000000000..e925427e56c7 --- /dev/null +++ b/lang/go124/distinfo @@ -0,0 +1,13 @@ +TIMESTAMP = 1741278429 +SHA256 (go1.24.1.src.tar.gz) = 8244ebf46c65607db10222b5806aeb31c1fcf8979c1b6b12f60c677e9a3c0656 +SIZE (go1.24.1.src.tar.gz) = 30777528 +SHA256 (go1.23.7.freebsd-arm64.tar.gz) = 2b51c940898fad6708609495b9a27b5869cf5195381fc4a31a013006aa4eb156 +SIZE (go1.23.7.freebsd-arm64.tar.gz) = 69903435 +SHA256 (go1.23.7.freebsd-amd64.tar.gz) = c0e7a5ff1875eb79d7c2acfa1616718ad892c0b2637d56594fdc3332e313efd4 +SIZE (go1.23.7.freebsd-amd64.tar.gz) = 73332706 +SHA256 (go1.23.7.freebsd-arm.tar.gz) = 311e69d052bb732bca74cb64cba2d7d648e9af7a5c5d0c5e84a11efb77d287d0 +SIZE (go1.23.7.freebsd-arm.tar.gz) = 71226717 +SHA256 (go1.23.7.freebsd-386.tar.gz) = 4bc9c3583236b13a9f1ec22c133fe4436714d56ebc0ee96733d4f6f0eb3c7ae1 +SIZE (go1.23.7.freebsd-386.tar.gz) = 71152629 +SHA256 (go1.23.7.freebsd-riscv64.tar.gz) = ab00bd1b61491be2d60ff41a88b3e59d812236484eaf6232513985a1287693ba +SIZE (go1.23.7.freebsd-riscv64.tar.gz) = 70515235 diff --git a/lang/go124/files/patch-src_cmd_dist_build.go b/lang/go124/files/patch-src_cmd_dist_build.go new file mode 100644 index 000000000000..59fd0c6539f8 --- /dev/null +++ b/lang/go124/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/go124/files/patch-src_cmd_go_internal_modload_vendor.go b/lang/go124/files/patch-src_cmd_go_internal_modload_vendor.go new file mode 100644 index 000000000000..ba3f97226624 --- /dev/null +++ b/lang/go124/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. |