lang/go14: Remove port
lang/go was switched to the new bootstrap and it was the only consumer of
lang/go14.
Reviewed by: mikael, tobik
Approved by: jlaffaye (maintainer timeout, 2 weeks)
Differential Revision: https://reviews.freebsd.org/D23925
lang/go14: Don't install doc and test files
Currently, lang/go14 installs about 1,400-ish doc and test files.
The only role of go14 is to build lang/go, and those files have
no role in that.
PR: 239857
Approved by: jlaffaye (maintainer timeout, >1 month), tz (mentor)
Differential Revision: https://reviews.freebsd.org/D21879
Build lang/go14 without SSE2
This allows to build lang/go14 on old x86 CPUs without SSE2 instructions.
This has an impact on generated machine code performance, but lang/go14
is only useful to boostrap lang/go so it is ok to do so unconditionally.
PR: 230733
Submitted by: Dmitri Goutnik <dg@syrec.org>
For ports that are explicitly enabled on armv6, also enable them
on armv7. This has not been tested with an -exp run but should
"do no harm".
PR: 221894 (partial)
Scrub mention of armv6hf from ARCHS. It was never in a released version.
While here, sort ARCHS and pet portlint.
Reviewed by: imp
Approved by: portmgr (tier-2 blanket)
- Fix shebangs
- Fix bin/rc in lang/go since we dont have it in base or a port to support it
- While in lang/go remove WRKSRC for SHEBANG_FILES
- Bump PORTREVISION for package change
Add two patches to lang/go14.
- patch-syscall
Use SYSCALL assembly instead of INT 0x80 for syscalls on amd64.
Using INT 0x80 as syscall gate on amd64 is an accidential and
undocumented feature of COMPAT_FREEBSD32. It allows to use 64-bit
ABI, but run syscalls through i386 gate.
Go used this "feature" to workaround a bug in FreeBSD 8, which is no
longer relevant.
The patch is exact e9ce76b0eca8fa95dddb90b0a72aadab58de2ffc from go
repo.
Now lang/go14 doesn't need COMPAT_FREEBSD32 to build and run.
- patch-pipe2
The pipe2 syscall is present in all supported versions of FreeBSD,
but pipe was removed from FreeBSD 11. With the patch go14 can be
built and run on a system without COMPAT_FREEBSD10.
Reviewed by: jlaffaye
Disable BROKEN for armv6.
Apparently the failure is only when running under emulation, and it
works fine on physical hardware.
Submitted by: Kyle Evans <kevans91 at ksu dot edu> (private email)
Improve shebangfix framework
- Support multiple values in *_OLD_CMD, i.e. we can now fix both
"/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify
them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash,
ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously)
replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is
still (correctly) replaced with "${perl_CMD} -tt")
Note that *_OLD_CMD items containing spaces must now be quoted (e.g.
perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")
Update shebangfix usage according to new rules in many ports:
- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces
Fix shebangfix usage in many ports (irrelevant to infrastructure change):
- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as
python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for
exact string
Approved by: portmgr (bapt)
Differential Revision: D3756
Copy lang/go to lang/go14
Go 1.4 is the last Go release with its toolchain written in C.
Keep Go 1.4 arround to bootstrap future versions.
While I'm here, lift the restriction for armv6.