Compare commits

..

No commits in common. "rawhide" and "f29" have entirely different histories.

6 changed files with 85 additions and 284 deletions

41
.gitignore vendored
View file

@ -4,44 +4,3 @@
/wabt-testsuite-2a2099d.tar.gz
/wabt-1.0.12.tar.gz
/wabt-testsuite-a4a48e8.tar.gz
/wabt-1.0.13.tar.gz
/wabt-testsuite-c7225cc.tar.gz
/wabt-wasm-c-api-d9a8009.tar.gz
/wabt-1.0.15.tar.gz
/wabt-testsuite-0e7987e.tar.gz
/wabt-1.0.17.tar.gz
/wabt-testsuite-c17cd7f.tar.gz
/wabt-testsuite-d2163da.tar.gz
/wabt-1.0.19.tar.gz
/wabt-1.0.20.tar.gz
/wabt-testsuite-18f8340.tar.gz
/wabt-09ac53e41d959ce8e14e703e627327971e67f6d3.tar.gz
/wabt-1.0.23.tar.gz
/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

View file

@ -1,3 +1,2 @@
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.12.tar.gz) = 48ab1819efbfe0151d9b1a66c2155fd11d6d3841761a949cc26329a1b51ebcc91ba07e9f18c5fd9df8bef28e7b56e1564b82398bdee19dda730019f74d2a8ec0
SHA512 (wabt-testsuite-a4a48e8.tar.gz) = c30d672121dd82698850f5e971ede3adddf20aee72fb60e2ca73884a1635d3bdb0d78ba340e42409389c48534a88a13af8cefa2e782c91382d114d7cb55d809c

12
wabt-issue1044.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up wabt-1.0.10/test/interp/unary.txt.issue1044 wabt-1.0.10/test/interp/unary.txt
--- wabt-1.0.10/test/interp/unary.txt.issue1044 2019-03-07 01:41:26.000000000 +0100
+++ wabt-1.0.10/test/interp/unary.txt 2019-04-15 16:57:16.381632428 +0200
@@ -127,7 +127,7 @@ f64_neg() => f64:-100.000000
f64_abs() => f64:100.000000
f64_sqrt_neg_is_nan() => i32:1
f64_sqrt_100() => f64:10.000000
-f64_ceil() => f64:-0.000000
+f64_ceil() => f64:0.000000
f64_floor() => f64:-1.000000
f64_trunc() => f64:-0.000000
f64_nearest_lo() => f64:1.000000

24
wabt-python.patch Normal file
View file

