Date: Wednesday, September 22, 2021 @ 18:25:08 Author: anatolik Revision: 1021654
archrelease: copy trunk to community-testing-x86_64 Added: tinygo/repos/community-testing-x86_64/ tinygo/repos/community-testing-x86_64/PKGBUILD (from rev 1021653, tinygo/trunk/PKGBUILD) tinygo/repos/community-testing-x86_64/disable_static_llvm.patch (from rev 1021653, tinygo/trunk/disable_static_llvm.patch) ---------------------------+ PKGBUILD | 76 ++++++++++++++++++++++++++++++++++++++++++++ disable_static_llvm.patch | 32 ++++++++++++++++++ 2 files changed, 108 insertions(+) Copied: tinygo/repos/community-testing-x86_64/PKGBUILD (from rev 1021653, tinygo/trunk/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2021-09-22 18:25:08 UTC (rev 1021654) @@ -0,0 +1,76 @@ +# Maintainer: Anatol Pomozov <anatol.pomo...@gmail.com> + +pkgname=tinygo +pkgver=0.20.0 +pkgrel=1 +pkgdesc='Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.' +arch=(x86_64) +url='https://github.com/tinygo-org/tinygo' +license=(BSD) +options=(!strip) +# TODO: re-add these deps when switching back to system LLVM +#depends=(llvm-libs clang lld) +# TODO: add llvm + remove cmake/ninja/python from build deps +makedepends=(go git cmake ninja python) +# use git as we need to fetch submodules +source=(git+https://github.com/tinygo-org/tinygo#tag=v$pkgver + git+https://github.com/NordicSemiconductor/nrfx + git+https://github.com/ARM-software/CMSIS + git+https://github.com/avr-rust/avr-mcu + git+https://github.com/tinygo-org/cmsis-svd + git+https://github.com/llvm-mirror/compiler-rt#branch=release_80 + git+https://github.com/CraneStation/wasi-libc + git+https://github.com/keith-packard/picolibc + disable_static_llvm.patch) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'd50593810cff1857e24adf537a624d79f128573d177f4f6da404da1539eaa967') + +prepare() { + cd tinygo + + git submodule init + git config -f .gitmodules 'submodule.lib/nrfx.url' "$srcdir/nrfx" + git config -f .gitmodules 'submodule.lib/CMSIS.url' "$srcdir/CMSIS" + git config -f .gitmodules 'submodule.lib/avr.url' "$srcdir/avr-mcu" + # temporarily disabled because it references an unknown commit hash + #git config -f .gitmodules 'submodule.lib/cmsis-svd.url' "$srcdir/cmsis-svd" + git config -f .gitmodules 'submodule.lib/compiler-rt.url' "$srcdir/compiler-rt" + git config -f .gitmodules 'submodule.lib/wasi-libc.url' "$srcdir/wasi-libc" + git config -f .gitmodules 'submodule.lib/picolibc.url' "$srcdir/picolibc" + + git submodule sync + git submodule update + + #patch -p1 < ../disable_static_llvm.patch + + # TODO: remove `make llvm-source` when switching back to system LLVM + make llvm-source +} + +build() { + cd tinygo + # TODO: remove `make llvm-build` when switching back to system LLVM + make llvm-build + make build/release +} + +check() { + cd tinygo + # it reqreires a lot of dependencies. todo enable the tests + # make test tinygo-test smoketest +} + +package() { + cd tinygo + + install -d "$pkgdir"/usr/bin "$pkgdir"/usr/lib/tinygo + mv build/release/tinygo/* "$pkgdir"/usr/lib/tinygo + ln -s /usr/lib/tinygo/bin/tinygo "$pkgdir"/usr/bin/tinygo +} Copied: tinygo/repos/community-testing-x86_64/disable_static_llvm.patch (from rev 1021653, tinygo/trunk/disable_static_llvm.patch) =================================================================== --- community-testing-x86_64/disable_static_llvm.patch (rev 0) +++ community-testing-x86_64/disable_static_llvm.patch 2021-09-22 18:25:08 UTC (rev 1021654) @@ -0,0 +1,32 @@ +commit 897aa65fb711444ccaa1abcfac4d7640f796aa04 +Author: Anatol Pomozov <anatol.pomo...@gmail.com> +Date: Fri Oct 16 09:05:27 2020 -0700 + + Arch linux build changes + +diff --git a/Makefile b/Makefile +index aebf635..a2d0891 100644 +--- a/Makefile ++++ b/Makefile +@@ -173,11 +173,10 @@ lib/wasi-libc/sysroot/lib/wasm32-wasi/libc.a: + + # Build the Go compiler. + tinygo: +- @if [ ! -f "$(LLVM_BUILDDIR)/bin/llvm-config" ]; then echo "Fetch and build LLVM first by running:"; echo " make llvm-source"; echo " make $(LLVM_BUILDDIR)"; exit 1; fi +- CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build -buildmode exe -o build/tinygo$(EXE) -tags byollvm -ldflags="-X main.gitSha1=`git rev-parse --short HEAD`" . ++ CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build -buildmode exe -o build/tinygo$(EXE) -tags llvm11 -ldflags="-X main.gitSha1=`git rev-parse --short HEAD`" . + + test: wasi-libc +- CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test -v -buildmode exe -tags byollvm ./cgo ./compileopts ./compiler ./interp ./transform . ++ CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test -v -buildmode exe ./cgo ./compileopts ./compiler ./interp ./transform . + + # Test known-working standard library packages. + # TODO: do this in one command, parallelize, and only show failing tests (no +@@ -408,7 +407,6 @@ build/release: tinygo gen-device wasi-libc + @mkdir -p build/release/tinygo/pkg/armv7em-none-eabi + @echo copying source files + @cp -p build/tinygo$(EXE) build/release/tinygo/bin +- @cp -p $(abspath $(CLANG_SRC))/lib/Headers/*.h build/release/tinygo/lib/clang/include + @cp -rp lib/CMSIS/CMSIS/Include build/release/tinygo/lib/CMSIS/CMSIS + @cp -rp lib/CMSIS/README.md build/release/tinygo/lib/CMSIS + @cp -rp lib/compiler-rt/lib/builtins build/release/tinygo/lib/compiler-rt/lib