diff --git a/.gitignore b/.gitignore index 8054c6c..583cdcc 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,16 @@ /wabt-1.0.31.tar.gz /wabt-testsuite-3a04b2c.tar.gz /wabt-1.0.32.tar.gz +/wabt-1.0.33.tar.gz +/wabt-testsuite-7ef86dd.tar.gz +/wabt-wasm-c-api-b6dd1fb.tar.gz +/wabt-1.0.35.tar.gz +/wabt-testsuite-0a394e3.tar.gz +/wabt-1.0.36.tar.gz +/wabt-testsuite-f3f0486.tar.gz +/wabt-1.0.37.tar.gz +/wabt-testsuite-cbc54d7.tar.gz +/wabt-1.0.39.tar.gz +/wabt-testsuite-d76759e.tar.gz +/wabt-1.0.40.tar.gz +/wabt-1.0.41.tar.gz diff --git a/sources b/sources index 55a04a6..dab7fb8 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (wabt-1.0.32.tar.gz) = 2d87ec27a642cf9b291accc52417e4db59a5b23ab4475b9e810ad27d5838c75527657d4b6afb87c99bf73e63e664112132896ca4506fac3acef07deffd51c457 -SHA512 (wabt-testsuite-3a04b2c.tar.gz) = 4af272082c755d2cc5a5156137ac76dc2496c5eee46fe6a7b58cb795daf59a02398aed224cf9cd48de4bc74d3a7eec81ee4f94d789be6ff879d665578a369040 -SHA512 (wabt-wasm-c-api-d9a8009.tar.gz) = b6ee7d2d83a3ca7b3cb3ee110282f7d32eada1d9020cadd3fdec58f40478879fd9ac9fada526021d8f6e8a26e1df7353df313d4149be2ffe4aea3a28f856fd89 +SHA512 (wabt-1.0.41.tar.gz) = afa21608c20e42b009ef4685b04a42bdaf087ffec7e5e6bc2d91a8ffd801cb54f5c67a06ad2ec4398dd190543146c79d41a444b0aa21112685d81fd192d8ffd5 +SHA512 (wabt-testsuite-d76759e.tar.gz) = fa5a6315098d2764e7170feeefaa8161ea5577769b98f4a4301e594e555dccb59395212a33585970509912ae08bb40478119e989894e60e0103acd52378837ea +SHA512 (wabt-wasm-c-api-b6dd1fb.tar.gz) = 5d3eec2184f8b66e2358b85f416afaea172f24155a61c9412a9d9374aa50347cf0ebe940f35727bc8c0ffe287033b967cc97a857feab6aa9e5098458e72b4fd0 diff --git a/wabt-32bit.patch b/wabt-32bit.patch deleted file mode 100644 index fe7e5fa..0000000 --- a/wabt-32bit.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up wabt-1.0.31/test/spec-wasm2c-prefix.c.32bit wabt-1.0.31/test/spec-wasm2c-prefix.c ---- wabt-1.0.31/test/spec-wasm2c-prefix.c.32bit 2022-11-14 05:43:40.000000000 +0100 -+++ wabt-1.0.31/test/spec-wasm2c-prefix.c 2022-12-11 22:17:36.181299604 +0100 -@@ -200,7 +200,7 @@ static bool is_equal_wasm_rt_funcref_t(w - (x.module_instance == y.module_instance); - } - --wasm_rt_externref_t spectest_make_externref(u64 x) { -+wasm_rt_externref_t spectest_make_externref(uintptr_t x) { - return (wasm_rt_externref_t)(x + 1); // externref(0) is not null - } - diff --git a/wabt-test-timeout.patch b/wabt-test-timeout.patch new file mode 100644 index 0000000..3777a43 --- /dev/null +++ b/wabt-test-timeout.patch @@ -0,0 +1,12 @@ +diff -up wabt-1.0.36/CMakeLists.txt.orig wabt-1.0.36/CMakeLists.txt +--- wabt-1.0.36/CMakeLists.txt.orig 2024-07-31 19:40:07.000000000 +0200 ++++ wabt-1.0.36/CMakeLists.txt 2025-02-21 09:56:15.768904412 +0100 +@@ -726,7 +726,7 @@ if (BUILD_TESTS) + set(RUN_TESTS_PY ${WABT_SOURCE_DIR}/test/run-tests.py) + + add_custom_target(run-tests +- COMMAND ${CMAKE_COMMAND} -E env WASM2C_CC=${CMAKE_C_COMPILER} WASM2C_CFLAGS=${WASM2C_CFLAGS} ${Python3_EXECUTABLE} ${RUN_TESTS_PY} --bindir $ ++ COMMAND ${CMAKE_COMMAND} -E env WASM2C_CC=${CMAKE_C_COMPILER} WASM2C_CFLAGS=${WASM2C_CFLAGS} ${Python3_EXECUTABLE} ${RUN_TESTS_PY} --bindir $ --timeout=1200 + DEPENDS ${WABT_EXECUTABLES} + WORKING_DIRECTORY ${WABT_SOURCE_DIR} + USES_TERMINAL diff --git a/wabt-tests.patch b/wabt-tests.patch deleted file mode 100644 index c44041f..0000000 --- a/wabt-tests.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up wabt-1.0.30/test/run-spec-wasm2c.py.orig wabt-1.0.30/test/run-spec-wasm2c.py ---- wabt-1.0.30/test/run-spec-wasm2c.py.orig 2022-09-30 23:24:30.000000000 +0200 -+++ wabt-1.0.30/test/run-spec-wasm2c.py 2022-10-16 01:36:24.656799647 +0200 -@@ -391,6 +391,8 @@ def Compile(cc, c_filename, out_dir, *ar - '-Wno-ignored-optimization-argument', - '-Wno-tautological-constant-out-of-range-compare', - '-Wno-infinite-recursion', -+ '-Wno-array-bounds', -+ '-Wbidi-chars=none', - '-fno-optimize-sibling-calls', - '-frounding-math', '-fsignaling-nans', - '-std=c99', '-D_DEFAULT_SOURCE'] diff --git a/wabt.spec b/wabt.spec index bacb184..5c0d5e9 100644 --- a/wabt.spec +++ b/wabt.spec @@ -1,30 +1,30 @@ %undefine __cmake_in_source_build %bcond_without check -%global commit 3e8207aabe969098d2b4941142a1973008c63033 +%global commit ad75c5edcdff96d73c245b57fbc07607aaca9f95 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global ts_commit 3a04b2cf93bd8fce277458d419eea8d9c326345c +%global ts_commit d76759e746f3564a03f6106ae19679742f2a1831 %global ts_shortcommit %(c=%{ts_commit}; echo ${c:0:7}) -%global wc_commit d9a80099d496b5cdba6f3fe8fc77586e0e505ddc +%global wc_commit b6dd1fb658a282c64b029867845bc50ae59e1497 %global wc_shortcommit %(c=%{wc_commit}; echo ${c:0:7}) Summary: The WebAssembly Binary Toolkit Name: wabt -Version: 1.0.32 -Release: 1%{?dist} +Version: 1.0.41 +Release: 3%{?dist} URL: https://github.com/WebAssembly/wabt Source0: https://github.com/WebAssembly/wabt/archive/%{version}/%{name}-%{version}.tar.gz Source1: https://github.com/WebAssembly/testsuite/archive/%{ts_commit}/%{name}-testsuite-%{ts_shortcommit}.tar.gz Source2: https://github.com/WebAssembly/wasm-c-api/archive/%{wc_commit}/%{name}-wasm-c-api-%{wc_shortcommit}.tar.gz -# https://github.com/WebAssembly/wabt/issues/1885 -Patch0: wabt-tests.patch -# https://github.com/WebAssembly/wabt/issues/2099 -Patch1: wabt-32bit.patch -License: ASL 2.0 -BuildRequires: cmake3 +# increase test timeout to avoid failures +Patch0: %{name}-test-timeout.patch +License: Apache-2.0 +BuildRequires: cmake BuildRequires: gcc-c++ +BuildRequires: openssl-devel %if %{with check} BuildRequires: gtest-devel BuildRequires: python%{python3_pkgversion}-ply +BuildRequires: simde-devel >= 0.8.2 %endif # wasm.h from https://github.com/WebAssembly/wasm-c-api/ is used for build Provides: bundled(wasm-c-api) = %{wc_commit} @@ -48,15 +48,11 @@ mv third_party/wasm-c-api{-%{wc_commit},} rmdir third_party/testsuite tar xzf %{S:1} -C third_party mv third_party/testsuite{-%{ts_commit},} -%patch0 -p1 -b .orig -%patch1 -p1 -b .32bit +%patch 0 -p1 -b .timeout pushd test -# https://github.com/WebAssembly/wabt/issues/2118 -%ifarch aarch64 -rm spec/relaxed-simd/relaxed_madd_nmadd.txt -%endif # https://github.com/WebAssembly/wabt/issues/1044 %ifarch i686 +rm regress/empty-quoted-module.txt rm spec/float_exprs.txt rm spec/float_misc.txt rm spec/local_tee.txt @@ -69,38 +65,40 @@ rm wasm2c/spec/float_memory.txt rm wasm2c/spec/float_misc.txt rm wasm2c/spec/float_exprs.txt rm wasm2c/spec/local_tee.txt +rm wasm2c/spec/memory64/float_memory64.txt +rm wasm2c/spec/multi-memory/float_memory0.txt rm wasm2c/spec/select.txt +rm wast2json/test-invalid-quoted-modules.txt %endif # https://github.com/WebAssembly/wabt/issues/1045 -# https://github.com/WebAssembly/wabt/issues/2118 +# https://github.com/WebAssembly/wabt/issues/2240 %ifarch ppc64le rm spec/conversions.txt -rm spec/relaxed-simd/relaxed_madd_nmadd.txt rm spec/simd_conversions.txt -rm wasm2c/spec/conversions.txt -%endif -# https://github.com/WebAssembly/wabt/issues/2070 -# https://github.com/WebAssembly/wabt/issues/2118 -%ifarch s390x -rm spec/relaxed-simd/relaxed_madd_nmadd.txt -rm wasm2c/spec/bulk.txt -rm wasm2c/spec/memory_copy.txt -rm wasm2c/spec/memory_fill.txt -rm wasm2c/spec/memory_init.txt +rm wasm2c/spec/memory64/simd_address.txt +rm wasm2c/spec/simd_address.txt +rm wasm2c/spec/simd_f32x4_arith.txt +rm wasm2c/spec/simd_f32x4_pmin_pmax.txt +rm wasm2c/spec/simd_splat.txt %endif popd %endif %build -%cmake3 -DUSE_SYSTEM_GTEST=ON -%cmake3_build +%cmake -DUSE_SYSTEM_GTEST=ON \ +%ifarch i686 + -DWASM2C_CFLAGS="-msse2 -mfpmath=sse" +%endif +%cmake_build %install -%cmake3_install +%cmake_install %if %{with check} %check -test/run-tests.py -v --bindir %{_vpath_builddir} --timeout=240 %{?_smp_mflags} +# See https://github.com/WebAssembly/wabt/blob/main/.github/workflows/build.yml#L261 +cmake --build redhat-linux-build --verbose --target run-unittests %{?_smp_mflags} +cmake --build redhat-linux-build --verbose --target run-tests %{?_smp_mflags} %endif %files @@ -110,7 +108,7 @@ test/run-tests.py -v --bindir %{_vpath_builddir} --timeout=240 %{?_smp_mflags} %{_bindir}/wasm-decompile %{_bindir}/wasm-interp %{_bindir}/wasm-objdump -%{_bindir}/wasm-opcodecnt +%{_bindir}/wasm-stats %{_bindir}/wasm-strip %{_bindir}/wasm-validate %{_bindir}/wasm2c @@ -121,6 +119,7 @@ test/run-tests.py -v --bindir %{_vpath_builddir} --timeout=240 %{?_smp_mflags} %{_datadir}/wabt %{_includedir}/wabt %{_includedir}/wasm-rt.h +%{_includedir}/wasm-rt-exceptions.h %{_libdir}/cmake/wabt %{_libdir}/libwabt.a %{_libdir}/libwasm-rt-impl.a @@ -128,7 +127,7 @@ test/run-tests.py -v --bindir %{_vpath_builddir} --timeout=240 %{?_smp_mflags} %{_mandir}/man1/wasm-decompile.1* %{_mandir}/man1/wasm-interp.1* %{_mandir}/man1/wasm-objdump.1* -%{_mandir}/man1/wasm-opcodecnt.1* +%{_mandir}/man1/wasm-stats.1* %{_mandir}/man1/wasm-strip.1* %{_mandir}/man1/wasm-validate.1* %{_mandir}/man1/wasm2c.1* @@ -138,6 +137,73 @@ test/run-tests.py -v --bindir %{_vpath_builddir} --timeout=240 %{?_smp_mflags} %{_mandir}/man1/wat2wasm.1* %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.0.41-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jun 13 2026 Yaakov Selkowitz - 1.0.41-2 +- Rebuilt for openssl 4.0 + +* Thu May 21 2026 Dominik Mierzejewski - 1.0.41-1 +- update to 1.0.41 (resolves rhbz#2467788) + +* Thu Apr 16 2026 Dominik Mierzejewski 1.0.40-1 +- update to 1.0.40 (resolves rhbz#2446432) +- stop using obsolete cmake3 macros + +* Sat Jan 17 2026 Fedora Release Engineering - 1.0.39-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Mon Nov 17 2025 Dominik Mierzejewski 1.0.39-1 +- update to 1.0.39 (resolves rhbz#2401391) + +* Fri Jul 25 2025 Fedora Release Engineering - 1.0.37-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Mar 04 2025 Dominik Mierzejewski 1.0.37-1 +- update to 1.0.37 (resolves rhbz#2349655) +- skip new failing tests on i686 and ppc64le +- re-enable wasm2c/spec/float_exprs.txt test, now that GCC 15 is fixed + +* Fri Feb 21 2025 Dominik Mierzejewski 1.0.36-3 +- use upstream way of running tests +- run unit tests +- re-enable most tests on s390x now that they pass +- skip failing test on ppc64le and s390x with GCC 15 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.0.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Sep 09 2024 Dominik Mierzejewski 1.0.36-1 +- update to 1.0.36 (#2246227) +- drop obsolete patches +- fix some tests in i686 +- simde-0.8.2 is now required +- run all tests on aarch64, all issues resolved +- review skipped tests on i686, ppc64le and s390x + +* Wed Jul 24 2024 Miroslav Suchý - 1.0.33-5 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 1.0.33-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 1.0.33-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.0.33-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu May 25 2023 Dominik Mierzejewski 1.0.33-1 +- update to 1.0.33 (#2203483) +- drop obsolete patch +- disable failing tests on aarch64 and ppc64le (reported upstream) +- fix running tests on i686 +- disable failing wasm2c tests on s390x (big endian not supported upstream) +- fix deprecated patchN macro usage + +* Sat Jan 21 2023 Fedora Release Engineering - 1.0.32-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Tue Jan 03 2023 Dominik Mierzejewski 1.0.32-1 - update to 1.0.32 (#2156897) - skip one new failing test on aarch64, ppc64le and s390x for now