Commit graph

28 commits

Author SHA1 Message Date
bsiegert
6f21ac1847 Update Go to 1.9.
The latest Go release, version 1.9, arrives six months after Go 1.8 and
is the tenth release in the Go 1.x series. There are two changes to the
language: adding support for type aliases and defining when
implementations may fuse floating point operations. Most of the 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.

The release adds transparent monotonic time support, parallelizes
compilation of functions within a package, better supports test helper
functions, includes a new bit manipulation package, and has a new
concurrent map type.


There are some instabilities on FreeBSD that are known but not
understood. These can lead to program crashes in rare cases. See issue
15658. Any help in solving this FreeBSD-specific issue would be
appreciated.

Go stopped running NetBSD builders during the Go 1.9 development cycle
due to NetBSD kernel crashes, up to and including NetBSD 7.1. As Go 1.9
is being released, NetBSD 7.1.1 is being released with a fix. However,
at this time we have no NetBSD builders passing our test suite. Any help
investigating the various NetBSD issues would be appreciated.
2017-09-03 07:12:07 +00:00
fhajny
11c657cd4e Align previous patch with upstream trunk. Functionally, fix remains the same. 2017-05-19 18:50:41 +00:00
fhajny
42ae76dcb5 * Remove patch adding syscall.Dup2() for SunOS, software should be using unix.Dup2() instead.
https://github.com/joyent/pkgsrc/pull/492
* Improve handling of low-memory situations on Illumos.
  https://github.com/joyent/pkgsrc/pull/493
2017-05-02 17:15:31 +00:00
christos
5855f16c14 Block signals explicitly during lwp creation since blocking via the context
doea not work.
2017-04-19 21:27:31 +00:00
bsiegert
f32935e1b7 Update Go to 1.8.
The compiler back end introduced in Go 1.7 for 64-bit x86 is now used on all
architectures, and those architectures should see significant performance
improvements. For instance, the CPU time required by our benchmark programs was
reduced by 20-30% on 32-bit ARM systems. There are also some modest performance
improvements in this release for 64-bit x86 systems. The compiler and linker
have been made faster. Compile times should be improved by about 15% over Go
1.7. There is still more work to be done in this area: expect faster
compilation speeds in future releases.

Garbage collection pauses should be significantly shorter, usually under 100
microseconds and often as low as 10 microseconds.

The HTTP server adds support for HTTP/2 Push, allowing servers to preemptively
send responses to a client. This is useful for minimizing network latency by
eliminating roundtrips. The HTTP server also adds support for graceful
shutdown, allowing servers to minimize downtime by shutting down only after
serving all requests that are in flight.

Contexts (added to the standard library in Go 1.7) provide a cancelation and
timeout mechanism. Go 1.8 adds support for contexts in more parts of the
standard library, including the database/sql and net packages and
Server.Shutdown in the net/http package.

Go 1.8 includes many more additions, improvements, and fixes. Find the complete
set of changes, and more information about the improvements listed above, in
the Go 1.8 release notes: https://golang.org/doc/go1.8
2017-03-15 19:38:09 +00:00
bsiegert
439935f9ad Update Go to 1.7.3.
go1.7.2 should not be used. It was tagged but not fully released. The release
was deferred due to a last minute bug report. Use go1.7.3 instead, and refer to
the summary of changes below.

go1.7.3 (released 2016/10/19) includes fixes to the compiler, runtime, and the
crypto/cipher, crypto/tls, net/http, and strings packages. See the Go 1.7.3
milestone on our issue tracker for details.
2016-10-27 18:58:00 +00:00
bsiegert
34c14a06e7 Patch a subtle data corruption issue where the HTTP/2 client sometimes
swallows the first byte of the request body. This will also be in the
next point release.
2016-09-17 15:56:58 +00:00
bsiegert
e2fa1b749c Update Go to 1.7.
The latest Go release, version 1.7, arrives six months after 1.6. Most of its
changes are in the implementation of the toolchain, runtime, and libraries.
There is one minor change to the language specification. 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.

There is one tiny language change in this release. The section on terminating
statements clarifies that to determine whether a statement list ends in a
terminating statement, the “final non-empty statement” is considered the end,
matching the existing behavior of the gc and gccgo compiler toolchains. In
earlier releases the definition referred only to the “final statement,” leaving
the effect of trailing empty statements at the least unclear. The go/types
package has been updated to match the gc and gccgo compiler toolchains in this
respect. This change has no effect on the correctness of existing programs.

