diff --git a/.gitignore b/.gitignore index 583cdcc..d45d290 100644 --- a/.gitignore +++ b/.gitignore @@ -20,28 +20,4 @@ /wabt-testsuite-9994915.tar.gz /wabt-1.0.24.tar.gz /wabt-testsuite-01efde8.tar.gz -/wabt-1.0.25.tar.gz -/wabt-testsuite-6241ce9.tar.gz -/wabt-1.0.27.tar.gz -/wabt-1.0.28.tar.gz -/wabt-testsuite-2c235ce.tar.gz -/wabt-1.0.29.tar.gz -/wabt-testsuite-d42da01.tar.gz -/wabt-1.0.30.tar.gz -/wabt-testsuite-4f77306.tar.gz -/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 +/googletest-703bd9c.tar.gz diff --git a/sources b/sources index dab7fb8..3771df8 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -SHA512 (wabt-1.0.41.tar.gz) = afa21608c20e42b009ef4685b04a42bdaf087ffec7e5e6bc2d91a8ffd801cb54f5c67a06ad2ec4398dd190543146c79d41a444b0aa21112685d81fd192d8ffd5 -SHA512 (wabt-testsuite-d76759e.tar.gz) = fa5a6315098d2764e7170feeefaa8161ea5577769b98f4a4301e594e555dccb59395212a33585970509912ae08bb40478119e989894e60e0103acd52378837ea -SHA512 (wabt-wasm-c-api-b6dd1fb.tar.gz) = 5d3eec2184f8b66e2358b85f416afaea172f24155a61c9412a9d9374aa50347cf0ebe940f35727bc8c0ffe287033b967cc97a857feab6aa9e5098458e72b4fd0 +SHA512 (wabt-1.0.24.tar.gz) = 6257702f06baace7eded7fd4890cbf23e533f20ee6c40de82a7a4cd32fe931a49efd3cbfc1355c4da49e6fbd3b62b1cf05edf1699313840d4825a2165a3928a8 +SHA512 (wabt-testsuite-01efde8.tar.gz) = 549c2e13ebbd7d87013426d8cdeaa0a6177928307b688e1b90026e79683f7964f09dfb47294b34ba9190d0f3acb279f6d0a924e1f1a9112fc9d89637b8cb9efd +SHA512 (wabt-wasm-c-api-d9a8009.tar.gz) = b6ee7d2d83a3ca7b3cb3ee110282f7d32eada1d9020cadd3fdec58f40478879fd9ac9fada526021d8f6e8a26e1df7353df313d4149be2ffe4aea3a28f856fd89 +SHA512 (googletest-703bd9c.tar.gz) = 0b7b9f50efc117de5a6ebfb59006f2bd9da307e546f2cbb8e14e247bfa11b1048b8a361f3aa04f9df78e72e6a43d9051eae4c112fb45b6fd29992ac00e0612e6 diff --git a/wabt-test-timeout.patch b/wabt-test-timeout.patch deleted file mode 100644 index 3777a43..0000000 --- a/wabt-test-timeout.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-testsuite.patch b/wabt-testsuite.patch new file mode 100644 index 0000000..d687723 --- /dev/null +++ b/wabt-testsuite.patch @@ -0,0 +1,12 @@ +diff -up wabt-1.0.24/test/run-spec-wasm2c.py.utf8 wabt-1.0.24/test/run-spec-wasm2c.py +--- wabt-1.0.24/test/run-spec-wasm2c.py.utf8 2021-08-11 22:00:51.000000000 +0200 ++++ wabt-1.0.24/test/run-spec-wasm2c.py 2021-08-20 13:47:48.766113890 +0200 +@@ -390,7 +390,7 @@ def main(args): + + cc = utils.Executable(options.cc, *options.cflags) + +- with open(json_file_path) as json_file: ++ with open(json_file_path, encoding="utf-8") as json_file: + spec_json = json.load(json_file) + + prefix = '' diff --git a/wabt.spec b/wabt.spec index 5c0d5e9..f8f571b 100644 --- a/wabt.spec +++ b/wabt.spec @@ -1,30 +1,31 @@ -%undefine __cmake_in_source_build +%undefine __cmake3_in_source_build %bcond_without check -%global commit ad75c5edcdff96d73c245b57fbc07607aaca9f95 +%global commit 21279a861fa3dbac9af9d2bab16c741df17a86af %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global ts_commit d76759e746f3564a03f6106ae19679742f2a1831 +%global ts_commit 01efde81028c5b0d099eb836645a2dc5e7755449 %global ts_shortcommit %(c=%{ts_commit}; echo ${c:0:7}) -%global wc_commit b6dd1fb658a282c64b029867845bc50ae59e1497 +%global wc_commit d9a80099d496b5cdba6f3fe8fc77586e0e505ddc %global wc_shortcommit %(c=%{wc_commit}; echo ${c:0:7}) +%global gt_commit 703bd9caab50b139428cea1aaff9974ebee5742e +%global gt_shortcommit %(c=%{gt_commit}; echo ${c:0:7}) Summary: The WebAssembly Binary Toolkit Name: wabt -Version: 1.0.41 -Release: 3%{?dist} +Version: 1.0.24 +Release: 1%{?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 -# increase test timeout to avoid failures -Patch0: %{name}-test-timeout.patch -License: Apache-2.0 -BuildRequires: cmake -BuildRequires: gcc-c++ -BuildRequires: openssl-devel +Source3: https://github.com/google/googletest/archive/%{gt_commit}/googletest-%{gt_shortcommit}.tar.gz +# https://github.com/WebAssembly/wabt/issues/1704 +Patch0: %{name}-testsuite.patch +License: ASL 2.0 +BuildRequires: cmake3 +# https://github.com/WebAssembly/wabt/issues/1703 +BuildRequires: devtoolset-10-gcc-c++ %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} @@ -41,64 +42,38 @@ with the spec (e.g. 1:1 round-trips with no changes to instructions). %prep %setup -q -rmdir third_party/wasm-c-api -tar xzf %{S:2} -C third_party -mv third_party/wasm-c-api{-%{wc_commit},} %if %{with check} -rmdir third_party/testsuite +%patch0 -p1 -b .utf8 +rmdir third_party/{gtest,testsuite,wasm-c-api} tar xzf %{S:1} -C third_party mv third_party/testsuite{-%{ts_commit},} -%patch 0 -p1 -b .timeout +tar xzf %{S:2} -C third_party +mv third_party/wasm-c-api{-%{wc_commit},} +tar xzf %{S:3} -C third_party +mv third_party/{googletest-%{gt_commit},gtest} pushd test -# 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 -rm spec/simd_f32x4_arith.txt -rm spec/simd_f32x4_pmin_pmax.txt -rm spec/simd_f64x2_arith.txt -rm spec/simd_f64x2_pmin_pmax.txt -rm wasm2c/spec/conversions.txt -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/2240 %ifarch ppc64le rm spec/conversions.txt -rm spec/simd_conversions.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 +rm spec/simd/simd_conversions.txt +rm wasm2c/spec/conversions.txt +rm wasm2c/spec/f32.txt +rm wasm2c/spec/f64.txt %endif popd %endif %build -%cmake -DUSE_SYSTEM_GTEST=ON \ -%ifarch i686 - -DWASM2C_CFLAGS="-msse2 -mfpmath=sse" -%endif -%cmake_build +. /opt/rh/devtoolset-10/enable +%cmake3 -DUSE_SYSTEM_GTEST=OFF +%cmake3_build %install -%cmake_install +%cmake3_install %if %{with check} %check -# 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} +test/run-tests.py -v --bindir %{_vpath_builddir} --timeout=80 %{?_smp_mflags} %endif %files @@ -108,7 +83,7 @@ cmake --build redhat-linux-build --verbose --target run-tests %{?_smp_mflags} %{_bindir}/wasm-decompile %{_bindir}/wasm-interp %{_bindir}/wasm-objdump -%{_bindir}/wasm-stats +%{_bindir}/wasm-opcodecnt %{_bindir}/wasm-strip %{_bindir}/wasm-validate %{_bindir}/wasm2c @@ -116,18 +91,14 @@ cmake --build redhat-linux-build --verbose --target run-tests %{?_smp_mflags} %{_bindir}/wast2json %{_bindir}/wat-desugar %{_bindir}/wat2wasm -%{_datadir}/wabt -%{_includedir}/wabt +%{_includedir}/wasm-rt-impl.h %{_includedir}/wasm-rt.h -%{_includedir}/wasm-rt-exceptions.h -%{_libdir}/cmake/wabt -%{_libdir}/libwabt.a %{_libdir}/libwasm-rt-impl.a %{_mandir}/man1/spectest-interp.1* %{_mandir}/man1/wasm-decompile.1* %{_mandir}/man1/wasm-interp.1* %{_mandir}/man1/wasm-objdump.1* -%{_mandir}/man1/wasm-stats.1* +%{_mandir}/man1/wasm-opcodecnt.1* %{_mandir}/man1/wasm-strip.1* %{_mandir}/man1/wasm-validate.1* %{_mandir}/man1/wasm2c.1* @@ -137,116 +108,13 @@ cmake --build redhat-linux-build --verbose --target run-tests %{?_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 - -* Fri Dec 09 2022 Dominik Mierzejewski 1.0.31-1 -- update to 1.0.31 (#2143772) -- fix build on 32-bit -- fix build --without check - -* Sat Oct 15 2022 Dominik Mierzejewski 1.0.30-1 -- update to 1.0.30 (#2132095) -- increase timeout to fix tests on ARM -- skip some new failing tests on i686 and s390x for now - -* Sat Jul 23 2022 Fedora Release Engineering - 1.0.29-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed May 25 2022 Dominik Mierzejewski 1.0.29-1 -- update to 1.0.29 - -* Fri Apr 01 2022 Dominik Mierzejewski 1.0.28-1 -- update to 1.0.28 (#2065997) -- run fixed tests on 32-bit again -- work around test failures due to new gcc-12 warnings - -* Tue Mar 15 2022 Dominik Mierzejewski 1.0.27-1 -- update to 1.0.27 (#2055947) -- drop armv7hl - -* Mon Feb 07 2022 Dominik Mierzejewski 1.0.25-1 -- update to 1.0.25 (#2047107) -- skip some new failing tests on 32-bit -- skip two more failing tests on i686 - -* Sat Jan 22 2022 Fedora Release Engineering - 1.0.24-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - * Fri Aug 20 2021 Dominik Mierzejewski 1.0.24-1 - update to 1.0.24 (#1993479) - enable skipped tests on s390x (fixed upstream) - -* Fri Jul 23 2021 Fedora Release Engineering - 1.0.23-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +- use _cmake3_in_source_build macro on EPEL +- use bundled gtest +- use gcc from devtoolset-10 +- fix test/wasm2c/spec/names.txt test with python-3.6 * Fri May 14 2021 Dominik Mierzejewski 1.0.23-1 - update to 1.0.23 (#1934466) @@ -297,16 +165,11 @@ cmake --build redhat-linux-build --verbose --target run-tests %{?_smp_mflags} * Sat Sep 28 2019 Dominik Mierzejewski 1.0.12-1 - update to 1.0.12 (#1755644) - drop obsolete patch -- disable regress/regress-30.txt until fixed for python3 -- fix running test/wasm2c/spec tests under python3 * Thu Sep 12 2019 Dominik Mierzejewski 1.0.11-1 - update to 1.0.11 - drop obsolete patches -* Sat Jul 27 2019 Fedora Release Engineering - 1.0.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - * Mon Apr 15 2019 Dominik Mierzejewski 1.0.10-2 - backport some fixes for test failures from upstream git - run tests in parallel and double timeout to prevent failures on armv7hl