diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..fcc7b97
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ test
+
diff --git a/python-QtPy.changes b/python-QtPy.changes
index 82e00f6..9de2e27 100644
--- a/python-QtPy.changes
+++ b/python-QtPy.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Mon Apr 11 08:03:56 UTC 2022 - Ben Greiner
+
+- Disable PyQt6-WebEngine tests for 32-bit platforms
+ * QtWebEngine 6.3.0 disabled 32-bit support
+ * Needs multibuild flavor for platform specific conditions
+
-------------------------------------------------------------------
Sat Apr 9 20:48:40 UTC 2022 - Ben Greiner
diff --git a/python-QtPy.spec b/python-QtPy.spec
index e736fd3..4216e5f 100644
--- a/python-QtPy.spec
+++ b/python-QtPy.spec
@@ -1,5 +1,5 @@
#
-# spec file for package python-QtPy
+# spec file
#
# Copyright (c) 2022 SUSE LLC
#
@@ -16,13 +16,28 @@
#
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test"
+%define psuffix -test
+%bcond_without test
+%else
+%define psuffix %{nil}
+%bcond_with test
+BuildArch: noarch
+%endif
+%bcond_without pyqt5
%bcond_without pyqt6
-# unfortunately we get a segfault in the PyQt5 test suite when pyside6 is installed (!?)
+%ifnarch %power64 s390x
+%bcond_without pyside2
+%else
+%bcond_with pyside2
+%endif
+# unfortunately we get a segfault in the other backends when pyside6 is installed at the same time (!?)
%bcond_with pyside6
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
-Name: python-QtPy
+Name: python-QtPy%{psuffix}
Version: 2.0.1
Release: 0
Summary: Abstraction layer on top of Qt bindings
@@ -41,28 +56,37 @@ Requires: python-packaging
# know what backend to recommend and what extras to require (e.g.
# qtwebengine). Note that setup.py does not declare any requirements,
# in this regard either.
-BuildArch: noarch
-# SECTION test requirements
+%if %{with test}
BuildRequires: %{python_module pytest >= 6}
BuildRequires: %{python_module pytest-qt}
+%if %{with pyqt5}
BuildRequires: %{python_module qt3d-qt5}
BuildRequires: %{python_module qt5}
BuildRequires: %{python_module qtcharts-qt5}
BuildRequires: %{python_module qtdatavis3d-qt5}
+%ifnarch %{power64} s390x
BuildRequires: %{python_module qtwebengine-qt5}
-BuildRequires: python3-pyside2
+%endif
+%endif
%if %{with pyqt6}
BuildRequires: %{python_module PyQt6-3D}
BuildRequires: %{python_module PyQt6-Charts}
BuildRequires: %{python_module PyQt6-DataVisualization}
-BuildRequires: %{python_module PyQt6-WebEngine}
BuildRequires: %{python_module PyQt6}
BuildRequires: qt6-sql-sqlite
+%ifnarch %{ix86} %{arm} %{power64} s390x
+# QtWebEngine 6.3.0 ceased support for 32-bit
+BuildRequires: %{python_module PyQt6-WebEngine}
+%endif
+%endif
+%if %{with pyside2}
+BuildRequires: python3-pyside2
%endif
%if %{with pyside6}
BuildRequires: python3-pyside6
+BuildRequires: qt6-sql-sqlite
+%endif
%endif
-# /SECTION
%python_subpackages
%description
@@ -86,36 +110,57 @@ sed -i '/skipif.*not PYSIDE2/ d' qtpy/tests/test_qtcharts.py
%python_build
%install
+%if ! %{with test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%endif
%check
+%if %{with test}
export QT_HASH_SEED=0
export QT_QPA_PLATFORM="offscreen"
mkdir empty
pushd empty
-# no QtOpenGL for these platforms in our PyQt5
-donttest=$(python3 -c 'import platform; print(" or test_qtopengl" if platform.processor() in ["armv7l", "aarch64"] else "")')
+%ifarch %{arm} aarch64
+# no QtOpenGL for these platforms
+donttest=" or test_qtopengl"
+%endif
+%if %{with pyqt5}
# no QtSensors in our PyQt5
donttest_pyqt5=" or test_qtsensors"
+%ifarch %{power64} s390x
+# No QtWebengine on ppc and s390x
+donttest_pyqt5="${donttest_pyqt5} or test_qtwebengine or test_qt_api"
+%endif
export QT_API=pyqt5 FORCE_QT_API=1
%pytest -rwEfs -v ../qtpy/tests/ -k "not (dummyprefix $donttest $donttest_pyqt5)"
-%if %{with pyqt6}
-export QT_API=pyqt6 FORCE_QT_API=1
-%pytest -rwEfs -v ../qtpy/tests/ -k "not (dummyprefix $donttest)"
%endif
+%if %{with pyqt6}
+%ifarch %{ix86} %{arm} %{power64} s390x
+# QtWebEngine 6.3.0 ceased support for 32-bit
+# No QtWebengine (PyQt5 or PyqQt6 on ppc and s390x
+donttest_pyqt6=" or test_qtwebengine"
+%endif
+export QT_API=pyqt6 FORCE_QT_API=1
+%pytest -rwEfs -v ../qtpy/tests/ -k "not (dummyprefix $donttest $donttest_pyqt6)"
+%endif
+%if %{with pyside2}
export QT_API=pyside2 FORCE_QT_API=1
pytest-%{python3_bin_suffix} -rwEfs -v ../qtpy/tests/ -k "not (dummyprefix $donttest)"
+%endif
%if %{with pyside6}
export QT_API=pyside6 FORCE_QT_API=1
pytest-%{python3_bin_suffix} -rwEfs -v ../qtpy/tests/ -k "not (dummyprefix $donttest)"
%endif
popd
+%endif
+%if ! %{with test}
%files %{python_files}
%doc AUTHORS.md CHANGELOG.md README.md
%license LICENSE.txt
%{python_sitelib}/qtpy
%{python_sitelib}/QtPy-%{version}*-info
+%endif
%changelog