diff options
author | bsiegert <bsiegert@pkgsrc.org> | 2018-09-18 16:22:14 +0000 |
---|---|---|
committer | bsiegert <bsiegert@pkgsrc.org> | 2018-09-18 16:22:14 +0000 |
commit | ef23bce92f5f9311f623021468267daf28cff3df (patch) | |
tree | 1371592e2db448571d2ed91c32d555fc35aa8cbc /lang/go111/Makefile | |
parent | c7fac2f23b4373cc54873da611722a4806a8611a (diff) | |
download | pkgsrc-ef23bce92f5f9311f623021468267daf28cff3df.tar.gz |
Add Go 1.11 as lang/go111.
This installs the go tool as go111; all the supporting files go under
$PREFIX/go111, so it does not conflict with other Go versions. Go packages
in pkgsrc do not use it to build yet.
Changes:
There are many changes and improvements to the toolchain, runtime, and
libraries, but two features stand out as being especially exciting: modules
and WebAssembly support.
This release adds preliminary support for a new concept called "modules," an
alternative to GOPATH with integrated support for versioning and package
distribution. Module support is considered experimental, and there are still
a few rough edges to smooth out, so please make liberal use of the issue
tracker.
Go 1.11 also adds an experimental port to WebAssembly (js/wasm). This allows
programmers to compile Go programs to a binary format compatible with four
major web browsers.
Diffstat (limited to 'lang/go111/Makefile')
-rw-r--r-- | lang/go111/Makefile | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/lang/go111/Makefile b/lang/go111/Makefile new file mode 100644 index 00000000000..d6a58c91cba --- /dev/null +++ b/lang/go111/Makefile @@ -0,0 +1,115 @@ +# $NetBSD: Makefile,v 1.1 2018/09/18 16:22:14 bsiegert Exp $ + +.include "../../lang/go/version.mk" + +DISTNAME= go${GO111_VERSION}.src +PKGNAME= go111-${GO111_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 + +GOVERSSUFFIX= 111 +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${GOVERSSUFFIX} +INSTALLATION_DIRS= bin go${GOVERSSUFFIX} + +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+= misc/wasm/go_js_wasm_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/cmd/vendor/github.com/google/pprof/internal/binutils/testdata/build_mac.sh +REPLACE_BASH+= src/cmd/vendor/golang.org/x/sys/unix/mkall.sh +REPLACE_BASH+= src/cmd/vendor/golang.org/x/sys/unix/mkerrors.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/cmd/vendor/golang.org/x/sys/unix/*.pl +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${GOVERSSUFFIX}/bin/go +CHECK_RELRO_SKIP+= go${GOVERSSUFFIX}/bin/gofmt +CHECK_RELRO_SKIP+= go${GOVERSSUFFIX}/pkg/bootstrap/bin/asm +CHECK_RELRO_SKIP+= go${GOVERSSUFFIX}/pkg/bootstrap/bin/compile +CHECK_RELRO_SKIP+= go${GOVERSSUFFIX}/pkg/bootstrap/bin/link +CHECK_RELRO_SKIP+= go${GOVERSSUFFIX}/pkg/bootstrap/bin/cgo +# also does not support SSP at this time +CHECK_SSP_SKIP= ${CHECK_RELRO_SKIP} + +# uses /bin/rc (for Plan 9) +CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/include/plan9/mklibc.rc +CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/src/all.rc +CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/src/clean.rc +CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/src/make.rc +CHECK_INTERPRETER_SKIP+= go${GOVERSSUFFIX}/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 ${WRKSRC} && pax -rw . ${DESTDIR}${PREFIX}/go${GOVERSSUFFIX} + find ${DESTDIR}${PREFIX}/go${GOVERSSUFFIX} -name \*.orig -exec rm {} \; + +do-test: + cd ${WRKSRC}/src && GOROOT=${WRKSRC} PATH=${WRKSRC}/bin:${PATH} ${GOOPT} ${BASH} run.bash --no-rebuild --banner "" + +.include "../../mk/bsd.pkg.mk" |