diff --git a/QtPy-1.10.0.tar.gz b/QtPy-1.10.0.tar.gz new file mode 100644 index 0000000..4656b54 --- /dev/null +++ b/QtPy-1.10.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d20f010caa3b2c04835d6a2f66f8873b041bdaf7a76085c2a0d7890cdd65ea9 +size 34339 diff --git a/QtPy-1.9.0.tar.gz b/QtPy-1.9.0.tar.gz deleted file mode 100644 index 252a10e..0000000 --- a/QtPy-1.9.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2db72c44b55d0fe1407be8fba35c838ad0d6d3bb81f23007886dc1fc0f459c8d -size 35522 diff --git a/python-QtPy.changes b/python-QtPy.changes index 7dc3fb4..a0541c0 100644 --- a/python-QtPy.changes +++ b/python-QtPy.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Tue Aug 17 14:37:49 UTC 2021 - Ben Greiner + +- Update to 1.10.0 + * PR 241 - PR: Update setup.py classifiers, by @dalthviz + * PR 230 - PR: Fix imported modules logic if 'FORCE_QT_API' is + empty, by @hiaselhans + * PR 224 - PR: Support python 3.9 custom_widgets iteration, by + @irrcombat (206) + * PR 215 - PR: Slight typo fix, by @altendky + * PR 214 - PR: Handle QtCore.SignalInstance/pyqtBoundSignal, by + @altendky + * PR 208 - PR: Move CI to Github Actions, by @goanpeca + * PR 204 - PR: Add Python 3.9 compatibility for collections.abc + module, by @tirkarthi + * PR 199 - PR: Add support to PyQt4-sip 4.19.13, by @milanmatic +- Update description +- Clarify the requirements policy +- Test Pyside2 and Qtcharts +- Remove extra mock requirement + ------------------------------------------------------------------- Tue Aug 17 09:07:26 UTC 2021 - Fabian Vogt diff --git a/python-QtPy.spec b/python-QtPy.spec index 62c12cd..aff270b 100644 --- a/python-QtPy.spec +++ b/python-QtPy.spec @@ -17,50 +17,64 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} +%bcond_without python2 Name: python-QtPy -Version: 1.9.0 +Version: 1.10.0 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 +# PATCH-FIX-UPSTREAM 0001-Add-QtDatavisualization-alias-to-QtDataVisualization.patch -- gh#spyder-ide/qtpy#228 Patch0: 0001-Add-QtDatavisualization-alias-to-QtDataVisualization.patch -BuildRequires: %{python_module qt3d-qt5} -BuildRequires: %{python_module qt5} -BuildRequires: %{python_module qtdatavis3d-qt5} -BuildRequires: %{python_module qtwebengine-qt5} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Recommends: python-qt5 -# Optional parts, which have giant dep chains. -# Too big for the TW DVD and default installs. -#Recommends: python-qt3d-qt5 -#Recommends: python-qtdatavis3d-qt5 -#Recommends: python-qtwebengine-qt5 -#Suggests: python-pyside2 +# 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 -BuildRequires: %{python_module mock} +%if %{with python2} +BuildRequires: python2-mock +%endif BuildRequires: %{python_module pytest} +BuildRequires: %{python_module qt3d-qt5} +BuildRequires: %{python_module qt5} +BuildRequires: %{python_module qtcharts-qt5} +BuildRequires: %{python_module qtdatavis3d-qt5} +BuildRequires: %{python_module qtwebengine-qt5} +BuildRequires: python3-pyside2 BuildRequires: xvfb-run # /SECTION %python_subpackages %description -QtPy (pronounced 'cutie pie') is a small abstraction layer that lets you -write applications using a single api call to either PyQt or PySide. +QtPy is a small abstraction layer that lets you +write applications using a single API call to either PyQt or PySide. It provides support for PyQt5, PyQt4 and PySide using the PyQt5 layout (where the QtGui module has been split into QtGui and QtWidgets). -Basically, you write your code as if you were using PyQt5 but import qt from -`qtpy` instead of `PyQt5`. +Basically, you can write your code as if you were using PySide2 but import Qt +modules from qtpy instead of PySide2 (or PyQt5) %prep %setup -q -n QtPy-%{version} -sed -i 's/\r$//' LICENSE.txt +# 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 +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 # Submitted to upstream at gh#spyder-ide/qtpy#228 mv qtpy/QtDatavisualization.py qtpy/QtDataVisualization.py @@ -80,8 +94,10 @@ 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} -v ../qtpy/tests/ +xvfb-run --server-args="-screen 0 1920x1080x24" pytest-%{$python_bin_suffix} -rwEfs -v ../qtpy/tests/ } +export QT_API=pyside2 FORCE_QT_API=1 +xvfb-run --server-args="-screen 0 1920x1080x24" pytest-%{python3_bin_suffix} -rwEfs -v ../qtpy/tests/ popd %files %{python_files}