From 1e4da8b3c499f573765ebe283175c1a0f5ddee666b4a551c0852a8dbb6cef242 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Mon, 11 Apr 2022 09:31:42 +0000 Subject: [PATCH] Accepting request 969140 from home:bnavigator:branches:devel:languages:python:numeric - Disable PyQt6-WebEngine tests for 32-bit platforms * QtWebEngine 6.3.0 disabled 32-bit support * Needs multibuild flavor for platform specific conditions OBS-URL: https://build.opensuse.org/request/show/969140 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-QtPy?expand=0&rev=34 --- _multibuild | 3 ++ python-QtPy.changes | 7 +++++ python-QtPy.spec | 71 ++++++++++++++++++++++++++++++++++++--------- 3 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 _multibuild 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