Commit graph

180 commits

Author SHA1 Message Date
tnn
1827855b6e go/bootstrap.mk: depend on lang/go-bin on {Linux,NetBSD}-*-aarch64 2020-05-02 20:12:34 +00:00
tnn
7b83f45fa4 go/bootstrap.mk: add manual user instructions for aarch64 bootstrap
In lieu of something better, like lang/go14 aarch64 support ...
2020-05-01 16:55:28 +00:00
tnn
d76bc0bc56 go/version.mk: now supports aarch64 2020-05-01 16:39:59 +00:00
tnn
71a42ac05e go/bootstrap.mk: allow user to set GOROOT_BOOTSTRAP in mk.conf 2020-05-01 14:39:37 +00:00
tnn
a273b4913a go*: move definition of GOROOT_BOOTSTRAP to go/bootstrap.mk.
NFC. But will later need to do something else when MACHINE_ARCH == aarch64.
Also drop dup include of bsd.prefs.mk. go/version.mk does this already.
2020-05-01 14:09:14 +00:00
bsiegert
72cef9211c Add support for building Go modules in pkgsrc.
This is for packages containing a "go.mod" file.
2020-04-12 11:12:34 +00:00
bsiegert
be160551f1 Update go113 to 1.13.10.
go1.13.10 (released 2020/04/08) includes fixes to the go command, the
runtime, os/exec, and time packages. See the Go 1.13.10 milestone on our
issue tracker for details.
2020-04-12 11:09:03 +00:00
bsiegert
45a8e84ef3 Set 1.14 as default Go version.
1.14.2 is good now :)
2020-04-12 09:41:18 +00:00
bsiegert
c783c2d5c5 Update go114 to 1.14.2.
go1.14.2 (released 2020/04/08) includes fixes to cgo, the go command, the
runtime, os/exec, and testing packages. See the Go 1.14.2 milestone on our
issue tracker for details.

From what I know from work, 1.14.1 had a nasty runtime bug that is now
fixed.
2020-04-09 13:28:38 +00:00
joerg
818d6be53f Support UNLIMIT_RESOURCES for go packages. 2020-03-30 19:33:13 +00:00
bsiegert
b3983183e2 Update go113 to 1.13.9.
This release includes fixes to the go command, tools, the runtime,
the toolchain, and to the crypto/cypher package.

View the release notes for more information:
    https://golang.org/doc/devel/release.html#go1.13.minor
2020-03-21 16:51:10 +00:00
bsiegert
bcffb9e579 Remove GO112_VERSION and GO111_VERSION. 2020-03-21 10:07:48 +00:00
bsiegert
922378ae3c Update go114 to 1.14.1.
This release include fixes to the go command, tools, the runtime,
the toolchain, and to the crypto/cypher package.

View the release notes for more information:
    https://golang.org/doc/devel/release.html#go1.14.minor
2020-03-20 19:50:48 +00:00
bsiegert
36f1aeda20 Update go113 to 1.13.8.
This release includes fixes to the runtime, the crypto/x509, and
net/http packages.
2020-02-27 16:34:31 +00:00
bsiegert
f28e925357 Add a package for Go 1.14.
The default will remain at 1.13 for the next branch.

The latest Go release, version 1.14, arrives six months after Go 1.13. 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.

See the release notes at https://golang.org/doc/go1.14.
2020-02-27 14:32:57 +00:00
bsiegert
a876136634 Update go112 to 1.12.7.
These releases include fixes to the runtime, the crypto/x509, and
net/http packages.
2020-02-23 19:21:27 +00:00
maya
4947727f41 Forcibly turn off Go module support.
We don't currently build any packages using modules, and the switch to
newer versions of Go has resulted in the default changing to modules
being sometimes enabled.
This now causes random packages to begin fetching from the Internet during
builds, which goes against pkgsrc policy.

Doesn't seem to harm the ability to build a random subset of the Go packages
in pkgsrc.
2020-02-18 18:02:58 +00:00
bsiegert
f2aaad19f4 Update go113 to 1.13.7 (security release).
Panic in crypto/x509 certificate parsing and golang.org/x/crypto/cryptobyte

On 32-bit architectures, a malformed input to crypto/x509 or the ASN.1 parsing
functions of golang.org/x/crypto/cryptobyte can lead to a panic.

The malformed certificate can be delivered via a crypto/tls connection to a
client, or to a server that accepts client certificates. net/http clients can
be made to crash by an HTTPS server, while net/http servers that accept client
certificates will recover the panic and are unaffected.

Thanks to Project Wycheproof for providing the test cases that led to the
discovery of this issue.

The issue is CVE-2020-7919 and Go issue golang.org/issue/36837.

