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:
commit
fe148c62fe
@ -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
3
QtPy-2.0.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:adfd073ffbd2de81dc7aaa0b983499ef5c59c96adcfdcc9dea60d42ca885eb8f
|
||||
size 43047
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
@ -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>
|
||||
|
||||
|
122
python-QtPy.spec
122
python-QtPy.spec
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user