diff --git a/0001-Avoid-creation-of-empty-build-directories-in-install.patch b/0001-Avoid-creation-of-empty-build-directories-in-install.patch new file mode 100644 index 0000000..41bed81 --- /dev/null +++ b/0001-Avoid-creation-of-empty-build-directories-in-install.patch @@ -0,0 +1,29 @@ +From 08afddcf38ec96f2faf59c8ab548970fdc14a0b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Fri, 21 Dec 2018 16:15:26 +0100 +Subject: [PATCH] Avoid creation of empty build directories in install tree + +--- + sources/pyside2/cmake/Macros/PySideModules.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sources/pyside2/cmake/Macros/PySideModules.cmake b/sources/pyside2/cmake/Macros/PySideModules.cmake +index 98efd8c7..62af767d 100644 +--- a/sources/pyside2/cmake/Macros/PySideModules.cmake ++++ b/sources/pyside2/cmake/Macros/PySideModules.cmake +@@ -170,9 +170,9 @@ macro(create_pyside_module) + # install + install(TARGETS ${module_NAME} LIBRARY DESTINATION "${PYTHON_SITE_PACKAGES}/PySide2") + +- install(DIRECTORY "${CMAKE_BINARY_DIR}/" DESTINATION "${PYTHON_SITE_PACKAGES}" +- OPTIONAL +- FILES_MATCHING PATTERN "*.pyi") ++ file(GLOB hinting_stub_files RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/PySide2" "${CMAKE_CURRENT_BINARY_DIR}/PySide2/*.pyi") ++ install(FILES ${hinting_stub_files} ++ DESTINATION "${PYTHON_SITE_PACKAGES}/PySide2") + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide2/${module_NAME}/pyside2_${lower_module_name}_python.h + DESTINATION include/PySide2${pyside2_SUFFIX}/${module_NAME}/) +-- +2.19.2 + diff --git a/0001-Remove-unnecessary-she-bang-from-icon-cache.py.patch b/0001-Remove-unnecessary-she-bang-from-icon-cache.py.patch new file mode 100644 index 0000000..bc0cdc5 --- /dev/null +++ b/0001-Remove-unnecessary-she-bang-from-icon-cache.py.patch @@ -0,0 +1,21 @@ +From 08afc74f3c040569bf7e41483358bec968de7d06 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Fri, 21 Dec 2018 16:20:45 +0100 +Subject: [PATCH] Remove unnecessary she-bang from icon-cache.py + +--- + pyside2uic/icon_cache.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/pyside2uic/icon_cache.py b/pyside2uic/icon_cache.py +index 523d207..9d0dfe2 100644 +--- a/pyside2uic/icon_cache.py ++++ b/pyside2uic/icon_cache.py +@@ -1,4 +1,3 @@ +-#!/usr/bin/env python + # This file is part of the PySide project. + # + # Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +-- +2.19.2 + diff --git a/_service b/_service index 1d854a8..445278d 100644 --- a/_service +++ b/_service @@ -2,8 +2,8 @@ https://code.qt.io/pyside/pyside-setup.git git - v5.11.2 - 5.11.2 + v5.12.0 + 5.12.0 diff --git a/fix_build.patch b/fix_build.patch deleted file mode 100644 index 92e9b68..0000000 --- a/fix_build.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 70d241713ae375124eaabdd928fcdfd034822c6e Mon Sep 17 00:00:00 2001 -From: Cristian Maureira-Fredes -Date: Wed, 29 Aug 2018 16:09:01 +0200 -Subject: shiboken/pep384: Avoid warning by literal comparison - -Even though we are certain of the comparison, -better to get rid of the warnings. - -Change-Id: Iafa51b4c59c2315b24fc9092d18792f0c9297553 -Reviewed-by: Friedemann Kleint -Reviewed-by: Qt CI Bot ---- - sources/shiboken2/libshiboken/pep384impl.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -(limited to 'sources/shiboken2/libshiboken/pep384impl.cpp') - -diff --git a/sources/shiboken2/libshiboken/pep384impl.cpp b/sources/shiboken2/libshiboken/pep384impl.cpp -index 25a3b625..4481f1cd 100644 ---- a/sources/shiboken2/libshiboken/pep384impl.cpp -+++ b/sources/shiboken2/libshiboken/pep384impl.cpp -@@ -130,7 +130,7 @@ check_PyTypeObject_valid(void) - long probe_tp_dictoffset = PyLong_AsLong(d); - PyObject *probe_tp_mro = PyObject_GetAttrString(obtype, "__mro__"); - if (false -- || probe_tp_name != check->tp_name -+ || (probe_tp_name - check->tp_name) != 0 // to avoid warning - || probe_tp_basicsize != check->tp_basicsize - || probe_tp_call != check->tp_call - || probe_tp_str != check->tp_str --- -cgit v1.2.1 - diff --git a/lib64.patch b/lib64.patch index 741bdf4..1a7e179 100644 --- a/lib64.patch +++ b/lib64.patch @@ -1,8 +1,56 @@ +From f041ed5f4a3960cebf65c963b50d2c5490cd8b2a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Thu, 20 Dec 2018 19:05:03 +0100 +Subject: [PATCH] Lookup clang library and install in arch specific library + path + +--- + build_scripts/platforms/unix.py | 4 ++-- + sources/pyside2/CMakeLists.txt | 2 +- + .../shiboken2/ApiExtractor/clangparser/compilersupport.cpp | 2 +- + sources/shiboken2/CMakeLists.txt | 4 ++-- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py +index d3767976..63019a0a 100644 +--- a/build_scripts/platforms/unix.py ++++ b/build_scripts/platforms/unix.py +@@ -80,7 +80,7 @@ def prepare_packages_posix(self, vars): + + # /lib/lib* -> {st_package_name}/ + copydir( +- "{install_dir}/lib/", ++ "{install_dir}/lib64/", + "{st_build_dir}/{st_package_name}", + filter=[ + adjusted_lib_name("libshiboken*", +@@ -155,7 +155,7 @@ def prepare_packages_posix(self, vars): + + # /lib/lib* -> {st_package_name}/ + copydir( +- "{install_dir}/lib/", ++ "{install_dir}/lib64/", + "{st_build_dir}/{st_package_name}", + filter=[ + adjusted_lib_name("libpyside*", +diff --git a/sources/pyside2/CMakeLists.txt b/sources/pyside2/CMakeLists.txt +index 1d563fb4..7b8d8b85 100644 +--- a/sources/pyside2/CMakeLists.txt ++++ b/sources/pyside2/CMakeLists.txt +@@ -187,7 +187,7 @@ endif() + + option(BUILD_TESTS "Build tests." TRUE) + option(ENABLE_VERSION_SUFFIX "Used to use current version in suffix to generated files. This is used to allow multiples versions installed simultaneous." FALSE) +-set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) ++set(LIB_SUFFIX "64" CACHE STRING "Define suffix of directory name (32/64)" ) + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE) + if(CMAKE_HOST_APPLE) + set(ALTERNATIVE_QT_INCLUDE_DIR "" CACHE PATH "Deprecated. CMake now finds the proper include dir itself.") diff --git a/sources/shiboken2/CMakeLists.txt b/sources/shiboken2/CMakeLists.txt -index 1af84fc..843761f 100644 +index 619c0f08..ab1dceff 100644 --- a/sources/shiboken2/CMakeLists.txt +++ b/sources/shiboken2/CMakeLists.txt -@@ -104,7 +104,8 @@ if(MSVC) +@@ -124,7 +124,8 @@ if(MSVC) set(CLANG_LIB_NAMES libclang) endif() @@ -12,7 +60,7 @@ index 1af84fc..843761f 100644 if (NOT EXISTS ${CLANG_LIBRARY}) string(REPLACE ";" ", " CLANG_LIB_NAMES_STRING "${CLANG_LIB_NAMES}") message(FATAL_ERROR "Unable to find the Clang library in ${CLANG_DIR}.\ -@@ -311,7 +312,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_T +@@ -333,7 +334,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_T set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -21,15 +69,18 @@ index 1af84fc..843761f 100644 if (WIN32) diff --git a/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp b/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp -index 74cad05..ff02e6d 100644 +index d3d5c8da..acb1efd9 100644 --- a/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp +++ b/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp -@@ -268,7 +268,7 @@ static QString findClangBuiltInIncludesDir() - if (!clangPath.isEmpty()) { - QString candidate; - QVersionNumber lastVersionNumber(1, 0, 0); -- QDir clangDir(clangPath + QLatin1String("/lib/clang")); -+ QDir clangDir(clangPath + QLatin1String("/lib64/clang")); - const QFileInfoList versionDirs = - clangDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot); - for (const QFileInfo &fi : versionDirs) { +@@ -243,7 +243,7 @@ static QString findClangLibDir() + { + for (const char *envVar : {"LLVM_INSTALL_DIR", "CLANG_INSTALL_DIR"}) { + if (qEnvironmentVariableIsSet(envVar)) { +- const QString path = QFile::decodeName(qgetenv(envVar)) + QLatin1String("/lib"); ++ const QString path = QFile::decodeName(qgetenv(envVar)) + QLatin1String("/lib64"); + if (QFileInfo::exists(path)) + return path; + } +-- +2.19.2 + diff --git a/pyside-setup-5.11.2.obscpio b/pyside-setup-5.11.2.obscpio deleted file mode 100644 index 2502ccc..0000000 --- a/pyside-setup-5.11.2.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8dc843dc7bdddef93f9693be300ee4a9fdf80585564f98ca1adef93f9e2c6dd -size 26211854 diff --git a/pyside-setup-5.12.0.obscpio b/pyside-setup-5.12.0.obscpio new file mode 100644 index 0000000..d35b244 --- /dev/null +++ b/pyside-setup-5.12.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3953b92218bf680ced2f4ada4d909ed58638df08e119aff31bd659b9736de0de +size 28712974 diff --git a/pyside-setup.obsinfo b/pyside-setup.obsinfo index 719ff8c..866adcb 100644 --- a/pyside-setup.obsinfo +++ b/pyside-setup.obsinfo @@ -1,5 +1,5 @@ name: pyside-setup -version: 5.11.2 -mtime: 1536315952 -commit: 824b7733c0bd8b162b198c67014d7f008fb71b8c +version: 5.12.0 +mtime: 1545031727 +commit: 0997b2055007da282cd52087632a28645e3007d1 diff --git a/python3-pyside2.changes b/python3-pyside2.changes index 013deeb..1d2a351 100644 --- a/python3-pyside2.changes +++ b/python3-pyside2.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Dec 19 00:34:58 UTC 2018 - Stefan Brüns + +- Update to version 5.12 +- Package examples +- Include PEP484 type hints +- Use parallel make +- Rebase lib64.patch +- Drop fix_build.patch, obsoleted by upstream changes +- Add 0001-Avoid-creation-of-empty-build-directories-in-install.patch +- Add 0001-Remove-unnecessary-she-bang-from-icon-cache.py.patch + ------------------------------------------------------------------- Wed Oct 24 07:14:44 UTC 2018 - Adrian Schröter diff --git a/python3-pyside2.spec b/python3-pyside2.spec index 100a32b..a661c81 100644 --- a/python3-pyside2.spec +++ b/python3-pyside2.spec @@ -23,7 +23,7 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools Name: python3-pyside2 -Version: 5.11.2 +Version: 5.12.0 Release: 0 Summary: PySide - python bindings for Qt License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) @@ -32,19 +32,20 @@ URL: http://wiki.qt.io/Qt_for_Python Source0: pyside-setup-%{version}.tar.xz Patch1: fix-cmake.patch Patch2: lib64.patch -# PATCH-FIX-UPSTREAM -Patch3: fix_build.patch +# PATCH-FIX-UPSTREAM - PYSIDE-882 +Patch3: 0001-Avoid-creation-of-empty-build-directories-in-install.patch +# PATCH-FIX-UPSTREAM - PYSIDE-881 +Patch4: 0001-Remove-unnecessary-she-bang-from-icon-cache.py.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ -BuildRequires: git BuildRequires: libqt5-qtdeclarative-private-headers-devel ##### essential modules BuildRequires: pkgconfig(Qt5Concurrent) -BuildRequires: pkgconfig(Qt5Core) < 5.12 -BuildRequires: pkgconfig(Qt5Core) >= 5.11 +BuildConflicts: pkgconfig(Qt5Core) >= 5.13 +BuildRequires: pkgconfig(Qt5Core) >= 5.12 BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5Sql) @@ -103,6 +104,14 @@ Requires: %{name} = %{version} Files needed for development with the PySide2 bindings for Qt. +%package examples +Summary: Examples for using PySide2 +Group: Development/Languages/Python +Requires: %{name} = %{version} + +%description examples +Examples and Tutorials for the PySide2 bindings for Qt. + %prep %setup -q -n pyside-setup-%{version} %patch1 -p1 @@ -110,16 +119,20 @@ for Qt. %patch2 -p1 %endif %patch3 -p1 +%patch4 -p1 -d sources/pyside2-tools/ %build export LLVM_INSTALL_DIR=%{_prefix} export CFLAGS=-I/usr/include/linux -%{mypython} setup.py build --reuse-build --ignore-git \ +# 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 @@ -130,12 +143,9 @@ rm -rf %{buildroot}/* mkdir -p %{buildroot}/%{_libdir} cp -a ./pyside?_install/py*-release/* %{buildroot}%{_prefix}/ -%if "%{_lib}" == "lib64" -mv %{buildroot}%{_prefix}/lib/lib* %{buildroot}/%{_libdir}/ -mv %{buildroot}%{_prefix}/lib/pkgconfig/* %{buildroot}/%{_libdir}/pkgconfig/ -mv %{buildroot}%{_prefix}/lib/cmake/* %{buildroot}/%{_libdir}/cmake/ -rmdir %{buildroot}%{_prefix}/lib{/cmake,/pkgconfig,} -%endif +cp -a ./pyside3_build/py*-release/pyside2/PySide2/*.pyi %{buildroot}%{py_sitedir}/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 @@ -146,14 +156,21 @@ sed -i 's,"[^"]*/bin/shiboken2","%{_bindir}/shiboken2",' %{buildroot}/%{_libdir} 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,"[^"]*/%{_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,^include("[^"]*-release/lib/,include("%{_libdir}/,' %{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}%{py_sitedir}/pyside2uic/port_v2/ +rm -Rf %{buildroot}%{_datadir}/PySide2/typesystems/typesystem_*_win.xml + +%fdupes %{buildroot}%{_datadir}/PySide2/examples/ + # docu generation cd docs make html @@ -176,10 +193,15 @@ cd - %files devel %doc docs/_build/html %{_datadir}/PySide2/ +%exclude %{_datadir}/PySide2/examples %{_includedir}/* %{_libdir}/*.so %{_libdir}/cmake %{_libdir}/pkgconfig %{_mandir}/man*/* +%files examples +%dir %{_datadir}/PySide2 +%{_datadir}/PySide2/examples + %changelog