This release includes security fixes to the archive/zip, math/big,
net, and net/http/httputil packages, as well as bug fixes to the
linker, the go command, and the net/http package.
ok jsing (maintainer, who noticed I forgot to update plist)
from /usr/ports/distfiles when it wants to unpack modules during the
build, instead copy the files into the WRKDIR and point it there.
If there was a mistake with setting up MODGO_MODULES/MODGO_MODFILES
in a port then this change will cause it to show up in build, otherwise
it may succeed or fail randomly depending on what files are present in
distfiles (fetched by other ports).
- Add a permissions fix from sthen@
- Remove patches as they are not needed now
Tested on amd64, arm64, armv7 and i386 (ty sthen!).
armv7 has an intermittent issue with tests.
OK sthen, jsing
- De-duplicate our .mod and .zip files.
- Move chdir to a child process.
- Break MODGO_MODULES and MODGO_MODFILES values into their own lines
for easier reading.
using MODGO_MODNAME.
This is needed to work around this issue:
https://github.com/golang/go/issues/27455
which makes `make clean` because of the restrictive permissions.
input and corrections from sthen@ and jca@
ok sthen@ jca@ espie@
With this a port can be easily generated for Go applications that support Go
modules (there will be a go.mod file in the root of the project).
For example: https://github.com/jrick/domain/blob/master/go.mod
The mod file lists "github.com/jrick/domain" as the module name, so a portgen
command to build the above tool would be:
portgen go github.com/jrick/domain
OK afresh1@ kmos@
All except some of the most recent arm64 processors have a speculative
execution flaw that occurs across a syscall boundary, which cannot be
mitigated in the kernel. In order to protect against this leak a
speculation barrier needs to be placed after an svc instruction.
In order to avoid the performance impact of these instructions, the kernel
will soon start returning execution two instructions past the svc call.
For now two hardware no ops are added, which allows syscalls to work with
both old and new kernels. Once the kernel is cut over the no ops can be
replaced with actual speculation barriers.
Discussed at length with deraadt@
binaries appropriate for the build machine. This doesn't work for
package builds where packages are produced on a machine with SSE
but are expected to work on machines without. Set GO386=387 during
the build to disable this. OK/improved comment from jsing@.
the same arch conversion list as done in the lang/go port itself; add
a comment reminding to keep them in-sync). unbreaks packaging of the
few golang ports that actually build on aarch64.