3a8354a239
Full release notes at https://golang.org/doc/go1.10. The latest Go release, version 1.10, arrives six months after Go 1.9. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. This release improves caching of built packages, adds caching of successful test results, runs vet automatically during tests, and permits passing string values directly between Go and C using cgo. A new compiler option whitelist may cause unexpected invalid flag errors in code that built successfully with older releases. As announced in the Go 1.9 release notes, Go 1.10 now requires FreeBSD 10.3 or later; support for FreeBSD 9.3 has been removed. Go now runs on NetBSD again but requires the unreleased NetBSD 8. Only GOARCH amd64 and 386 have been fixed. The arm port is still broken. On 32-bit MIPS systems, the new environment variable settings GOMIPS=hardfloat (the default) and GOMIPS=softfloat select whether to use hardware instructions or software emulation for floating-point computations. Go 1.10 is the last release that will run on OpenBSD 6.0. Go 1.11 will require OpenBSD 6.2. Go 1.10 is the last release that will run on OS X 10.8 Mountain Lion or OS X 10.9 Mavericks. Go 1.11 will require OS X 10.10 Yosemite or later. Go 1.10 is the last release that will run on Windows XP or Windows Vista. Go 1.11 will require Windows 7 or later.
112 lines
3.4 KiB
Makefile
112 lines
3.4 KiB
Makefile
# $NetBSD: Makefile,v 1.62 2018/03/04 12:54:06 bsiegert Exp $
|
|
|
|
.include "version.mk"
|
|
|
|
DISTNAME= go${GO_VERSION}.src
|
|
PKGNAME= go-${GO_VERSION}
|
|
CATEGORIES= lang
|
|
MASTER_SITES= https://storage.googleapis.com/golang/
|
|
EXTRACT_USING= bsdtar
|
|
|
|
MAINTAINER= bsiegert@NetBSD.org
|
|
HOMEPAGE= http://golang.org/
|
|
COMMENT= The Go programming language
|
|
LICENSE= modified-bsd
|
|
|
|
WRKSRC= ${WRKDIR}/go
|
|
USE_TOOLS+= bash:run perl:run pax
|
|
|
|
# uses ulimit -T
|
|
# BUILD_DEPENDS+= bash>=4.2nb3:../../shells/bash
|
|
|
|
# cgo compiles under TMPDIR
|
|
TMPDIR?= /tmp
|
|
BUILDLINK_PASSTHRU_DIRS+= ${TMPDIR}
|
|
|
|
GOROOT_FINAL= ${PREFIX}/go
|
|
INSTALLATION_DIRS= bin
|
|
|
|
REPLACE_BASH+= doc/articles/wiki/test.bash
|
|
REPLACE_BASH+= doc/codewalk/run
|
|
REPLACE_BASH+= lib/time/update.bash
|
|
REPLACE_BASH+= misc/arm/a
|
|
REPLACE_BASH+= misc/benchcmp
|
|
REPLACE_BASH+= misc/cgo/fortran/test.bash
|
|
REPLACE_BASH+= misc/cgo/testgodefs/test.bash
|
|
REPLACE_BASH+= misc/cgo/testplugin/test.bash
|
|
REPLACE_BASH+= misc/nacl/go_nacl_386_exec
|
|
REPLACE_BASH+= misc/nacl/go_nacl_amd64p32_exec
|
|
REPLACE_BASH+= misc/nacl/go_nacl_arm_exec
|
|
REPLACE_BASH+= src/all.bash
|
|
REPLACE_BASH+= src/androidtest.bash
|
|
REPLACE_BASH+= src/bootstrap.bash
|
|
REPLACE_BASH+= src/buildall.bash
|
|
REPLACE_BASH+= src/clean.bash
|
|
REPLACE_BASH+= src/cmd/go/mkalldocs.sh
|
|
REPLACE_BASH+= src/cmd/vendor/github.com/google/pprof/test.sh
|
|
REPLACE_BASH+= src/internal/trace/mkcanned.bash
|
|
REPLACE_BASH+= src/iostest.bash
|
|
REPLACE_BASH+= src/make.bash
|
|
REPLACE_BASH+= src/naclmake.bash
|
|
REPLACE_BASH+= src/nacltest.bash
|
|
REPLACE_BASH+= src/race.bash
|
|
REPLACE_BASH+= src/run.bash
|
|
REPLACE_BASH+= src/runtime/mknacl.sh
|
|
REPLACE_BASH+= src/syscall/mkall.sh
|
|
REPLACE_BASH+= src/syscall/mkerrors.sh
|
|
REPLACE_BASH+= src/syscall/mksysnum_plan9.sh
|
|
|
|
REPLACE_PERL+= src/net/http/cgi/testdata/test.cgi
|
|
REPLACE_PERL+= src/regexp/syntax/make_perl_groups.pl
|
|
REPLACE_PERL+= src/syscall/*.pl
|
|
REPLACE_PERL+= test/errchk
|
|
|
|
# uses own linker, which does not support relro on NetBSD
|
|
CHECK_RELRO_SKIP+= go/bin/go
|
|
CHECK_RELRO_SKIP+= go/bin/gofmt
|
|
CHECK_RELRO_SKIP+= go/pkg/bootstrap/bin/asm
|
|
CHECK_RELRO_SKIP+= go/pkg/bootstrap/bin/compile
|
|
CHECK_RELRO_SKIP+= go/pkg/bootstrap/bin/link
|
|
# also does not support SSP at this time
|
|
CHECK_SSP_SKIP= ${CHECK_RELRO_SKIP}
|
|
CHECK_SSP_SKIP+= go/pkg/bootstrap/bin/cgo
|
|
|
|
# uses /bin/rc (for Plan 9)
|
|
CHECK_INTERPRETER_SKIP+= go/include/plan9/mklibc.rc
|
|
CHECK_INTERPRETER_SKIP+= go/src/all.rc
|
|
CHECK_INTERPRETER_SKIP+= go/src/clean.rc
|
|
CHECK_INTERPRETER_SKIP+= go/src/make.rc
|
|
CHECK_INTERPRETER_SKIP+= go/src/run.rc
|
|
|
|
BUILD_DEPENDS+= go14-1.4*:../../lang/go14
|
|
GOROOT_BOOTSTRAP= ${PREFIX}/go14
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
PLIST_VARS+= pty route
|
|
|
|
.if ${OPSYS} != "SunOS"
|
|
PLIST.pty= yes
|
|
.endif
|
|
|
|
.if ${OPSYS} != "Linux" && ${OPSYS} != "SunOS"
|
|
PLIST.route= yes
|
|
.endif
|
|
|
|
do-build:
|
|
cd ${WRKSRC}/src && env GOROOT_BOOTSTRAP=${GOROOT_BOOTSTRAP:Q} GOROOT_FINAL=${GOROOT_FINAL:Q} ${GOOPT} ${BASH} ./make.bash
|
|
# for RELRO build:
|
|
# cd ${WRKSRC}/src && env GOROOT_BOOTSTRAP=${GOROOT_BOOTSTRAP:Q} GOROOT_FINAL=${GOROOT_FINAL:Q} GO_LDFLAGS="-buildmode=pie" ${GOOPT} ${BASH} ./make.bash
|
|
|
|
do-install:
|
|
cd ${WRKSRC} && rm -rf .hgignore .hgtags pkg/obj
|
|
cd ${WRKDIR} && pax -rw go ${DESTDIR}${PREFIX}
|
|
find ${DESTDIR}${PREFIX}/go -name \*.orig -exec rm {} \;
|
|
.for cmd in go gofmt
|
|
cd ${DESTDIR}${PREFIX}/bin && ln -sf ../go/bin/${cmd} ${cmd}
|
|
.endfor
|
|
|
|
do-test:
|
|
cd ${WRKSRC}/src && GOROOT=${WRKSRC} PATH=${WRKSRC}/bin:${PATH} ${GOOPT} ${BASH} run.bash --no-rebuild --banner ""
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|