# $NetBSD: Makefile,v 1.7 2021/05/13 09:32:26 nia Exp $ PKGREVISION= 2 .include "../../lang/go/version.mk" .include "../../lang/go/bootstrap.mk" DISTNAME= go${GO110_VERSION}.src PKGNAME= go110-${GO110_VERSION} CATEGORIES= lang MASTER_SITES= https://storage.googleapis.com/golang/ MAINTAINER= bsiegert@NetBSD.org HOMEPAGE= https://golang.org/ COMMENT= The Go programming language LICENSE= modified-bsd GOVERSSUFFIX= 110 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+= 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${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 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}${GOROOT_FINAL} find ${DESTDIR}${GOROOT_FINAL} -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"