Accepting request 969155 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/969155
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-QtPy?expand=0&rev=18
This commit is contained in:
Dominique Leuenberger 2022-04-11 21:48:49 +00:00 committed by Git OBS Bridge
commit fe148c62fe
5 changed files with 189 additions and 33 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d471fcb9cf96315b564ad3b42ca830d0286d1049d6a44c578d3dc3836381bb91
size 37068

3
QtPy-2.0.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:adfd073ffbd2de81dc7aaa0b983499ef5c59c96adcfdcc9dea60d42ca885eb8f
size 43047

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@ -1,3 +1,94 @@
-------------------------------------------------------------------
Mon Apr 11 08:03:56 UTC 2022 - Ben Greiner <code@bnavigator.de>
- 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 <code@bnavigator.de>
- Update to 2.0.1
* PR: Add missing imports in QtOpenGL by @renefritze in #307
* PR: Add missing QtGui utility function to QtCore.Qt for PySide
bindings by @dalthviz in #313
* PR: Add mapping for missing enum values aliases on QtCore.Qt by
@dalthviz in #314
* PR: Fix mappings of instance method and slot alias (PyQt6 and
PySide6) by @kumattau in #308
* PR: Add QtCharts alias for backward compatibility with 1.x by
@dalthviz in #315
* PR: Promote enum aliases by @MatthieuDartiailh in #319
* PR: Add missing tests for aliased methods by @dalthviz in #317
- Release 2.0.0
* PR: Add support for PySide6 by @jschueller in #225
* PR: Add QShortcut class to QtWidgets module by @kumattau in
#254
* PR: Remove Qt4 support by @jschueller in #252
* PR: Drop Python 2 by @dalthviz in #251
* PR: Fix fallback API by @benoit-pierre in #256
* PR: Add additional Qt modules and more support and tests for
PyQt6/PySide6 by @jschueller in #255
* PR: Reorganize QtCharts module import and add missing skip
validation for QtNetworkAuth test with PyQt6 by @dalthviz in
#260
* PR: [PyQt6] Add exec_/print_, and add QOpenGLWidget/QShortcut
to QtWidgets by @kumattau in #259
* PR: Remove accidentally-duplicated lines of code in QtCore by
@kumattau in #263
* PR: [PyQt6] Add missing tabStopWidth/setTabStopWidth same as
PySide6 by @kumattau in #264
* PR: Use modern packaging instead of deprecated distutils for
version parse by @CAM-Gerlach in #266
* PR: Unify and cleanup CI infra, improve robustness and test
Python 3.9 and PyQt6 by @CAM-Gerlach in #262
* PR: Fix and improve Coveralls reporting by @CAM-Gerlach in #268
* PR: Avoid future deprecations and decrease general technical
debt by @CAM-Gerlach in #273
* PR: Fix regression in FORCE_QT_API behavior from merging
PySide6 support by @tlambert03 in #276
* PR: Add back legacy PYQT4 and PYSIDE package-level constants
for compat by @CAM-Gerlach in #279
* PR: Add Contributing Guide based on other Spyder projects by
@CAM-Gerlach in #277
* PR: Update README sponsors section by @dalthviz in #282
* PR: Unscoped enums access for PyQt6 and other missing PyQt6
compatibility changes by @dalthviz in #271
* PR: Upgrade packaging to avoid legacy/deprecated behavior and
follow PEP 517 by @CAM-Gerlach in #272
* PR: Map exec_ to their non-deprecated alternatives by @kumattau
in #287
* PR: Add QtTextToSpeech Module by @kumattau in #291
* PR: Import all classes in QtTest module. by @kumattau in #290
* PR: Define Qt/binding versions at top level, fix warnings if
versions not found, and fix test dir on CIs by @CAM-Gerlach in
#292
* PR: Update gitignore, gitattributes, license, authors and
security policy by @CAM-Gerlach in #278
* PR: Add minimum version check for Qt6 >=6.2.0 by @CAM-Gerlach
in #294
* PR: Add support for Python 3.10 on CIs and packaging by
@CAM-Gerlach in #296
* PR: Make QLibraryInfo.location work for PyQt6 by @stonebig in
#298
* PR: 'width' needed for PyQt6 by @stonebig in #299
* PR: Update README.md adding a line for QtPy usefulness when
migrating between Qt bindings/versions by @dalthviz in #301
* PR: Fix QFileSystemModel for PyQt6 by @almarklein in #303
- Release 1.11.3
* PR: Catch PythonQtError when trying to do alias for
QtDataVisualization and dev version correction by @dalthviz in
#281
* PR: Add a warning for developers still running legacy Qt4-based
APIs by @CAM-Gerlach in #283
* PR: Import Callable and MutableMapping in py3compat for Python
2 compat by @davvid in #285
* PR: Add warning for deprecated/EoL Qt5 & PyQt5/PySide2 versions
to fix #284 by @CAM-Gerlach in #289
* PR: Update RELEASE.md for 1.x version by @dalthviz in #293
- Release 1.11.2
* Issue 248 - Missing QtDataVisualization (PR 249 by @dalthviz)
-------------------------------------------------------------------
Tue Sep 14 11:06:30 UTC 2021 - Ben Greiner <code@bnavigator.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package python-QtPy
# spec file
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,39 +16,77 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-QtPy
Version: 1.11.1
%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
%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%{psuffix}
Version: 2.0.1
Release: 0
Summary: Abstraction layer on top of Qt bindings
License: MIT
Group: Development/Languages/Python
URL: https://github.com/spyder-ide/qtpy
Source: https://files.pythonhosted.org/packages/source/Q/QtPy/QtPy-%{version}.tar.gz
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-packaging
# Note: Don't add any Requires, Recommends, or Suggests here,
# because we need to minimize the space occupied on the
# Tumbleweed DVD. The application importing QtPy will have to
# know what backend to recommend and what extras to require (e.g.
# qtwebengine). Note that setup.py does not declare any requirements,
# either.
BuildArch: noarch
# SECTION test requirements
%if %{with python2}
BuildRequires: python2-mock
%endif
BuildRequires: %{python_module pytest}
# in this regard either.
%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}
%endif
%endif
%if %{with pyqt6}
BuildRequires: %{python_module PyQt6-3D}
BuildRequires: %{python_module PyQt6-Charts}
BuildRequires: %{python_module PyQt6-DataVisualization}
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
BuildRequires: xvfb-run
# /SECTION
%endif
%if %{with pyside6}
BuildRequires: python3-pyside6
BuildRequires: qt6-sql-sqlite
%endif
%endif
%python_subpackages
%description
@ -65,40 +103,64 @@ modules from qtpy instead of PySide2 (or PyQt5)
%setup -q -n QtPy-%{version}
# wrong EOL encondig
sed -i 's/\r$//' LICENSE.txt *.md
# remove mock dependency for Python 3
sed -i '/^import mock/ c try:\
from unittest import mock\
except ImportError:\
import mock' qtpy/tests/test_macos_checks.py
# qtcharts is present in our PyQt5 and Pyside2
# qtcharts is present in our PyQt
sed -i '/skipif.*not PYSIDE2/ d' qtpy/tests/test_qtcharts.py
# remove script calling pytest so that pytest does not discover it
rm qtpy/tests/runtests.py
%build
%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 PYTHONDONTWRITEBYTECODE=1
export QT_QPA_PLATFORM="offscreen"
mkdir empty
pushd empty
%{python_expand # pytest-xvfb unfortunately fails here
export PYTHONPATH=%{buildroot}%{$python_sitelib}
xvfb-run --server-args="-screen 0 1920x1080x24" pytest-%{$python_bin_suffix} -rwEfs -v ../qtpy/tests/
}
%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)"
%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
xvfb-run --server-args="-screen 0 1920x1080x24" pytest-%{python3_bin_suffix} -rwEfs -v ../qtpy/tests/
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}-py*.egg-info
%{python_sitelib}/QtPy-%{version}*-info
%endif
%changelog