Changeset View
Changeset View
Standalone View
Standalone View
lang/go-devel/Makefile
# Created by: Devon H. O'Dell <devon.odell@gmail.com> | # Created by: Devon H. O'Dell <devon.odell@gmail.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= go | |||||
PORTVERSION= g20200408 | PORTVERSION= g20200408 | ||||
CATEGORIES= lang | # Always set PORTREVISION and PORTEPOCH explicitly as otherwise it is inherited from lang/go | ||||
PORTREVISION= 1 | |||||
PORTEPOCH= 0 | |||||
MASTER_SITES= https://github.com/dmgk/go-bootstrap/releases/download/${BOOTSTRAP_TAG}/:bootstrap \ | MASTER_SITES= https://github.com/dmgk/go-bootstrap/releases/download/${BOOTSTRAP_TAG}/:bootstrap \ | ||||
LOCAL/dmgk:bootstrap | LOCAL/dmgk:bootstrap | ||||
PKGNAMESUFFIX= -devel | PKGNAMESUFFIX= -devel | ||||
DISTFILES= go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-${BOOTSTRAP_TAG}.tar.xz:bootstrap | DISTFILES= go-${OPSYS:tl}-${GOARCH_${ARCH}}${GOARM_${ARCH}}-${BOOTSTRAP_TAG}.tar.xz:bootstrap | ||||
MAINTAINER= dmgk@FreeBSD.org | |||||
COMMENT= Go programming language (development version) | COMMENT= Go programming language (development version) | ||||
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 | |||||
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 | |||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_ACCOUNT= golang | GH_ACCOUNT= golang | ||||
GH_TAGNAME= 96745b980cfde139e8611772e2bc0c59a8e6cdf7 | GH_TAGNAME= 96745b980cfde139e8611772e2bc0c59a8e6cdf7 | ||||
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} | |||||
CONFLICTS_INSTALL= go | CONFLICTS_INSTALL= go | ||||
# Upstream archive contains files with UTF-8 names | MASTERDIR= ${.CURDIR}/../go | ||||
EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 ${TAR} | PATCHDIR= ${.CURDIR}/files | ||||
DISTINFO_FILE= ${.CURDIR}/distinfo | |||||
OPTIONS_DEFINE_i386= GO387 | post-extract: | ||||
@[ -f ${WRKSRC}/VERSION ] || ${ECHO_CMD} "devel +${GH_TAGNAME}" > ${WRKSRC}/VERSION | |||||
GO387_DESC= Do not generate code with SSE2 (for old x86 CPU) | .include "${MASTERDIR}/Makefile" | ||||
GO387_VARS= GO386=387 | |||||
BINARIES= go gofmt | |||||
BOOTSTRAP_TAG= go1.14 | |||||
GOARCH_aarch64= arm64 | |||||
GOARCH_amd64= amd64 | |||||
GOARCH_armv6= arm | |||||
GOARCH_armv7= arm | |||||
GOARCH_i386= 386 | |||||
GOARM_armv6= 6 | |||||
GOARM_armv7= 7 | |||||
.include <bsd.port.pre.mk> | |||||
.if ${ARCH} == aarch64 && ${OSVERSION} < 1200000 | |||||
IGNORE= aarch64 support requires FreeBSD 12.0 or newer | |||||
.endif | |||||
post-patch: | |||||
@${REINPLACE_CMD} -e 's|^if ulimit -T|false \&\& &|' ${WRKSRC}/src/run.bash | |||||
# Needed only for untagged releases | |||||
# ${ECHO_CMD} "devel +${GH_TAGNAME}" > ${WRKSRC}/VERSION | |||||
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 ; ${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 | |||||
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 | |||||
@${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 && ${SETENV} \ | |||||
GOROOT=${WRKSRC} \ | |||||
PATH=${WRKSRC}/bin:${PATH} \ | |||||
GOOS=${OPSYS:tl} \ | |||||
GOARCH=${GOARCH_${ARCH}} \ | |||||
GO386=${GO386} \ | |||||
GOARM=${GOARM_${ARCH}} \ | |||||
${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 <bsd.port.post.mk> |