diff --git a/lang/go-devel/Makefile b/lang/go-devel/Makefile index 3d8664feae90..0882e9f806a0 100644 --- a/lang/go-devel/Makefile +++ b/lang/go-devel/Makefile @@ -1,148 +1,149 @@ PORTNAME= go -DISTVERSION?= g20230808 +DISTVERSION?= g20240208 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES?= https://github.com/dmgk/go-bootstrap/releases/download/${BOOTSTRAP_TAG}/:bootstrap \ LOCAL/dmgk:bootstrap PKGNAMESUFFIX= ${DISTVERSION:C/^g[0-9]+/-devel/:C/^([0-9]+)\.([0-9]+).*/\1\2/} DISTFILES?= go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-${BOOTSTRAP_TAG}.tar.xz:bootstrap MAINTAINER= go@FreeBSD.org COMMENT?= Go programming language (development version) WWW= https://golang.org LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE .ifdef QEMU_EMULATING IGNORE= fails to build with qemu-user-static .endif ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 riscv64 +BUILD_DEPENDS?= bash:shells/bash RUN_DEPENDS= ${RUN_DEPENDS_${ARCH}} # ld.bfd from devel/binutils is needed for working cgo on aarch64 RUN_DEPENDS_aarch64= binutils>0:devel/binutils TEST_DEPENDS= ${TEST_DEPENDS_${ARCH}} # ld.bfd from devel/binutils is needed for working cgo on aarch64 TEST_DEPENDS_aarch64= binutils>0:devel/binutils USES= cpe shebangfix CPE_VENDOR= golang .ifndef MASTERDIR USE_GITHUB= yes GH_ACCOUNT= golang -# go1.21.0 -GH_TAGNAME= c19c4c566c63818dfd059b352e52c4710eecf14d +# go1.22 +GH_TAGNAME= 20107e05a609b8f2e61a6b5e8dc258237ad046e7 .endif -SHEBANG_FILES= misc/wasm/go_js_wasm_exec \ - src/net/http/cgi/testdata/test.cgi +SHEBANG_FILES?= misc/wasm/go_js_wasm_exec misc/wasm/go_wasip1_wasm_exec SHEBANG_GLOB= *.bash *.pl *.sh # Upstream archive contains files with UTF-8 names EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 ${TAR} +BASH?= ${LOCALBASE}/bin/bash OPTIONS_DEFINE_i386= SOFTFLOAT OPTIONS_DEFAULT_amd64= V1 OPTIONS_SINGLE= ${OPTIONS_SINGLE_${ARCH}} OPTIONS_SINGLE_amd64= GOAMD64 OPTIONS_SINGLE_GOAMD64= V1 V2 V3 V4 SOFTFLOAT_DESC= Use soft float on non-SSE2 processors (Pentium 4 and older) SOFTFLOAT_VARS= GO386=softfloat V1_DESC= Use baseline x86-64 instruction set V1_VARS= GOAMD64=v1 V2_DESC= V1 instructions plus CMPXCHG16B, LAHF, SAHF, POPCNT, SSE* V2_VARS= GOAMD64=v2 V3_DESC= V2 instructions plus AVX*, BMI*, F16C, FMA, LZCNT, MOVBE, OSXSAVE V3_VARS= GOAMD64=v3 V4_DESC= V3 instructions plus AVX512* V4_VARS= GOAMD64=v4 BOOTSTRAP_TAG= go1.20 GO_SUFFIX= ${PKGNAMESUFFIX} GOARCH_aarch64= arm64 GOARCH_amd64= amd64 GOARCH_armv6= arm GOARCH_armv7= arm GOARCH_i386= 386 GOARCH_riscv64= riscv64 GOARM_armv6= 6 GOARM_armv7= 7 .include post-extract: @[ -z "${GH_TAGNAME}" ] || \ ${ECHO_CMD} "devel ${DISTVERSION}-${GH_TAGNAME} ${OPSYS:tl}/${GOARCH_${ARCH}}" > ${WRKSRC}/VERSION post-patch: @${REINPLACE_CMD} -e 's|type -ap |type |' ${WRKSRC}/src/make.bash @${REINPLACE_CMD} -e 's|^if ulimit -T|false \&\& &|' ${WRKSRC}/src/run.bash .if ${ARCH} != riscv64 pre-build: # Check that the running kernel has COMPAT_FREEBSD11 required by lang/go{,-devel} post-ino64 @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \ ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh .endif do-build: cd ${WRKSRC}/src ; ${SETENV} \ XDG_CACHE_HOME=${WRKDIR} \ GOROOT_BOOTSTRAP=${WRKDIR}/go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-bootstrap \ GOROOT=${WRKSRC} \ GOROOT_FINAL=${PREFIX}/go${GO_SUFFIX} \ GOBIN= \ GOOS=${OPSYS:tl} \ GOARCH=${GOARCH_${ARCH}} \ GO386=${GO386} \ GOARM=${GOARM_${ARCH}} \ GOAMD64=${GOAMD64} \ CC=${CC} \ - ${SH} make.bash -v + ${BASH} make.bash -v do-install: @cd ${WRKSRC} ; \ ${RM} -r .gitattributes .gitignore .github favicon.ico robots.txt \ pkg/obj pkg/bootstrap pkg/${OPSYS:tl}_${GOARCH_${ARCH}}/cmd @${MKDIR} ${STAGEDIR}${PREFIX}/go${GO_SUFFIX} @${CP} -a ${WRKSRC}/* ${STAGEDIR}${PREFIX}/go${GO_SUFFIX} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/go${GO_SUFFIX}/bin/* @${STRIP_CMD} ${STAGEDIR}${PREFIX}/go${GO_SUFFIX}/pkg/tool/${OPSYS:tl}_${GOARCH_${ARCH}}/* .for f in go gofmt ${LN} -sf ../go${GO_SUFFIX}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}${GO_SUFFIX} @${ECHO_CMD} bin/${f}${GO_SUFFIX} >> ${TMPPLIST} .endfor @cd ${STAGEDIR}${PREFIX} && ${FIND} go${GO_SUFFIX} -type f >> ${TMPPLIST} do-test: cd ${WRKSRC}/src && ${SETENV} \ GOROOT=${WRKSRC} \ PATH=${WRKSRC}/bin:${PATH} \ GOOS=${OPSYS:tl} \ GOARCH=${GOARCH_${ARCH}} \ GO386=${GO386} \ GOARM=${GOARM_${ARCH}} \ GOAMD64=${GOAMD64} \ CC=${CC} \ ${SH} run.bash -no-rebuild .if !defined(_GO_MAKESUM_GUARD) makesum: ${MAKE} -D_GO_MAKESUM_GUARD makesum ARCH=${ONLY_FOR_ARCHS:O:[1]} DISTINFO_FILE=${DISTINFO_FILE}.tmp .for arch in ${ONLY_FOR_ARCHS:O:[2..-1]} ${MAKE} -D_GO_MAKESUM_GUARD makesum ARCH=${arch} DISTINFO_FILE=${DISTINFO_FILE}.${arch} ${SED} 1d ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE}.tmp ${RM} ${DISTINFO_FILE}.${arch} .endfor ${AWK} '!seen[$$0]++' ${DISTINFO_FILE}.tmp > ${DISTINFO_FILE} ${RM} ${DISTINFO_FILE}.tmp .endif .include diff --git a/lang/go-devel/distinfo b/lang/go-devel/distinfo index 14509dc36995..5258ab2251ff 100644 --- a/lang/go-devel/distinfo +++ b/lang/go-devel/distinfo @@ -1,15 +1,15 @@ -TIMESTAMP = 1691753450 +TIMESTAMP = 1707649478 SHA256 (go-freebsd-arm64-go1.20.tar.xz) = 674e0a9bce8b64dcc085b000eb83ae880e96be1ee47dad6ec86c82dbe5550623 SIZE (go-freebsd-arm64-go1.20.tar.xz) = 32640640 -SHA256 (golang-go-g20230808-c19c4c566c63818dfd059b352e52c4710eecf14d_GH0.tar.gz) = 1f9ab60c3dba69e1f29ce2e20f0ccfa03e0c7d5106a66b874f881ddc432dde98 -SIZE (golang-go-g20230808-c19c4c566c63818dfd059b352e52c4710eecf14d_GH0.tar.gz) = 27148273 +SHA256 (golang-go-g20240208-20107e05a609b8f2e61a6b5e8dc258237ad046e7_GH0.tar.gz) = 61f4ed9886864b7b509bc981952f8fb7dbf68c31997af3f0dc1d1c12df53a1d4 +SIZE (golang-go-g20240208-20107e05a609b8f2e61a6b5e8dc258237ad046e7_GH0.tar.gz) = 27738771 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/go-devel/files/patch-src_cmd_go_internal_modload_vendor.go b/lang/go-devel/files/patch-src_cmd_go_internal_modload_vendor.go index 9d2288522539..ba3f97226624 100644 --- a/lang/go-devel/files/patch-src_cmd_go_internal_modload_vendor.go +++ b/lang/go-devel/files/patch-src_cmd_go_internal_modload_vendor.go @@ -1,11 +1,11 @@ ---- src/cmd/go/internal/modload/vendor.go.orig 2023-08-02 13:51:49 UTC +--- src/cmd/go/internal/modload/vendor.go.orig 2024-02-02 18:09:55 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. +@@ -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. diff --git a/lang/go120/Makefile b/lang/go120/Makefile index afcc7f35b4cd..8ef862e739c1 100644 --- a/lang/go120/Makefile +++ b/lang/go120/Makefile @@ -1,20 +1,25 @@ DISTVERSION= 1.20.14 # 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 +BUILD_DEPENDS= + MASTERDIR= ${.CURDIR}/../go-devel PATCHDIR= ${.CURDIR}/files WRKSRC= ${WRKDIR}/go DISTINFO_FILE= ${.CURDIR}/distinfo +SHEBANG_FILES= misc/wasm/go_js_wasm_exec \ + src/net/http/cgi/testdata/test.cgi +BASH= ${SH} .include "${MASTERDIR}/Makefile" diff --git a/lang/go121/Makefile b/lang/go121/Makefile index 9ca849394338..71bdd142905f 100644 --- a/lang/go121/Makefile +++ b/lang/go121/Makefile @@ -1,20 +1,25 @@ DISTVERSION= 1.21.7 # 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 +BUILD_DEPENDS= + MASTERDIR= ${.CURDIR}/../go-devel PATCHDIR= ${.CURDIR}/files WRKSRC= ${WRKDIR}/go DISTINFO_FILE= ${.CURDIR}/distinfo +SHEBANG_FILES= misc/wasm/go_js_wasm_exec \ + src/net/http/cgi/testdata/test.cgi +BASH= ${SH} .include "${MASTERDIR}/Makefile"