head	1.7;
access;
symbols
	pkgsrc-2025Q1:1.6.0.14
	pkgsrc-2025Q1-base:1.6
	pkgsrc-2024Q4:1.6.0.12
	pkgsrc-2024Q4-base:1.6
	pkgsrc-2024Q3:1.6.0.10
	pkgsrc-2024Q3-base:1.6
	pkgsrc-2024Q2:1.6.0.8
	pkgsrc-2024Q2-base:1.6
	pkgsrc-2024Q1:1.6.0.6
	pkgsrc-2024Q1-base:1.6
	pkgsrc-2023Q4:1.6.0.4
	pkgsrc-2023Q4-base:1.6
	pkgsrc-2023Q3:1.6.0.2
	pkgsrc-2023Q3-base:1.6
	pkgsrc-2023Q2:1.4.0.4
	pkgsrc-2023Q2-base:1.4
	pkgsrc-2023Q1:1.4.0.2
	pkgsrc-2023Q1-base:1.4
	pkgsrc-2022Q4:1.3.0.2
	pkgsrc-2022Q4-base:1.3
	pkgsrc-2022Q3:1.2.0.2
	pkgsrc-2022Q3-base:1.2;
locks; strict;
comment	@# @;


1.7
date	2025.04.01.17.47.19;	author bsiegert;	state dead;
branches;
next	1.6;
commitid	rFINzKoS31DqhnPF;

1.6
date	2023.08.12.13.02.54;	author bsiegert;	state Exp;
branches;
next	1.5;
commitid	LMUKMtL3SqquVuAE;

1.5
date	2023.07.15.10.52.59;	author bsiegert;	state Exp;
branches;
next	1.4;
commitid	AvpTGe7iqymJ6TwE;

1.4
date	2023.01.11.17.24.29;	author bsiegert;	state Exp;
branches;
next	1.3;
commitid	pAKdtio2vg5Id99E;

1.3
date	2022.12.11.23.11.31;	author nikita;	state Exp;
branches;
next	1.2;
commitid	pvjzME3V1mNp8c5E;

1.2
date	2022.09.17.10.13.56;	author bsiegert;	state Exp;
branches;
next	1.1;
commitid	mMEIa7EaADpAycUD;

1.1
date	2022.08.21.11.42.19;	author bsiegert;	state Exp;
branches;
next	;
commitid	dOBHFe9VW9rYUJQD;


desc
@@


1.7
log
@go119, go121: remove

go124 is the current version. go123 is still supported.

To build go124 from source, the chain is
go14 - go118 - go120 - go122 - go124

Thus, nothing needs go119 and go121.

agreed by maya@@ on tech-pkg
@
text
@# $NetBSD: Makefile,v 1.6 2023/08/12 13:02:54 bsiegert Exp $

.include "../../lang/go/version.mk"
.include "../../lang/go/bootstrap.mk"

GOVERSSUFFIX=	119