This is also fixed in version v0.0.0-20200124225646-8b5121be2f68 of
golang.org/x/crypto/cryptobyte.
2020-02-02 09:36:40 +00:00
bsiegert
56d839292e Update go112 to 1.12.16 (security release).
Panic in crypto/x509 certificate parsing and golang.org/x/crypto/cryptobyte

On 32-bit architectures, a malformed input to crypto/x509 or the ASN.1 parsing
functions of golang.org/x/crypto/cryptobyte can lead to a panic.

The malformed certificate can be delivered via a crypto/tls connection to a
client, or to a server that accepts client certificates. net/http clients can
be made to crash by an HTTPS server, while net/http servers that accept client
certificates will recover the panic and are unaffected.

Thanks to Project Wycheproof for providing the test cases that led to the
discovery of this issue.

The issue is CVE-2020-7919 and Go issue golang.org/issue/36837.

This is also fixed in version v0.0.0-20200124225646-8b5121be2f68 of
golang.org/x/crypto/cryptobyte.
2020-02-02 09:26:39 +00:00
rillig
9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
bsiegert
57fa6c9b1a go: use go113 as the default for building packages.
I did a preliminary bulk build to find build failures resulting from this
change and fixed the fallout in www/grafana. Everything else seemed to be
ok.
2020-01-10 12:56:35 +00:00
bsiegert
b676553188 Update go112 to 1.12.15.
These releases include fixes to the runtime and to the
net/http package.

The macOS releases enable the Hardened Runtime. See
https://golang.org/issue/34986 for details.

View the release notes for more information:
    https://golang.org/doc/devel/release.html#go1.13.minor
2020-01-10 12:53:01 +00:00
bsiegert
e4f0163ebc Update go113 to 1.13.6.
These releases include fixes to the runtime and to the
net/http package.

The macOS releases enable the Hardened Runtime. See
https://golang.org/issue/34986 for details.

View the release notes for more information:
    https://golang.org/doc/devel/release.html#go1.13.minor
2020-01-10 12:40:43 +00:00
bsiegert
19e5d6045d Update go112 to 1.12.14.
go1.12.13 (released 2019/10/31) fixes an issue on macOS 10.15 Catalina where
the non-notarized installer and binaries were being rejected by Gatekeeper.
Only macOS users who hit this issue need to update.

go1.12.14 (released 2019/12/04) includes a fix to the runtime. See the Go
1.12.14 milestone on our issue tracker for details.
2019-12-13 07:39:33 +00:00
jperkin
bef8286b1f go: Split *_SUPPORTED variables out into new go-vars.mk.
It's not always possible to include go-package.mk earlier than bsd.prefs.mk
in a package, for example if the package defines its own do-install target,
so move out the *_SUPPORTED variables that need to be included first.
2019-12-09 09:59:31 +00:00
bsiegert
bd31358f40 Add go113.
I forgot to include this file in the go113 commit, thanks wiz@ for
notifying me!
2019-12-08 14:42:02 +00:00
rillig
4114ced2d6 lang/go: add go to the tools directory
This makes it easier to run the Go compiler from within the build
environment created by "bmake build-env".
2019-12-07 18:15:13 +00:00
rillig
8c6aee8563 lang: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-03 19:03:56 +00:00
bsiegert
d4e63a29c5 Update go112 to 1.12.12.
qo1.12.11 (released 2019/10/17) includes security fixes to the crypto/dsa
package. See the Go 1.12.11 milestone on our issue tracker for details.

go1.12.12 (released 2019/10/17) includes fixes to the go command, runtime,
syscall and net packages. See the Go 1.12.12 milestone on our issue tracker
for details.
2019-10-18 14:48:29 +00:00
bsiegert
ea642613fd Update go112 to 1.12.10.
Commit ok'd by wiz@ for PMC.

Go 1.12.10:

net/http (through net/textproto) used to accept and normalize invalid
HTTP/1.1 headers with a space before the colon, in violation of RFC 7230. If
a Go server is used behind an uncommon reverse proxy that accepts and
forwards but doesn't normalize such invalid headers, the reverse proxy and
the server can interpret the headers differently. This can lead to filter
bypasses or request smuggling, the latter if requests from separate clients
are multiplexed onto the same upstream connection by the proxy. Such invalid
headers are now rejected by Go servers, and passed without normalization to
Go client applications.

The issue is CVE-2019-16276 and Go issue golang.org/issue/34540.

Go 1.12.9:

