diff --git a/lang/go-devel/Makefile b/lang/go-devel/Makefile index 18bed190c2cd..955752941efd 100644 --- a/lang/go-devel/Makefile +++ b/lang/go-devel/Makefile @@ -1,143 +1,152 @@ PORTNAME= go -DISTVERSION?= g20230112 +DISTVERSION?= g20230201 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 +ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 riscv64 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.20rc3 -GH_TAGNAME= b3160e8bcedb25c5266e047ada01b6f462521401 +# go1.20 +GH_TAGNAME= de4748c47c67392a57f250714509f590f68ad395 .endif SHEBANG_FILES= misc/wasm/go_js_wasm_exec \ src/net/http/cgi/testdata/test.cgi SHEBANG_GLOB= *.bash *.pl *.sh # Upstream archive contains files with UTF-8 names EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 ${TAR} 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.17.9 +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 + +.if ${ARCH} == riscv64 && ${OSREL:R} < 13 +IGNORE= go/riscv64 requires FreeBSD 13 or later +.endif + 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 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 +.include diff --git a/lang/go-devel/distinfo b/lang/go-devel/distinfo index 1b96bd20ce2e..1736d76e87e5 100644 --- a/lang/go-devel/distinfo +++ b/lang/go-devel/distinfo @@ -1,13 +1,15 @@ -TIMESTAMP = 1673795605 -SHA256 (go-freebsd-arm64-go1.17.9.tar.xz) = d9e9180bdc5ad0eec1654679a50084ebb31ecbe9bef24f0bd8ba917db8d1830c -SIZE (go-freebsd-arm64-go1.17.9.tar.xz) = 38572776 -SHA256 (golang-go-g20230112-b3160e8bcedb25c5266e047ada01b6f462521401_GH0.tar.gz) = 36ec32080e0ca03f38d768b5e7580aff18cddc148de13a49155ea1f696a5d63f -SIZE (golang-go-g20230112-b3160e8bcedb25c5266e047ada01b6f462521401_GH0.tar.gz) = 26086604 -SHA256 (go-freebsd-amd64-go1.17.9.tar.xz) = fd439ad091ed57d0ad728c05fc60465aad2e46e98da96e2d5b60b0c470f2efec -SIZE (go-freebsd-amd64-go1.17.9.tar.xz) = 41951936 -SHA256 (go-freebsd-arm6-go1.17.9.tar.xz) = ba24590b8cec761207eafc5a39c71b5b5041320c6fb0c95d35c123f6054f8d1c -SIZE (go-freebsd-arm6-go1.17.9.tar.xz) = 38938596 -SHA256 (go-freebsd-arm7-go1.17.9.tar.xz) = 9dc039278e174757962d100a227959037d4d7af18094af6433fa4d57cfa57e5f -SIZE (go-freebsd-arm7-go1.17.9.tar.xz) = 38862156 -SHA256 (go-freebsd-386-go1.17.9.tar.xz) = 74854fd9e7d596c6abb1ecd55707c58a2f4d6ee875376e26bb5519889507291b -SIZE (go-freebsd-386-go1.17.9.tar.xz) = 40566908 +TIMESTAMP = 1675339575 +SHA256 (go-freebsd-arm64-go1.20.tar.xz) = 674e0a9bce8b64dcc085b000eb83ae880e96be1ee47dad6ec86c82dbe5550623 +SIZE (go-freebsd-arm64-go1.20.tar.xz) = 32640640 +SHA256 (golang-go-g20230201-de4748c47c67392a57f250714509f590f68ad395_GH0.tar.gz) = 5fcebc8adbe308dda835dfcee83fff555000391b8c9a8594b86a7586789a7d6f +SIZE (golang-go-g20230201-de4748c47c67392a57f250714509f590f68ad395_GH0.tar.gz) = 26098076 +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