Go 1.7 adds support for macOS 10.12 Sierra. This support was backported to Go
1.6.3. Binaries built with versions of Go before 1.6.3 will not work correctly
on Sierra.
2016-08-19 09:38:06 +00:00
bsiegert
eb91133d34 Update Go to 1.6.1.
Two security-related issues were recently reported, and to address these issues
we have just released Go 1.6.1 and Go 1.5.4.

We recommend that all users update to one of these releases (if you're not sure
which, choose Go 1.6.1).

The issues addressed by these releases are:

On Windows, Go loads system DLLs by name with LoadLibrary, making it vulnerable
to DLL preloading attacks. For instance, if a user runs a Go executable from a
Downloads folder, malicious DLL files also downloaded to that folder could be
loaded into that executable.
This is CVE-2016-3958 and was addressed by this change: https://golang.org/cl/21428
Thanks to Taru Karttunen for identifying this issue.

Go's crypto libraries passed certain parameters unchecked to the underlying big
integer library, possibly leading to extremely long-running computations, which
in turn makes Go programs vulnerable to remote denial of service attacks.
Programs using HTTPS client certificates or the Go SSH server libraries are
both exposed to this vulnerability.
This is CVE-2016-3959 and was addressed by this change: https://golang.org/cl/21533
Thanks to David Wong for identifying this issue.
2016-04-13 07:12:00 +00:00
bsiegert
8afaa65266 Patch CVE-2016-3959 in Go. There will be a Go 1.6.1 release next week that
fixes this properly.
2016-04-08 20:00:02 +00:00
bsiegert
c422605863 Add the correct path for SSL certificates that mozilla-rootcerts uses.
PR pkg/50690.
2016-01-31 10:17:27 +00:00
fhajny
b6be94926f Update lang/go to 1.5.3.
This is a security-related release, it fixes CVE-2015-8618 that was
partically patched in 1.5.2nb1.

See full release notes for a description:

https://groups.google.com/d/msg/golang-announce/MEATuOi_ei4/JsndUuZwEAAJ
2016-01-16 09:43:44 +00:00
bsiegert
f07a25c3c0 Pull in https://golang.org/cl/17672, "math/big: fix carry propagation in
Int.Exp Montgomery code", to fix CVE-2015-8618.

From the oss-security posting that asked for a CVE:

