devel/tinygo: Update 0.19.0 => 0.42.0, take maintainership
The port has been stuck at 0.19.0 since 2021 and was deprecated on
2026-08-08 along with the other ports pinned to Go 1.25, scheduled for
removal on 2026-09-30. Upstream 0.42.0 supports Go 1.27 and LLVM 22, so
the pin goes away and with it the reason for the deprecation.
Upstream renamed Makefile to GNUmakefile, dropped the git rev-parse call
and ships the submodule marker files the build checks for, so
files/patch-Makefile is no longer needed at all and the port now builds
unpatched. wasm-opt is taken from devel/binaryen rather than built from
the bundled copy, and build/release no longer produces a pkg directory.
The bundled LLVM is now a fork of llvm-project carrying the Xtensa
backend, pinned by the commit recorded in llvm-version.txt. Keeping it
bundled rather than switching to devel/llvm22 is what makes the Xtensa
targets work, ESP32 included.
tinygo resolves GOROOT by running "go" from PATH, which the package does
not provide - USES=go depends on the versioned lang/go126 instead. The
installed compiler therefore failed with "could not find 'go' command",
0.19.0 included.
Two of the submodule repositories were renamed upstream since the port
was last touched: ARM-software/CMSIS became CMSIS_4, and docker/libtrust
moved to docker-archive-public/docker.libtrust.
Changelog:
https://github.com/tinygo-org/tinygo/blob/v0.42.0/CHANGELOG.md
PR: 298267
Sponsored by: UNIS Labs (vvd, commit patch)