DISTNAME=	go${GO${GOVERSSUFFIX}_VERSION}.src
PKGNAME=	go${GOVERSSUFFIX}-${GO${GOVERSSUFFIX}_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

WRKSRC=		${WRKDIR}/go
USE_TOOLS+=	bash:run perl:run pax

# cgo compiles under TMPDIR
TMPDIR?=	/tmp
BUILDLINK_PASSTHRU_DIRS+= ${TMPDIR}

GOROOT_FINAL=		${PREFIX}/go${GOVERSSUFFIX}
INSTALLATION_DIRS=	bin go${GOVERSSUFFIX}

REPLACE_BASH+=	lib/time/update.bash
REPLACE_BASH+=	misc/arm/a
REPLACE_BASH+=	misc/cgo/fortran/test.bash
REPLACE_BASH+=	misc/wasm/go_js_wasm_exec
REPLACE_BASH+=	src/all.bash
REPLACE_BASH+=	src/bootstrap.bash
REPLACE_BASH+=	src/buildall.bash
REPLACE_BASH+=	src/clean.bash
REPLACE_BASH+=	src/cmd/compile/internal/ssa/gen/cover.bash
REPLACE_BASH+=	src/cmd/go/mkalldocs.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/crypto/internal/boring/build.sh
REPLACE_BASH+=	src/go/doc/comment/mkstd.sh
REPLACE_BASH+=	src/internal/trace/mkcanned.bash
REPLACE_BASH+=	src/make.bash
REPLACE_BASH+=	src/race.bash
REPLACE_BASH+=	src/run.bash
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

# 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

SUBST_CLASSES+=		paths
SUBST_STAGE.paths=	pre-configure
SUBST_FILES.paths=	src/crypto/x509/root_solaris.go
SUBST_VARS.paths=	PKG_SYSCONFDIR

# Required until we bootstrap from a native illumos kit.  This is obviously
# terrible and should be fixed properly.
.if ${OPSYS} == "SunOS" && ${OS_VARIANT} != "Solaris"
SUBST_CLASSES+=		grplist
SUBST_STAGE.grplist=	pre-configure
SUBST_FILES.grplist=	src/os/user/getgrouplist_unix.go
SUBST_SED.grplist=	-e 's,return getgrouplist.*,return 0;,'
.endif

PLIST_SUBST+=	GOVERSSUFFIX=${GOVERSSUFFIX}

PLIST_VARS+=	pty route

.if ${OPSYS} != "SunOS"
PLIST.pty=	yes
.endif

.if ${OPSYS} != "Linux" && ${OPSYS} != "SunOS"
PLIST.route=	yes
.endif

PRINT_PLIST_AWK+=	/^bin\/go${GOVERSSUFFIX}/ { print "bin/go$${GOVERSSUFFIX}"; next; }
PRINT_PLIST_AWK+=	/^bin\/gofmt${GOVERSSUFFIX}/ { print "bin/gofmt$${GOVERSSUFFIX}"; next; }
PRINT_PLIST_AWK+=	/internal\/pty\.a/ { printf "%s", "$${PLIST.pty}"; }
PRINT_PLIST_AWK+=	/x\/net\/route\.a/ { printf "%s", "$${PLIST.route}"; }

post-extract:
	${RM} -r -f ${WRKSRC}/test/fixedbugs/issue27836*

do-build:
	cd ${WRKSRC}/src && \
		env \
		GOROOT_BOOTSTRAP=${GOROOT_BOOTSTRAP:Q} \
		GOROOT_FINAL=${GOROOT_FINAL:Q} \
		${GOOPT} \
		GOCACHE=${WRKDIR}/.cache/go-build \
		${BASH} ./make.bash -v
# 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 pkg/obj pkg/bootstrap
	cd ${WRKSRC} && pax -rw . ${DESTDIR}${PREFIX}/go${GOVERSSUFFIX}
	find ${DESTDIR}${PREFIX}/go${GOVERSSUFFIX} -name \*.orig -exec rm {} \;
.for cmd in go gofmt
	${LN} -sf ${PREFIX}/go${GOVERSSUFFIX}/bin/${cmd} ${DESTDIR}${PREFIX}/bin/${cmd}${GOVERSSUFFIX}
.endfor

do-test:
	cd ${WRKSRC}/src && GOROOT=${WRKSRC} PATH=${WRKSRC}/bin:${PATH} ${GOOPT} ${BASH} run.bash --no-rebuild --banner ""

.include "../../mk/bsd.pkg.mk"
@


1.6
log
@Update go119 to 1.19.12 (security).

crypto/tls: restrict RSA keys in certificates to <= 8192 bits

Extremely large RSA keys in certificate chains can cause a client/server
to expend significant CPU time verifying signatures. Limit this by
restricting the size of RSA keys transmitted during handshakes to <=
8192 bits.

Based on a survey of publicly trusted RSA keys, there are currently only
three certificates in circulation with keys larger than this, and all
three appear to be test certificates that are not actively deployed. It
is possible there are larger keys in use in private PKIs, but we target
the web PKI, so causing breakage here in the interests of increasing the
default safety of users of crypto/tls seems reasonable.

Thanks to Mateusz Poliwczak for reporting this issue.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2023/07/15 10:52:59 bsiegert Exp $
@


1.5
log
@Revbump all Go packages after go120 update
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2023/01/11 17:24:29 bsiegert Exp $
a2 1
PKGREVISION= 1
@


1.4
log
@go119: update to 1.19.5

go1.19.5 (released 2023-01-10) includes fixes to the compiler, the linker, and
the crypto/x509, net/http, sync/atomic, and syscall packages. See the Go 1.19.5
milestone on our issue tracker for details.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2022/12/11 23:11:31 nikita Exp $
d3 1
@


1.3
log
@golang119: apply backported fix.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2022/09/17 10:13:56 bsiegert Exp $
a9 1
PKGREVISION=	1
@


1.2
log
@go: be more verbose when building

Requested by nia@@ during dev summit @@EuroBSDCon
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2022/08/21 11:42:19 bsiegert Exp $
d10 1
@


1.1
log
@Add a package for Go 1.19

Release notes: https://go.dev/doc/go1.19
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2022/03/15 20:13:45 bsiegert Exp $
d112 1
a112 1
		${BASH} ./make.bash
@

