## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %bcond check 1 # I'm not sure what this is for, as no tests seem to use it, and it introduces # some weird license that needs review. %bcond wasi_cli 0 %global __brp_strip_lto %{nil} %global __brp_strip_static_archive %{nil} # https://github.com/tinygo-org/tinygo %global goipath github.com/tinygo-org/tinygo Version: 0.39.0 %global CMSIS_commit 9fe411cef1cef5de58e5957b89760759de44e393 %global avr_commit 6624554c02b237b23dc17d53e992bf54033fc228 %global bdwgc_commit 1166f11f7dee08d7ad369296b24cf8c9582f8789 %global clang_llvm_version 19 %global cmsis_svd_data_commit 05a9562ec59b87945a8d7177a4b08b7aa2f2fd58 %global compiler_rt_version %{clang_llvm_version}.1.7 %global macos_minsdk_commit e7c72156eac3ebf29c34cc2faa71efcb1296663f %global mingw64_commit 8526cb618269440a94810b94b77f8bd48c5c3396 %global musl_version 1.2.3 %global net_commit c134160ae47d38b468b1c5ade43e78ad5a1e616d %global nrfx_commit d779b49fc59c7a165e7da1d7cd7d57b28a059f16 %global picolibc_commit b92edfda8ac6853772d87cadaeeeaa21b78609b6 %global wasi_libc_version 20 %global wasi_libc_tag wasi-sdk-%{wasi_libc_version} %global wasi_cli_version 0.2.0 # No longer matching regular Go's /usr/share/gocode because it also provides # pre-compiled binaries, and symlinks to arch-specific clang headers. %global tinygoroot %{_libdir}/tinygo %gometa %global common_description %{expand: Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.} Name: tinygo Release: %autorelease Summary: Go compiler for small places # Main files: BSD-3-Clause # builder/cc1as.*: Apache-2.0 WITH LLVM-exception # corpus_test.go: MIT # CMSIS: BSD-3-Clause (subsetted) # avr-mcu: Apache-2.0 (packs) AND MIT (Rust code, unused by this package) # cmsis-svd: Apache-2.0 AND (Apache-2.0 OR MIT) AND BSD-3-Clause AND BSD-Source-Code AND ISC AND MIT (subsetted) # compiler-rt: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT # macos-minimal-sdk: APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND ISC AND LicenseRef-Fedora-Public-Domain # musl: MIT # net: BSD-2-Clause # nrfx: BSD-3-Clause AND Apache-2.0 # picolibc: BSD-2-Clause AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND ISC AND SMLNJ AND Spencer-94 AND GPLv2 (testing code only, unused by this package) # wasi-libc: Apache-2.0 WITH LLVM-exception AND Apache-2.0 AND MIT AND BSD-2-Clause AND CC0-1.0 (dlmalloc implementation, unused by this package) License: %{shrink: BSD-3-Clause AND Apache-2.0 WITH LLVM-exception AND BSD-2-Clause AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT) AND BSD-Source-Code AND ISC AND (Apache-2.0 WITH LLVM-exception OR NCSA OR MIT) AND APSL-2.0 AND BSD-2-Clause AND BSD-4-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain AND BSD-2-Clause-FreeBSD AND SMLNJ AND Spencer-94} URL: %{gourl} Source0: %{gosource} Source1: clean_tarballs.sh Source2: cmsis-%{CMSIS_commit}-clean.tar.xz Source3: https://github.com/avr-rust/avr-mcu/archive/%{avr_commit}/avr-%{avr_commit}.tar.gz Source4: cmsis_svd_data-%{cmsis_svd_data_commit}-clean.tar.xz Source50: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler_rt_version}/compiler-rt-%{compiler_rt_version}.src.tar.xz Source51: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler_rt_version}/compiler-rt-%{compiler_rt_version}.src.tar.xz.sig Source52: https://src.fedoraproject.org/rpms/compiler-rt/raw/f8e98d51f0c3fdbaa9ce5d99816930e4fcbe504b/f/release-keys.asc#/compiler-rt-release-keys.asc Source60: https://musl.libc.org/releases/musl-%{musl_version}.tar.gz Source61: https://musl.libc.org/releases/musl-%{musl_version}.tar.gz.asc Source62: https://musl.libc.org/musl.pub Source7: https://github.com/aykevl/macos-minimal-sdk/archive/%{macos_minsdk_commit}/macos-minimal-sdk-%{macos_minsdk_commit}.tar.gz Source8: https://github.com/NordicSemiconductor/nrfx/archive/%{nrfx_commit}/nrfx-%{nrfx_commit}.tar.gz Source9: https://github.com/keith-packard/picolibc/archive/%{picolibc_commit}/picolibc-%{picolibc_commit}.tar.gz Source10: https://github.com/WebAssembly/wasi-libc/archive/%{wasi_libc_tag}/wasi-libc-%{wasi_libc_tag}.tar.gz Source11: https://github.com/mingw-w64/mingw-w64/archive/%{mingw64_commit}/mingw64-%{mingw64_commit}.tar.gz Source12: https://github.com/tinygo-org/net/archive/%{net_commit}/net-%{net_commit}.tar.gz %if %{with wasi_cli} Source13: https://github.com/WebAssembly/wasi-cli/archive/v%{wasi_cli_version}/wasi-cli-%{wasi_cli_version}.tar.gz %endif Source14: https://github.com/ivmai/bdwgc/archive/%{bdwgc_commit}/bdwgc-%{bdwgc_commit}.tar.gz # # Unnumbered patches are applied to the main source tree. # Patches that are 1X00-1X99 are applied to the subdirectory for source X. # # We don't have wasmtime to run these. Patch: 0001-Skip-WASI-tests.patch # We set GO111MODULE=off during tests, so can't run a few of them. Patch: 0002-Skip-tests-that-require-Go-module-mode.patch # Better search paths for non-default LLVM. Patch: 0003-Set-LLVM-search-paths-for-Fedora.patch #https://github.com/tinygo-org/tinygo/pull/4677 Patch: 0004-Normalize-expected-path-for-chdir-tests.patch # https://github.com/tinygo-org/tinygo/issues/4969 Patch: 0005-Skip-x86-tests-on-ARM.patch # Fix CVE-2025-26519 in musl. Patch1600: https://www.openwall.com/lists/musl/2025/02/13/1/1#/musl-cve-2025-26519-1.patch Patch1601: https://www.openwall.com/lists/musl/2025/02/13/1/2#/musl-cve-2025-26519-2.patch # Not supported upstream yet. ExcludeArch: ppc64le s390x # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: clang-devel(major) = %{clang_llvm_version} BuildRequires: golang(github.com/aykevl/go-wasm) BuildRequires: golang(github.com/blakesmith/ar) BuildRequires: chromium BuildRequires: golang(github.com/chromedp/chromedp) >= 0.7.6 BuildRequires: golang(github.com/chromedp/cdproto/cdp) BuildRequires: golang(github.com/gofrs/flock) >= 0.8.1 BuildRequires: golang(github.com/google/shlex) BuildRequires: golang(github.com/inhies/go-bytesize) BuildRequires: golang(github.com/marcinbor85/gohex) BuildRequires: golang(github.com/mattn/go-colorable) >= 0.1.13 BuildRequires: golang(github.com/mattn/go-tty) >= 0.0.4 BuildRequires: golang(github.com/tetratelabs/wazero) >= 1.6 BuildRequires: golang(golang.org/x/net/http/httpguts) >= 0.35 BuildRequires: golang(github.com/sigurn/crc16) BuildRequires: golang(go.bug.st/serial) >= 1.6.0 BuildRequires: golang(golang.org/x/tools/go/ast/astutil) BuildRequires: golang(golang.org/x/tools/go/ssa) >= 0.30 BuildRequires: golang(gopkg.in/yaml.v2) >= 2.4.0 BuildRequires: golang(tinygo.org/x/go-llvm) BuildRequires: golang-tests BuildRequires: llvm-devel(major) = %{clang_llvm_version} BuildRequires: make BuildRequires: binaryen >= 116 # We don't have glibc for arm, so skip these. #BuildRequires: gcc-arm-linux-gnu #BuildRequires: gcc-aarch64-linux-gnu BuildRequires: lld(major) = %{clang_llvm_version} # BuildRequires: mingw64-crt # BuildRequires: mingw64-headers BuildRequires: nodejs >= 18 BuildRequires: qemu-system-arm-core BuildRequires: qemu-system-riscv-core BuildRequires: qemu-user # For GPG signature verification BuildRequires: gnupg2 Requires: clang(major) = %{clang_llvm_version} Requires: golang Requires: lld(major) = %{clang_llvm_version} # Add this when LLVM supports ESP natively. # Recommends: esptool # Recommends: mingw64-crt # Recommends: mingw64-headers Recommends: qemu-system-arm-core Recommends: qemu-system-riscv-core Recommends: qemu-user # Make note of bundled libc's Provides: bundled(bdwgc) = %{bdwgc_commit} Provides: bundled(gc) = %{bdwgc_commit} Provides: bundled(compiler-rt) = %{compiler_rt_version} Provides: bundled(musl) = %{musl_version} Provides: bundled(picolibc) = %{picolibc_commit} Provides: bundled(wasi-libc) = %{wasi_libc_version} %description %{common_description} %prep %goprep %autopatch -q -p1 -M 999 tar -C lib -xf %{SOURCE2} rmdir lib/CMSIS mv lib/CMSIS-%{CMSIS_commit} lib/CMSIS pushd lib/CMSIS %autopatch -q -p1 -m 1200 -M 1299 popd tar -C lib -xf %{SOURCE3} rmdir lib/avr mv lib/avr-mcu-%{avr_commit} lib/avr pushd lib/avr %autopatch -q -p1 -m 1300 -M 1399 popd tar -C lib -xf %{SOURCE4} rmdir lib/cmsis-svd mv lib/cmsis-svd-data-%{cmsis_svd_data_commit} lib/cmsis-svd pushd lib/cmsis-svd %autopatch -q -p1 -m 1400 -M 1499 popd # Verify *before* actually unpacking! %{gpgverify} --keyring='%{SOURCE52}' --signature='%{SOURCE51}' --data='%{SOURCE50}' tar -C lib -xf %{SOURCE50} mv lib/compiler-rt-%{compiler_rt_version}.src/lib/builtins lib/compiler-rt-builtins mv lib/compiler-rt-%{compiler_rt_version}.src/README.txt lib/compiler-rt-builtins/ mv lib/compiler-rt-%{compiler_rt_version}.src/LICENSE.TXT lib/compiler-rt-builtins/ pushd lib/compiler-rt-builtins %autopatch -q -p1 -m 1500 -M 1599 popd # Verify *before* actually unpacking! %{gpgverify} --keyring='%{SOURCE62}' --signature='%{SOURCE61}' --data='%{SOURCE60}' tar -C lib -xf %{SOURCE60} rmdir lib/musl mv lib/musl-%{musl_version} lib/musl pushd lib/musl %autopatch -q -p1 -m 1600 -M 1699 popd tar -C lib -xf %{SOURCE7} rmdir lib/macos-minimal-sdk mv lib/macos-minimal-sdk-%{macos_minsdk_commit} lib/macos-minimal-sdk pushd lib/macos-minimal-sdk %autopatch -q -p1 -m 1700 -M 1799 popd tar -C lib -xf %{SOURCE8} rmdir lib/nrfx mv lib/nrfx-%{nrfx_commit} lib/nrfx rm lib/nrfx/.gitignore chmod -x lib/nrfx/doc/generate_html_doc.sh pushd lib/nrfx %autopatch -q -p1 -m 1800 -M 1899 popd tar -C lib -xf %{SOURCE9} rmdir lib/picolibc mv lib/picolibc-%{picolibc_commit} lib/picolibc pushd lib/picolibc %autopatch -q -p1 -m 1900 -M 1999 popd tar -C lib -xf %{SOURCE10} rmdir lib/wasi-libc mv lib/wasi-libc-%{wasi_libc_tag} lib/wasi-libc pushd lib/wasi-libc %autopatch -q -p1 -m 11000 -M 11099 popd tar -C lib -xf %{SOURCE11} rmdir lib/mingw-w64 mv lib/mingw-w64-%{mingw64_commit} lib/mingw-w64 pushd lib/mingw-w64 %autopatch -q -p1 -m 11100 -M 11199 popd tar -C src -xf %{SOURCE12} rmdir src/net mv src/net-%{net_commit} src/net pushd src/net %autopatch -q -p1 -m 11200 -M 11299 popd %if %{with wasi_cli} tar -C lib -xf %{SOURCE13} rmdir lib/wasi-cli mv lib/wasi-cli-%{wasi_cli_version} lib/wasi-cli pushd lib/wasi-cli %autopatch -q -p1 -m 11300 -M 11399 popd %endif tar -C lib -xf %{SOURCE14} rmdir lib/bdwgc mv lib/bdwgc-%{bdwgc_commit} lib/bdwgc pushd lib/bdwgc %autopatch -q -p1 -m 11400 -M 11499 popd %build export GO_BUILDTAGS="llvm%{clang_llvm_version}" GO_LDFLAGS="-X github.com/tinygo-org/tinygo/goenv.TINYGOROOT=%{tinygoroot} " %gobuild -o %{gobuilddir}/bin/tinygo %{goipath} GO111MODULE=off %make_build gen-device RENESAS=0 STM32=0 %install install -vdm 0755 %{buildroot}%{_bindir} install -vpm 0755 %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ install -vdm 0755 %{buildroot}%{tinygoroot} install -vdm 0755 %{buildroot}%{tinygoroot}/lib install -vdm 0755 %{buildroot}%{tinygoroot}/lib/bdwgc cp -rp lib/bdwgc/* %{buildroot}%{tinygoroot}/lib/bdwgc install -vdm 0755 %{buildroot}%{tinygoroot}/lib/CMSIS install -vpm 0644 lib/CMSIS/README.md %{buildroot}%{tinygoroot}/lib/CMSIS/ install -vdm 0755 %{buildroot}%{tinygoroot}/lib/CMSIS/CMSIS/Include install -vpm 0644 lib/CMSIS/CMSIS/Include/* %{buildroot}%{tinygoroot}/lib/CMSIS/CMSIS/Include/ cp -rp lib/compiler-rt-builtins %{buildroot}%{tinygoroot}/lib install -vdm 0755 %{buildroot}%{tinygoroot}/lib/macos-minimal-sdk cp -rp lib/macos-minimal-sdk/* %{buildroot}%{tinygoroot}/lib/macos-minimal-sdk install -vdm 0755 %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt cp -rp lib/mingw-w64/mingw-w64-crt/def-include %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt cp -rp lib/mingw-w64/mingw-w64-crt/gdtoa %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt cp -rp lib/mingw-w64/mingw-w64-crt/include %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt cp -rp lib/mingw-w64/mingw-w64-crt/misc %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt cp -rp lib/mingw-w64/mingw-w64-crt/stdio %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt install -vdm 0755 %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/crt cp -rp lib/mingw-w64/mingw-w64-crt/crt/pseudo-reloc.c %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/crt install -vdm 0755 %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/math cp -rp lib/mingw-w64/mingw-w64-crt/math/x86 %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/math install -vdm 0755 %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/lib-common cp -rp lib/mingw-w64/mingw-w64-crt/lib-common/api-ms-win-crt-* %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/lib-common cp -rp lib/mingw-w64/mingw-w64-crt/lib-common/advapi32.def.in %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/lib-common cp -rp lib/mingw-w64/mingw-w64-crt/lib-common/kernel32.def.in %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/lib-common cp -rp lib/mingw-w64/mingw-w64-crt/lib-common/msvcrt.def.in %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-crt/lib-common install -vdm 0755 %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-headers/defaults cp -rp lib/mingw-w64/mingw-w64-headers/crt/ %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-headers cp -rp lib/mingw-w64/mingw-w64-headers/include %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-headers cp -rp lib/mingw-w64/mingw-w64-headers/defaults/include %{buildroot}%{tinygoroot}/lib/mingw-w64/mingw-w64-headers/defaults install -vdm 0755 %{buildroot}%{tinygoroot}/lib/musl cp -rp lib/musl/COPYRIGHT %{buildroot}%{tinygoroot}/lib/musl cp -rp lib/musl/include %{buildroot}%{tinygoroot}/lib/musl install -vdm 0755 %{buildroot}%{tinygoroot}/lib/musl/arch cp -rp lib/musl/arch/aarch64 %{buildroot}%{tinygoroot}/lib/musl/arch cp -rp lib/musl/arch/arm %{buildroot}%{tinygoroot}/lib/musl/arch cp -rp lib/musl/arch/generic %{buildroot}%{tinygoroot}/lib/musl/arch cp -rp lib/musl/arch/i386 %{buildroot}%{tinygoroot}/lib/musl/arch cp -rp lib/musl/arch/mips %{buildroot}%{tinygoroot}/lib/musl/arch cp -rp lib/musl/arch/x86_64 %{buildroot}%{tinygoroot}/lib/musl/arch install -vdm 0755 %{buildroot}%{tinygoroot}/lib/musl/crt cp -rp lib/musl/crt/crt1.c %{buildroot}%{tinygoroot}/lib/musl/crt install -vdm 0755 %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/conf %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/ctype %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/env %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/errno %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/exit %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/fcntl %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/include %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/internal %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/legacy %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/linux %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/locale %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/malloc %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/mman %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/math %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/misc %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/multibyte %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/sched %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/signal %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/stdio %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/stdlib %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/string %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/thread %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/time %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/unistd %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/musl/src/process %{buildroot}%{tinygoroot}/lib/musl/src cp -rp lib/nrfx %{buildroot}%{tinygoroot}/lib/ install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc/dlmalloc cp -rp lib/wasi-libc/dlmalloc/src %{buildroot}%{tinygoroot}/lib/wasi-libc/dlmalloc install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-bottom-half cp -rp lib/wasi-libc/libc-bottom-half/cloudlibc %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-bottom-half cp -rp lib/wasi-libc/libc-bottom-half/headers %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-bottom-half cp -rp lib/wasi-libc/libc-bottom-half/sources %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-bottom-half install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half cp -rp lib/wasi-libc/libc-top-half/headers %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half cp -rp lib/wasi-libc/libc-top-half/sources %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl cp -rp lib/wasi-libc/libc-top-half/musl/include %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/arch cp -rp lib/wasi-libc/libc-top-half/musl/arch/generic %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/arch cp -rp lib/wasi-libc/libc-top-half/musl/arch/wasm32 %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/arch install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/conf %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/dirent %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/env %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/errno %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/exit %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/fcntl %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/fenv %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/include %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/internal %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/legacy %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/locale %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/math %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/misc %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/multibyte %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/network %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/stat %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/stdio %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/stdlib %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/string %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/thread %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/time %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src cp -rp lib/wasi-libc/libc-top-half/musl/src/unistd %{buildroot}%{tinygoroot}/lib/wasi-libc/libc-top-half/musl/src %if %{with wasi_cli} install -vdm 0755 %{buildroot}%{tinygoroot}/lib/wasi-cli cp -rp lib/wasi-cli/wit %{buildroot}%{tinygoroot}/lib/wasi-cli/wit %endif install -vdm 0755 %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc cp -rp lib/picolibc/newlib/libc/ctype %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc chmod -x %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc/ctype/{mkcaseconv,mkcategories,mkunidata} cp -rp lib/picolibc/newlib/libc/include %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc cp -rp lib/picolibc/newlib/libc/locale %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc cp -rp lib/picolibc/newlib/libc/string %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc chmod -x %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc/string/{mkunidata,mkwide,mkwidthA,uniset} cp -rp lib/picolibc/newlib/libc/tinystdio %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc chmod -x %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libc/tinystdio/make-dtoa-data install -vdm 0755 %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libm cp -rp lib/picolibc/newlib/libm/common %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libm cp -rp lib/picolibc/newlib/libm/math %{buildroot}%{tinygoroot}/lib/picolibc/newlib/libm cp -rp lib/picolibc-stdio.c %{buildroot}%{tinygoroot}/lib cp -rp src %{buildroot}%{tinygoroot}/ rm %{buildroot}%{tinygoroot}/src/examples/wasm/.gitignore cp -rp targets %{buildroot}%{tinygoroot}/ %if %{with check} %global gotestflags %gocompilerflags -v -tags="llvm%{clang_llvm_version}" -timeout 30m %check export TINYGOROOT=%{buildroot}%{tinygoroot} export GOPATH=%{buildroot}%{tinygoroot}:%{gopath} export PATH=%{buildroot}%{_bindir}:$PATH export GO111MODULE=off export XDG_CACHE_HOME="${PWD}/$(mktemp -d tinygo.XXXXXX)" %gocheck -v -t src -t tests ( cd _build/src/%{goipath} && GOPATH=%{currentgosourcedir}/_build:$GOPATH make smoketest STM32=0 XTENSA=0 ) %ifnarch aarch64 make wasmtest %endif make tinygo-test %endif %files %doc README.md CHANGELOG.md CONTRIBUTING.md %license LICENSE %{_bindir}/tinygo %{tinygoroot} %doc %{tinygoroot}/lib/bdwgc/README.md %license %{tinygoroot}/lib/bdwgc/LICENSE %doc %{tinygoroot}/lib/CMSIS/README.md %license %{tinygoroot}/lib/compiler-rt-builtins/LICENSE.TXT %doc %{tinygoroot}/lib/compiler-rt-builtins/README.txt %license %{tinygoroot}/lib/nrfx/LICENSE %doc %{tinygoroot}/lib/nrfx/README.md %license %{tinygoroot}/lib/musl/COPYRIGHT %changelog ## START: Generated by rpmautospec * Mon Aug 25 2025 Elliott Sales de Andrade - 0.39.0-1 - Update to latest version (#2389619) * Fri Aug 15 2025 Maxwell G - 0.38.0-4 - Rebuild for golang-1.25.0 * Fri Aug 08 2025 Elliott Sales de Andrade - 0.38.0-3 - Backport support for Go 1.25 * Sun Aug 03 2025 Elliott Sales de Andrade - 0.38.0-2 - Update build to use LLVM 19 * Sun Aug 03 2025 Elliott Sales de Andrade - 0.38.0-1 - Update to latest version (#2266297) * Sat Aug 02 2025 Elliott Sales de Andrade - 0.34.0-2 - Remove older patches - QEMU is no longer broken for the cases we need. - The optional package suggestion was never fully implemented, so drop it for now. * Sat Aug 02 2025 Elliott Sales de Andrade - 0.34.0-1 - Update to 0.34.0 * Sat Aug 02 2025 Elliott Sales de Andrade - 0.33.0-1 - Update to 0.33.0 * Sat Aug 02 2025 Elliott Sales de Andrade - 0.30.0-12 - Improve build with non-default LLVM/Clang * Fri Jul 25 2025 Fedora Release Engineering - 0.30.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Sun Jan 19 2025 Fedora Release Engineering - 0.30.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Mon Oct 28 2024 Elliott Sales de Andrade - 0.30.0-9 - Switch to SPDX licenses * Wed Sep 04 2024 Miroslav Suchý - 0.30.0-8 - convert license to SPDX * Sat Jul 20 2024 Fedora Release Engineering - 0.30.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Sun Feb 11 2024 Maxwell G - 0.30.0-6 - Rebuild for golang 1.22.0 * Sat Jan 27 2024 Fedora Release Engineering - 0.30.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Nov 05 2023 Elliott Sales de Andrade - 0.30.0-4 - Allow an older version of golang.org/x/tools * Mon Sep 25 2023 Elliott Sales de Andrade - 0.30.0-2 - Backport support for LLVM17 * Mon Sep 25 2023 Elliott Sales de Andrade - 0.30.0-1 - Update to latest version (#2240155) * Mon Sep 25 2023 Elliott Sales de Andrade - 0.29.0-5 - Remove release-specific sources * Tue Aug 29 2023 Elliott Sales de Andrade - 0.29.0-3 - Backport patch for golang.org/x/tools 0.12.0 * Mon Aug 28 2023 Elliott Sales de Andrade - 0.29.0-1 - Updte to latest version (#2214119) * Tue Aug 08 2023 Elliott Sales de Andrade - 0.28.1-1 - Update to latest version (#2214119) * Tue Aug 08 2023 Elliott Sales de Andrade - 0.27.0-5 - Remove outdated arch checks * Sat Jul 22 2023 Fedora Release Engineering - 0.27.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sun Apr 16 2023 Elliott Sales de Andrade - 0.27.0-2 - Add support for LLVM 16 * Sun Feb 26 2023 Elliott Sales de Andrade - 0.27.0-1 - Update to latest version (#2169260) * Mon Jan 23 2023 Elliott Sales de Andrade - 0.26.0-5 - Backport compatibility for Go 1.20 * Sat Jan 21 2023 Fedora Release Engineering - 0.26.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Mon Oct 24 2022 Elliott Sales de Andrade - 0.26.0-3 - Backport patches for LLVM 15 support * Sun Oct 09 2022 Elliott Sales de Andrade - 0.26.0-2 - RPMAUTOSPEC: unresolvable merge ## END: Generated by rpmautospec