go1.12.9 (released 2019/08/15) includes fixes to the linker, and the os and
math/big packages. See the Go 1.12.9 milestone on our issue tracker for
details.
2019-09-26 18:36:46 +00:00
dbj
ae7dff7f19 lang/go: on osx 10.9 and earlier, use go110
go 1.11 removed support for osx 10.8 and 10.9
https://github.com/golang/go/issues/23122
2019-09-17 04:39:20 +00:00
rillig
6fdd655b2d lang/go: update _VARGROUPS in go-package.mk, small refactoring 2019-09-10 20:19:54 +00:00
rillig
ca0e8e3ca1 lang/go: extend _VARGROUPS section in go-dep.mk 2019-09-10 20:01:06 +00:00
bsiegert
d9b2ddcd40 go112: update to 1.12.8 (security release).
net/http: Denial of Service vulnerabilities in the HTTP/2 implementation

net/http and golang.org/x/net/http2 servers that accept direct connections from
untrusted clients could be remotely made to allocate an unlimited amount of
memory, until the program crashes. Servers will now close connections if the
send queue accumulates too many control messages.

The issues are CVE-2019-9512 and CVE-2019-9514, and Go issue golang.org/issue/33606.
Thanks to Jonathan Looney from Netflix for discovering and reporting these issues.

This is also fixed in version v0.0.0-20190813141303-74dc4d7220e7 of
golang.org/x/net/http2.

net/url: parsing validation issue

url.Parse would accept URLs with malformed hosts, such that the Host field
could have arbitrary suffixes that would appear in neither Hostname() nor
Port(), allowing authorization bypasses in certain applications. Note that URLs
with invalid, not numeric ports will now return an error from url.Parse.

The issue is CVE-2019-14809 and Go issue golang.org/issue/29098.
Thanks to Julian Hector and Nikolai Krein from Cure53, and Adi Cohen (adico.me)
for discovering and reporting this issue.
2019-08-14 15:42:52 +00:00
bsiegert
a5773b6b72 go111: update to 1.11.13 (security release).
net/http: Denial of Service vulnerabilities in the HTTP/2 implementation

net/http and golang.org/x/net/http2 servers that accept direct connections from
untrusted clients could be remotely made to allocate an unlimited amount of
memory, until the program crashes. Servers will now close connections if the
send queue accumulates too many control messages.

The issues are CVE-2019-9512 and CVE-2019-9514, and Go issue golang.org/issue/33606.
Thanks to Jonathan Looney from Netflix for discovering and reporting these issues.

This is also fixed in version v0.0.0-20190813141303-74dc4d7220e7 of
golang.org/x/net/http2.

net/url: parsing validation issue

url.Parse would accept URLs with malformed hosts, such that the Host field
could have arbitrary suffixes that would appear in neither Hostname() nor
Port(), allowing authorization bypasses in certain applications. Note that URLs
with invalid, not numeric ports will now return an error from url.Parse.

The issue is CVE-2019-14809 and Go issue golang.org/issue/29098.
Thanks to Julian Hector and Nikolai Krein from Cure53, and Adi Cohen (adico.me)
for discovering and reporting this issue.
2019-08-14 15:17:41 +00:00
bsiegert
62f5a9586a Update go112 to 1.12.7.
This fixes a nasty code-generation bug, among other things:

go1.12.6 (released 2019/06/11) includes fixes to the compiler, the linker,
the go command, and the crypto/x509, net/http, and os packages.
See the Go 1.12.6 milestone on our issue tracker for details.

go1.12.7 (released 2019/07/08) includes fixes to cgo, the compiler,
and the linker. See the Go 1.12.7 milestone on our issue tracker for details.
2019-07-14 15:19:55 +00:00
bsiegert
8b27b87d8f Update go111 to 1.11.12.
go1.11.11 (released 2019/06/11) includes a fix to the crypto/x509 package.
See the Go 1.11.11 milestone on our issue tracker for details.

go1.11.12 (released 2019/07/08) includes fixes to the compiler and the linker.
See the Go 1.11.12 milestone on our issue tracker for details.
2019-07-14 12:25:18 +00:00
bsiegert
121bb17bb9 Update go112 to 1.12.5.
This release includes fixes to the compiler, the linker, the go command,
the runtime, and the os package.

Same as for go111, remove the pkg/bootstrap tree from the package.
2019-05-27 15:16:38 +00:00
bsiegert
8d21d6b52a Update go111 to 1.11.10.
This release includes fixes to the compiler, the linker, the go command, the
runtime, and the os package.

While here, remove pkg/bootstrap from the package, as it is only used
for bootstrapping.
2019-05-27 14:33:10 +00:00
jperkin
ce8d9dd117 go: Introduce support for GO_DEPS.
This supports packages that require a large number of go-based dependencies,
treating them as additional distfiles and built inline as part of the package
build.  The print-go-deps target is helpful to generate the list of GO_DEPS
required for each package by parsing the Gopkg.lock file in the extracted
sources.