"The Go open source project has received notification of an error in the
math/big library (https://golang.org/pkg/math/big/). The problem that was
identified is similar to CVE-2015-3193
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193>. The
vulnerability was introduced in the 1.5 release, and remains present in Go
1.5.1 and 1.5.2.

"A fix for the issue has been applied to the master branch of the Go repo
under CL 17672 <https://go-review.googlesource.com/#/c/17672/>. We will
also be releasing Go 1.5.3 to fix this vulnerability."

ok wiz@
2015-12-22 20:44:40 +00:00
bsiegert
3dce73223e Update Go to 1.5.2, original patch from Kamel Derouiche in PR pkg/50498.
go1.5.2 (released 2015/12/02) includes bug fixes to the compiler,
linker, and the mime/multipart, net, and runtime packages. See the Go
1.5.2 milestone on our issue tracker for details.

https://github.com/golang/go/issues?q=milestone%3AGo1.5.2
2015-12-10 20:04:54 +00:00
fhajny
e3d64585b1 Remove patch for a problem that was fixed in 1.5.1.
Clear PKGREVISION after PKGVERSION update.
2015-09-13 19:11:55 +00:00
fhajny
f9facf0aca Add support for the dup2 syscall on SunOS. Bump PKGREVISION. 2015-08-25 23:09:51 +00:00
fhajny
8e404253de Remove stale cgo/SunOS patches that are no longer needed. Fixes SunOS build.
Fix problem with -lsendfile needed on SunOS when building 3rd party software
that uses the net package.
2015-08-25 21:02:52 +00:00
bsiegert
f6269e4136 Update go to 1.5.
This release now needs the previous one (lang/go14) to build.

The biggest developments in the implementation are:

* The compiler and runtime are now written entirely in Go (with a little
  assembler). C is no longer involved in the implementation, and so the
  C compiler that was once necessary for building the distribution is
  gone.
* The garbage collector is now concurrent and provides dramatically
  lower pause times by running, when possible, in parallel with other
  goroutines.
* By default, Go programs run with GOMAXPROCS set to the number of cores
  available; in prior releases it defaulted to 1.
* Support for internal packages is now provided for all repositories,
  not just the Go core.
* The go command now provides experimental support for "vendoring"
  external dependencies.
* A new go tool trace command supports fine-grained tracing of program
  execution.
* A new go doc command (distinct from godoc) is customized for
  command-line use.

Full release notes are at https://golang.org/doc/go1.5.
2015-08-22 10:51:20 +00:00
jperkin
a1dea38e5d Implement cgo support for illumos. Patches by Keith Wesolowski at Joyent.
Bump PKGREVISION.
2015-03-10 13:11:36 +00:00
bsiegert
fa64415ac2 Remove special case for golang.org/x/tools from the go command.
We handle it differently in the go-tools package. While here, rename
GO_COMPILER to GOCHAR, which is the name upstream uses.

Bump PKGREVISION.
2014-12-31 11:40:14 +00:00
wiz
5fe43b2df2 Update to 1.4, ok bsiegert:
Today we announce Go 1.4, the fifth major stable release of Go,
arriving six months after our previous major release Go 1.3. It
contains a small language change, support for more operating systems
and processor architectures, and improvements to the tool chain
and libraries. As always, Go 1.4 keeps the promise of compatibility,
and almost everything will continue to compile and run without
change when moved to 1.4. For the full details, see the Go 1.4
release notes.

The most notable new feature in this release is official support
for Android. Using the support in the core and the libraries in
the golang.org/x/mobile repository, it is now possible to write
simple Android apps using only Go code. At this stage, the support
libraries are still nascent and under heavy development. Early
adopters should expect a bumpy ride, but we welcome the community
to get involved.

The language change is a tweak to the syntax of for-range loops.
You may now write "for range s {" to loop over each item from s,
without having to assign the value, loop index, or map key. See
the release notes for details.

The go command has a new subcommand, go generate, to automate the
running of tools to generate source code before compilation. For
example, it can be used to automate the generation of String methods
for typed constants using the new stringer tool. For more information,
see the design document.

Most programs will run about the same speed or slightly faster in
1.4 than in 1.3; some will be slightly slower. There are many
changes, making it hard to be precise about what to expect. See
the release notes for more discussion.

And, of course, there are many more improvements and bug fixes.

In case you missed it, a few weeks ago the sub-repositories were
moved to new locations. For example, the go.tools packages are now
imported from "golang.org/x/tools". See the announcement post for
details.

This release also coincides with the project's move from Mercurial
to Git (for source control), Rietveld to Gerrit (for code review),
and Google Code to Github (for issue tracking and wiki). The move
affects the core Go repository and its sub-repositories. You can
find the canonical Git repositories at go.googlesource.com, and
the issue tracker and wiki at the golang/go GitHub repo.
2014-12-12 09:41:40 +00:00
khorben
360914d754 Also look for the right path for the SSL certificate repository on NetBSD.
Fixes "go get code.google.com/p/..." for me, once security/mozilla-rootcerts
installed and configured (with the default settings).

Bumps PKGREVISION, since the package is modified.

ok bsiegert@
2014-10-11 16:41:47 +00:00
bsiegert
91c851381e Update go to 1.3. One of our patches was accepted upstream.
Note that this is a leaf package. schmonz says it is ok to update this
now.
2014-06-22 14:50:47 +00:00
joerg
aa8f8bed9b If libgcc.a doesn't exist, don't fail. 2014-06-14 16:22:25 +00:00
christos
8707a29ee0 apply note creation bug fix from the go mercurial head, and adjust our code
so that it works in both cases.
2014-05-15 20:00:47 +00:00
christos
618cddf8e8 fix elf note computation 2014-05-15 19:35:49 +00:00
bsiegert
b8d8bd73fb Update go to 1.2.
Follow the example of OpenBSD ports and do not run the tests while building.
They are flaky under the Makefile harness for some reason.
2013-12-15 21:50:34 +00:00
wiz
5a6966d0fb Import go-1.1.1 as lang/go, packaged by Benny Siegert for wip.
The Go programming language is an open source project to make
programmers more productive.

Go is expressive, concise, clean, and efficient. Its concurrency
mechanisms make it easy to write programs that get the most out of
multicore and networked machines, while its novel type system enables
flexible and modular program construction. Go compiles quickly to
machine code yet has the convenience of garbage collection and the power
of run-time reflection. It's a fast, statically typed, compiled language
that feels like a dynamically typed, interpreted language.
2013-07-07 08:10:14 +00:00