# # spec file for package python3-pyside2 # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %bcond_with tests %define mypython python3 BuildRequires: python3-devel BuildRequires: python3-setuptools Name: python3-pyside2 Version: 5.13.0 Release: 0 Summary: Python bindings for Qt # shiboken2 is licensed under GPL-3.0-with-Qt-Company-Qt-exception-1.1 License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) AND GPL-3.0-with-Qt-Company-Qt-exception-1.1 Group: Development/Languages/Python URL: http://wiki.qt.io/Qt_for_Python Source0: https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-%{version}-src/pyside-setup-everywhere-src-%{version}.tar.xz Patch0: lib64.patch # PATCH-FIX-UPSTREAM - PYSIDE-881 Patch1: 0001-Remove-unnecessary-she-bang-from-icon-cache.py.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: libqt5-qtdeclarative-private-headers-devel ##### essential modules BuildRequires: cmake(Qt5Concurrent) BuildConflicts: cmake(Qt5Core) >= 5.14 BuildRequires: cmake(Qt5Core) >= 5.13 BuildRequires: cmake(Qt5Network) BuildRequires: cmake(Qt5PrintSupport) BuildRequires: cmake(Qt5Sql) BuildRequires: cmake(Qt5Test) BuildRequires: cmake(Qt5Widgets) BuildRequires: cmake(Qt5X11Extras) BuildRequires: cmake(Qt5Xml) BuildRequires: cmake(Qt5XmlPatterns) ##### optional modules BuildRequires: libQt53DQuickScene2D5 BuildRequires: cmake(Qt53DAnimation) BuildRequires: cmake(Qt53DCore) BuildRequires: cmake(Qt53DExtras) BuildRequires: cmake(Qt53DInput) BuildRequires: cmake(Qt53DLogic) BuildRequires: cmake(Qt53DRender) BuildRequires: cmake(Qt5Charts) BuildRequires: cmake(Qt5DataVisualization) BuildRequires: cmake(Qt5Designer) BuildRequires: cmake(Qt5Multimedia) BuildRequires: cmake(Qt5MultimediaWidgets) BuildRequires: cmake(Qt5OpenGL) BuildRequires: cmake(Qt5QuickWidgets) BuildRequires: cmake(Qt5RemoteObjects) BuildRequires: cmake(Qt5Script) BuildRequires: cmake(Qt5ScriptTools) BuildRequires: cmake(Qt5Scxml) BuildRequires: cmake(Qt5Sensors) BuildRequires: cmake(Qt5Svg) BuildRequires: cmake(Qt5TextToSpeech) BuildRequires: cmake(Qt5WebChannel) BuildRequires: cmake(Qt5WebEngineWidgets) BuildRequires: cmake(Qt5WebSockets) BuildRequires: cmake(Qt5Widgets) BuildRequires: cmake(Qt5Xml) BuildRequires: cmake(Qt5XmlPatterns) # FreeCAD 0.18 still uses Qt5Webkit BuildRequires: cmake(Qt5WebKit) BuildRequires: clang-devel >= 3.9 BuildRequires: libxslt-devel BuildRequires: python3-Sphinx BuildRequires: python3-idna BuildRequires: python3-urllib3 BuildRequires: python3-wheel %description The PySide2 project provides Python bindings for the Qt application and UI framework. %package devel Summary: Header Files for PySide2 License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) AND GPL-3.0-with-Qt-Company-Qt-exception-1.1 Group: Development/Languages/Python Requires: %{name} = %{version} %description devel Files needed for development with the PySide2 bindings for Qt. %package examples Summary: Examples for using PySide2 License: BSD-3-Clause Group: Development/Languages/Python Requires: %{name} = %{version} %description examples Examples and Tutorials for the PySide2 bindings for Qt. %prep %setup -q -n pyside-setup-everywhere-src-%{version} %if "%{_lib}" == "lib64" %patch0 -p1 %endif %patch1 -p1 %build export LLVM_INSTALL_DIR=%{_prefix} # Workaround for PYSIDE-880 export LC_ALL=C.utf8 %{mypython} setup.py build --reuse-build --ignore-git %{?jobs:--parallel=%{jobs}} \ %if %{with tests} --build-tests %endif %install export LC_ALL=C.utf8 %{mypython} setup.py install --reuse-build --ignore-git --prefix=%{_prefix} --root=%{buildroot} \ %if %{with tests} --build-tests %endif # and hack re-installation, since setup is doing it wrong rm -rf %{buildroot}/* mkdir -p %{buildroot}/%{_libdir} cp -a ./pyside?_install/py*-release/* %{buildroot}%{_prefix}/ cp -a ./pyside3_build/py*-release/pyside2/PySide2/*.pyi %{buildroot}%{python_sitearch}/PySide2/ cp -a ./examples %{buildroot}%{_datadir}/PySide2/ sed -i 's,=.*/pyside._install/[^\/]*,=/usr,' %{buildroot}/%{_libdir}/pkgconfig/*.pc sed -i 's,^libdir=.*,libdir=%{_libdir},' %{buildroot}/%{_libdir}/pkgconfig/*.pc sed -i 's,"[^"]*/include/shiboken2","%{_includedir}/shiboken2",' %{buildroot}/%{_libdir}/cmake/Shiboken*/*.cmake sed -i 's,"[^"]*/%{_lib}/libshiboken2.\(.*\)","%{_libdir}/libshiboken2.\1",' %{buildroot}/%{_libdir}/cmake/Shiboken*/*.cmake sed -i 's,"[^"]*/bin/shiboken2","%{_bindir}/shiboken2",' %{buildroot}/%{_libdir}/cmake/Shiboken*/*.cmake sed -i 's,^include("[^"]*-release/%{_lib}/,include("%{_libdir}/,' %{buildroot}/%{_libdir}/cmake/Shiboken*/*.cmake sed -i 's,"[^"]*/include/PySide2","%{_includedir}/PySide2",' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,"[^"]*/%{_lib}/cmake/\(.*\)","%{_libdir}/cmake/\1",' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,"[^"]*/%{_lib}/libpyside2\.\(.*\)","%{_libdir}/libpyside2.\1",' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,"[^"]*/\(python.*/site-packages\)","%{_libdir}/\1",' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,"[^"]*/share/PySide2/typesystems","%{_datadir}/PySide2/typesystems",' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,"[^"]*/share/PySide2/glue","%{_datadir}/PySide2/glue",' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,^include("[^"]*-release/%{_lib}/,include("%{_libdir}/,' %{buildroot}/%{_libdir}/cmake/PySide2*/*.cmake sed -i 's,env python,python,' %{buildroot}/%{_bindir}/pyside2-uic rm %{buildroot}%{_bindir}/*_tool.py rm -Rf %{buildroot}%{python_sitearch}/pyside2uic/port_v2/ rm -Rf %{buildroot}%{_datadir}/PySide2/typesystems/typesystem_*_win.xml %fdupes %{buildroot}%{_datadir}/PySide2/examples/ %check %if %{with tests} %{mypython} testrunner.py test %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %license LICENSE.* %doc dist/changes* %{_bindir}/* %{_libdir}/*.so.* %{python_sitearch}/* %files devel %{_datadir}/PySide2/ %exclude %{_datadir}/PySide2/examples %{_includedir}/* %{_libdir}/*.so %{_libdir}/cmake %{_libdir}/pkgconfig %{_mandir}/man*/* %files examples %dir %{_datadir}/PySide2 %{_datadir}/PySide2/examples %changelog