Thanks to rillig@ for various suggestions and comments.
2019-05-15 18:00:03 +00:00
bsiegert
8bef37bf4f Update go112 to 1.12.4.
go1.12.2 (released 2019/04/05) includes fixes to the compiler, the go command,
the runtime, and the doc, net, net/http/httputil, and os packages. See the Go
1.12.2 milestone on our issue tracker for details.

go1.12.3 (released 2019/04/08) was accidentally released without its intended
fix. It is identical to go1.12.2, except for its version number. The intended
fix is in go1.12.4.

go1.12.4 (released 2019/04/11) fixes an issue where using the prebuilt binary
releases on older versions of GNU/Linux led to failures when linking programs
that used cgo. Only Linux users who hit this issue need to update.
2019-04-16 18:30:27 +00:00
bsiegert
bdd557a569 Update go111 to 1.11.9.
go1.11.7 (released 2019/04/05) includes fixes to the runtime and the net
packages. See the Go 1.11.7 milestone on our issue tracker for details.

go1.11.8 (released 2019/04/08) was accidentally released without its intended
fix. It is identical to go1.11.7, except for its version number. The intended
fix is in go1.11.9.

go1.11.9 (released 2019/04/11) fixes an issue where using the prebuilt binary
releases on older versions of GNU/Linux led to failures when linking programs
that used cgo. Only Linux users who hit this issue need to update.
2019-04-16 18:13:49 +00:00
bsiegert
82da7adaba Update go112 to 1.12.1.
go1.12.1 (released 2019/03/14) includes fixes to cgo, the compiler, the go
command, and the fmt, net/smtp, os, path/filepath, sync, and text/template
packages. See the Go 1.12.1 milestone on our issue tracker for details.
2019-03-16 08:27:56 +00:00
bsiegert
4222d9a920 Update go111 to 1.11.6.
go1.11.6 (released 2019/03/14) includes fixes to cgo, the compiler, linker,
runtime, go command, and the crypto/x509, encoding/json, net, and net/url
packages. See the Go 1.11.6 milestone on our issue tracker for details.
2019-03-16 08:19:00 +00:00
bsiegert
85e8388726 go: switch default version to 1.12.
This means all builds of packages written in Go use 1.12.
2019-03-09 10:00:44 +00:00
bsiegert
68d32f31e2 Add a package for Go 1.12.
Some of the highlights include opt-in support for TLS 1.3, improved modules
support (in preparation for being the default in Go 1.13), support for
windows/arm, and improved macOS & iOS forwards compatibility.

See https://blog.golang.org/go1.12.

In pkgsrc, this is _not_ the default version for Go package builds just yet.
2019-03-09 09:29:30 +00:00
bsiegert
93be231526 Update go110 to 1.10.8 (security).
This release addresses a recently supported security issue. This DoS
vulnerability in the crypto/elliptic implementations of the P-521 and P-384
elliptic curves may let an attacker craft inputs that consume excessive
amounts of CPU.

These inputs might be delivered via TLS handshakes, X.509 certificates, JWT
tokens, ECDH shares or ECDSA signatures. In some cases, if an ECDH private
key is reused more than once, the attack can also lead to key recovery.

The issue is CVE-2019-6486 and Go issue golang.org/issue/29903.
See the Go issue for more details.
2019-01-24 09:33:08 +00:00
bsiegert
b959602dbc Update go111 to 1.11.5 (security).
This release addresses a recently supported security issue. This DoS
vulnerability in the crypto/elliptic implementations of the P-521 and P-384
elliptic curves may let an attacker craft inputs that consume excessive
amounts of CPU.

These inputs might be delivered via TLS handshakes, X.509 certificates, JWT
tokens, ECDH shares or ECDSA signatures. In some cases, if an ECDH private
key is reused more than once, the attack can also lead to key recovery.

The issue is CVE-2019-6486 and Go issue golang.org/issue/29903.
See the Go issue for more details.
2019-01-24 09:26:21 +00:00
jperkin
2559bc3d80 go: Actually bump to 1.11.4. Unbreaks build. 2018-12-20 17:38:23 +00:00
bsiegert
eddec14fa2 Update go110 to 1.10.7 (security fix).
These releases include fixes to cgo, the compiler, linker, runtime,
documentation, go command, and the net/http and go/types packages.
They include a fix to a bug introduced in Go 1.11.3 and Go 1.10.6
that broke "go get" for import path patterns containing "...".

View the release notes for more information:
    https://golang.org/doc/devel/release.html#go1.10.minor
2018-12-15 10:23:32 +00:00