@ -0,0 +1,24 @@
diff -up wabt-1.0.10/CMakeLists.txt.orig wabt-1.0.10/CMakeLists.txt
--- wabt-1.0.10/CMakeLists.txt.orig 2019-03-15 12:53:00.645283108 +0100
+++ wabt-1.0.10/CMakeLists.txt 2019-03-15 12:55:50.734311159 +0100
@@ -425,7 +425,7 @@ if (NOT EMSCRIPTEN)
endif ()
# test running
- find_package(PythonInterp 2.7 REQUIRED)
+ find_package(Python COMPONENTS Interpreter REQUIRED)
set(RUN_TESTS_PY ${WABT_SOURCE_DIR}/test/run-tests.py)
add_custom_target(run-tests
COMMAND ${CMAKE_BINARY_DIR}/wabt-unittests
diff -up wabt-1.0.12/test/run-spec-wasm2c.py.orig wabt-1.0.12/test/run-spec-wasm2c.py
--- wabt-1.0.12/test/run-spec-wasm2c.py.orig 2019-09-25 23:04:14.000000000 +0200
+++ wabt-1.0.12/test/run-spec-wasm2c.py 2019-10-09 10:14:41.905966919 +0200
@@ -98,6 +98,8 @@ def MangleName(s):
result = 'Z_'
for c in s.encode('utf-8'):
# NOTE(binji): Z is not allowed.
+ if type(c) == int:
+ c=chr(c)
if c in '_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY0123456789':
result += c
else:

View file

@ -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 $<TARGET_FILE_DIR:wat2wasm>
+ COMMAND ${CMAKE_COMMAND} -E env WASM2C_CC=${CMAKE_C_COMPILER} WASM2C_CFLAGS=${WASM2C_CFLAGS} ${Python3_EXECUTABLE} ${RUN_TESTS_PY} --bindir $<TARGET_FILE_DIR:wat2wasm> --timeout=1200
DEPENDS ${WABT_EXECUTABLES}
WORKING_DIRECTORY ${WABT_SOURCE_DIR}
USES_TERMINAL

277
wabt.spec
View file

@ -1,33 +1,27 @@
%undefine __cmake_in_source_build
%bcond_without check
%global commit ad75c5edcdff96d73c245b57fbc07607aaca9f95
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ts_commit d76759e746f3564a03f6106ae19679742f2a1831
%global ts_commit a4a48e88108d555fed8a0a5e7564814468efe1b7
%global ts_shortcommit %(c=%{ts_commit}; echo ${c:0:7})
%global wc_commit b6dd1fb658a282c64b029867845bc50ae59e1497
%global wc_shortcommit %(c=%{wc_commit}; echo ${c:0:7})
Summary: The WebAssembly Binary Toolkit
Name: wabt
Version: 1.0.41
Release: 3%{?dist}
Version: 1.0.12
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
# Fix python detection and port to python3
# https://github.com/WebAssembly/wabt/issues/1181
Patch2: wabt-python.patch
# https://github.com/WebAssembly/wabt/issues/1044
Patch3: wabt-issue1044.patch
License: ASL 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
BuildRequires: python3-ply
BuildRequires: %{_bindir}/pathfix.py
%endif
# wasm.h from https://github.com/WebAssembly/wasm-c-api/ is used for build
Provides: bundled(wasm-c-api) = %{wc_commit}
%description
WABT (we pronounce it "wabbit") is a suite of tools for WebAssembly. These tools
@ -41,74 +35,67 @@ 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},}
%patch2 -p1
%if %{with check}
%ifarch i686
%patch3 -p1
%endif
rmdir third_party/testsuite
tar xzf %{S:1} -C third_party
mv third_party/testsuite{-%{ts_commit},}
%patch 0 -p1 -b .timeout
pathfix.py -i "%{__python3} -Es" -p test/*.py
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
# https://github.com/WebAssembly/wabt/issues/1063
pushd wasm2c/spec
%ifarch i686 ppc64 ppc64le
rm conversions.txt
%endif
%ifarch i686
rm \
float_exprs.txt\
float_literals.txt\
float_memory.txt\
float_misc.txt\
%endif
popd
%ifarch ppc64
rm spec/{conversions.txt,nontrapping-float-to-int-conversions/conversions.txt}
rm wasm2c/spec/f{32,64}.txt
%endif
# https://github.com/WebAssembly/wabt/issues/1180
rm regress/regress-30.txt
popd
%endif
%build
%cmake -DUSE_SYSTEM_GTEST=ON \
%ifarch i686
-DWASM2C_CFLAGS="-msse2 -mfpmath=sse"
%endif
%cmake_build
# work around https://github.com/WebAssembly/wabt/issues/988
mkdir -p build
cd build
%cmake -DUSE_SYSTEM_GTEST=ON ..
%make_build
%install
%cmake_install
cd build
%make_install
%if %{with check}
# ~250 tests fail on big-endian arches
%ifnarch ppc64 s390x
%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 --timeout=20 %{?_smp_mflags}
%endif
%endif
%files
%license LICENSE
%doc README.md
%{_bindir}/spectest-interp
%{_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 +103,10 @@ 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.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,163 +116,6 @@ cmake --build redhat-linux-build --verbose --target run-tests %{?_smp_mflags}
%{_mandir}/man1/wat2wasm.1*
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.41-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.0.41-2
- Rebuilt for openssl 4.0
* Thu May 21 2026 Dominik Mierzejewski <dominik@greysector.net> - 1.0.41-1
- update to 1.0.41 (resolves rhbz#2467788)
* Thu Apr 16 2026 Dominik Mierzejewski <dominik@greysector.net> 1.0.40-1
- update to 1.0.40 (resolves rhbz#2446432)
- stop using obsolete cmake3 macros
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.39-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Mon Nov 17 2025 Dominik Mierzejewski <dominik@greysector.net> 1.0.39-1
- update to 1.0.39 (resolves rhbz#2401391)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.37-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Mar 04 2025 Dominik Mierzejewski <dominik@greysector.net> 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 <dominik@greysector.net> 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 <releng@fedoraproject.org> - 1.0.36-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Sep 09 2024 Dominik Mierzejewski <dominik@greysector.net> 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ý <msuchy@redhat.com> - 1.0.33-5
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.33-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.33-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.33-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu May 25 2023 Dominik Mierzejewski <dominik@greysector.net> 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 <releng@fedoraproject.org> - 1.0.32-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 03 2023 Dominik Mierzejewski <dominik@greysector.net> 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 <dominik@greysector.net> 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 <dominik@greysector.net> 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 <releng@fedoraproject.org> - 1.0.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed May 25 2022 Dominik Mierzejewski <dominik@greysector.net> 1.0.29-1
- update to 1.0.29
* Fri Apr 01 2022 Dominik Mierzejewski <dominik@greysector.net> 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 <dominik@greysector.net> 1.0.27-1
- update to 1.0.27 (#2055947)
- drop armv7hl
* Mon Feb 07 2022 Dominik Mierzejewski <rpm@greysector.net> 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 <releng@fedoraproject.org> - 1.0.24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Aug 20 2021 Dominik Mierzejewski <rpm@greysector.net> 1.0.24-1
- update to 1.0.24 (#1993479)
- enable skipped tests on s390x (fixed upstream)
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 14 2021 Dominik Mierzejewski <rpm@greysector.net> 1.0.23-1
- update to 1.0.23 (#1934466)
- drop obsolete patch
- skip some failing tests on s390x and ppc64le (reported upstream)
* Tue Feb 02 2021 Dominik Mierzejewski <rpm@greysector.net> 1.0.20-3.20210130git09ac53e
- update to 09ac53e git snapshot
- enable building on big-endian (fixed upstream)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Nov 13 2020 Dominik Mierzejewski <rpm@greysector.net> 1.0.20-1
- update to 1.0.20 (#1896654)
* Mon Aug 17 2020 Dominik Mierzejewski <rpm@greysector.net> 1.0.19-1
- update to 1.0.19 (#1838384)
- drop obsolete patches
- adapt to https://www.fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 24 2020 Jeff Law <law@redhat.com> 1.0.17-2
- Use __cmake_in_source_build
* Tue Jul 14 2020 Dominik Mierzejewski <rpm@greysector.net> 1.0.17-1
- update to 1.0.17 (#1838384)
- backport a fix for 32-bit arches
- stop pretending it works on big-endian
- use names and macros portable across Fedora and EPEL
* Wed May 06 2020 Dominik Mierzejewski <rpm@greysector.net> 1.0.15-1
- update to 1.0.15 (#1832317)
- pathfix.py no longer required, upstream moved to python3-only
- skip new failing tests in i686 and ppc64le (reported upstream)
* Fri Mar 20 2020 Dominik Mierzejewski <rpm@greysector.net> 1.0.13-1
- update to 1.0.13 (#1792557)
- drop obsolete patch and work-arounds
- bundle wasm-c-api (only wasm.h used for build)
- double test timeout again to prevent failures on armv7hl
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Sep 28 2019 Dominik Mierzejewski <rpm@greysector.net> 1.0.12-1
- update to 1.0.12 (#1755644)
- drop obsolete patch
@ -304,9 +126,6 @@ cmake --build redhat-linux-build --verbose --target run-tests %{?_smp_mflags}
- update to 1.0.11
- drop obsolete patches
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Apr 15 2019 Dominik Mierzejewski <rpm@greysector.net> 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