svn commit: r527627 - head/lang/go
Dmitri Goutnik
dmgk at FreeBSD.org
Mon Mar 2 12:34:25 UTC 2020
Author: dmgk
Date: Mon Mar 2 12:34:25 2020
New Revision: 527627
URL: https://svnweb.freebsd.org/changeset/ports/527627
Log:
lang/go: Switch to the new bootstrap, add aarch64 support
PR: 244494
Reviewed by: tobik, mikael
Approved by: jlaffaye (maintainer timeout, >1 month)
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D23151
Deleted:
head/lang/go/pkg-plist
Modified:
head/lang/go/Makefile
head/lang/go/distinfo
Modified: head/lang/go/Makefile
==============================================================================
--- head/lang/go/Makefile Mon Mar 2 12:19:53 2020 (r527626)
+++ head/lang/go/Makefile Mon Mar 2 12:34:25 2020 (r527627)
@@ -3,90 +3,126 @@
PORTNAME= go
PORTVERSION= 1.14
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= lang
-MASTER_SITES= https://golang.org/dl/
-DISTNAME= go${PORTVERSION}.src
+MASTER_SITES= https://golang.org/dl/ \
+ https://github.com/dmgk/go-bootstrap/releases/download/${BOOTSTRAP_TAG}/:bootstrap \
+ LOCAL/dmgk:bootstrap
+DISTFILES= go${PORTVERSION}.src.tar.gz \
+ go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-${BOOTSTRAP_TAG}.tar.xz:bootstrap
MAINTAINER= jlaffaye at FreeBSD.org
COMMENT= Go programming language
LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= go14>=1.4:lang/go14
+.ifdef QEMU_EMULATING
+IGNORE= fails to build with qemu-user-static
+.endif
+ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386
+
+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}}
+TEST_DEPENDS_aarch64= binutils>0:devel/binutils
+
USES= shebangfix
-SHEBANG_LANG= sh perl
+
SHEBANG_FILES= misc/wasm/go_js_wasm_exec \
src/net/http/cgi/testdata/test.cgi
SHEBANG_GLOB= *.bash *.pl *.sh
-
sh_OLD_CMD= /bin/bash "/usr/bin/env bash"
sh_CMD= ${SH}
-WRKSRC= ${WRKDIR}/go
-ONLY_FOR_ARCHS= i386 amd64 armv6 armv7
-
CONFLICTS_INSTALL= go-devel
+# Upstream archive contains files with UTF-8 names
+EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 ${TAR}
+
+WRKSRC= ${WRKDIR}/go
+
OPTIONS_DEFINE_i386= GO387
+
GO387_DESC= Do not generate code with SSE2 (for old x86 CPU)
-.include <bsd.port.pre.mk>
+GO387_VARS= GO386=387
-.if ${ARCH} == i386
-GOARCH=386
-.elif ${ARCH} == "amd64"
-GOARCH=amd64
-.elif ${ARCH} == armv6 || ${ARCH} == armv7
-GOARCH=arm
-GOARM=${ARCH:C/armv//}
-.else
-IGNORE= unknown arch ${ARCH}
-.endif
+BINARIES= go gofmt
+BOOTSTRAP_TAG= go1.14beta1
-.ifdef QEMU_EMULATING
-IGNORE= fails to build with qemu-user-static
-.endif
+GOARCH_aarch64= arm64
+GOARCH_amd64= amd64
+GOARCH_armv6= arm
+GOARCH_armv7= arm
+GOARCH_i386= 386
-.if ${PORT_OPTIONS:MGO387}
-GO386=387
-.endif
+GOARM_armv6= 6
+GOARM_armv7= 7
-PLIST_SUB+= opsys_ARCH=${OPSYS:tl}_${GOARCH}
+.include <bsd.port.pre.mk>
+.if ${ARCH} == aarch64 && ${OSVERSION} < 1200000
+IGNORE= aarch64 support requires FreeBSD 12.0 or newer
+.endif
+
post-patch:
- @cd ${WRKSRC} && ${FIND} . -name '*.orig' -delete
@${REINPLACE_CMD} -e 's|^if ulimit -T|false \&\& &|' ${WRKSRC}/src/run.bash
+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
+
do-build:
- cd ${WRKSRC}/src && \
- GOROOT=${WRKSRC} GOROOT_FINAL=${PREFIX}/go \
- GOROOT_BOOTSTRAP=${LOCALBASE}/go14 \
- GOBIN= GOARCH=${GOARCH} GOOS=${OPSYS:tl} \
- GO386=${GO386} GOARM=${GOARM} CGO_ENABLED=1 \
+ 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 \
+ GOBIN= \
+ GOOS=${OPSYS:tl} \
+ GOARCH=${GOARCH_${ARCH}} \
+ GO386=${GO386} \
+ GOARM=${GOARM_${ARCH}} \
${SH} make.bash -v
- ${RM} -r ${WRKSRC}/pkg/obj \
- ${WRKSRC}/pkg/bootstrap \
- ${WRKSRC}/pkg/${OPSYS:tl}_${GOARCH}/cmd
do-install:
- @${CP} -a ${WRKSRC} ${STAGEDIR}${PREFIX}
-.for f in go gofmt
- @${LN} -sf ../go/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}
+ @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
+ @${CP} -a ${WRKSRC}/* ${STAGEDIR}${PREFIX}/go
+.for file in ${BINARIES}
+ @${LN} -sf ../go/bin/${file} ${STAGEDIR}${PREFIX}/bin/${file}
+ @${ECHO_CMD} bin/${file} >> ${TMPPLIST}
.endfor
+ @cd ${STAGEDIR}${PREFIX} && ${FIND} go -type f >> ${TMPPLIST}
do-test:
- cd ${WRKSRC}/src && GOROOT=${WRKSRC} PATH=${WRKSRC}/bin:${PATH} ${SH} run.bash -no-rebuild -banner ""
+ cd ${WRKSRC}/src && ${SETENV} \
+ GOROOT=${WRKSRC} \
+ PATH=${WRKSRC}/bin:${PATH} \
+ GOOS=${OPSYS:tl} \
+ GOARCH=${GOARCH_${ARCH}} \
+ GO386=${GO386} \
+ GOARM=${GOARM_${ARCH}} \
+ ${SH} run.bash -no-rebuild
-pkg-plist: stage
- ${RM} ${WRKDIR}/pkg-plist
-.for command in go gofmt
- ${ECHO_CMD} bin/${command} >> ${WRKDIR}/pkg-plist
+.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
- cd ${WRKDIR} && ${FIND} go -type f | \
- ${SED} -e "s/\/${OPSYS:tl}_${GOARCH}\//\/%%opsys_ARCH%%\//g" | \
- ${SORT} >> ${WRKDIR}/pkg-plist
- ${CP} ${WRKDIR}/pkg-plist ${.CURDIR}/pkg-plist
+ ${AWK} '!seen[$$0]++' ${DISTINFO_FILE}.tmp > ${DISTINFO_FILE}
+ ${RM} ${DISTINFO_FILE}.tmp
+.endif
.include <bsd.port.post.mk>
Modified: head/lang/go/distinfo
==============================================================================
--- head/lang/go/distinfo Mon Mar 2 12:19:53 2020 (r527626)
+++ head/lang/go/distinfo Mon Mar 2 12:34:25 2020 (r527627)
@@ -1,3 +1,13 @@
-TIMESTAMP = 1582668988
+TIMESTAMP = 1582719020
SHA256 (go1.14.src.tar.gz) = 6d643e46ad565058c7a39dac01144172ef9bd476521f42148be59249e4b74389
SIZE (go1.14.src.tar.gz) = 22377333
+SHA256 (go-freebsd-arm64-go1.14beta1.tar.xz) = 89104218da76ca4b0f2ede6523ff579db0a2a15695c77041896cb213d0f8dfa2
+SIZE (go-freebsd-arm64-go1.14beta1.tar.xz) = 33577440
+SHA256 (go-freebsd-amd64-go1.14beta1.tar.xz) = 41412e4f87110fa9dd1702899e7f292267f8c62e16641a21fc780308c772a24a
+SIZE (go-freebsd-amd64-go1.14beta1.tar.xz) = 35668144
+SHA256 (go-freebsd-arm6-go1.14beta1.tar.xz) = 4076a0c5b337564b10f75c33e3a4f9369d66a44edc94fec038a4ae4dd2aac4e0
+SIZE (go-freebsd-arm6-go1.14beta1.tar.xz) = 33928624
+SHA256 (go-freebsd-arm7-go1.14beta1.tar.xz) = bd35b8db5eb756cbaede8b3b1219ad55d5e9fa3b6917856c2824b8dc0805f0f3
+SIZE (go-freebsd-arm7-go1.14beta1.tar.xz) = 33800908
+SHA256 (go-freebsd-386-go1.14beta1.tar.xz) = ff706ec4ca7a730e62ce58be31993cc129b2b0ab3e7c7a2e109da60e99fb2f61
+SIZE (go-freebsd-386-go1.14beta1.tar.xz) = 35961496
More information about the svn-ports-all
mailing list