1
0

Accepting request 660882 from home:StefanBruens:branches:KDE:Qt5

- 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

OBS-URL: https://build.opensuse.org/request/show/660882
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt5/python3-pyside2?expand=0&rev=20
This commit is contained in:
Fabian Vogt 2018-12-24 10:29:18 +00:00 committed by Git OBS Bridge
parent 2c2d8ac300
commit 4b8753715e
10 changed files with 172 additions and 70 deletions

View File

@ -0,0 +1,29 @@
From 08afddcf38ec96f2faf59c8ab548970fdc14a0b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
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

View File

@ -0,0 +1,21 @@
From 08afc74f3c040569bf7e41483358bec968de7d06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
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

View File

@ -2,8 +2,8 @@
<service name="obs_scm" mode="disabled">
<param name="url">https://code.qt.io/pyside/pyside-setup.git</param>
<param name="scm">git</param>
<param name="revision">v5.11.2</param>
<param name="version">5.11.2</param>
<param name="revision">v5.12.0</param>
<param name="version">5.12.0</param>
</service>
<service mode="disabled" name="set_version" />

View File

@ -1,33 +0,0 @@
From 70d241713ae375124eaabdd928fcdfd034822c6e Mon Sep 17 00:00:00 2001
From: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
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 <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
---
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

View File

@ -1,8 +1,56 @@
From f041ed5f4a3960cebf65c963b50d2c5490cd8b2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
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):
# <install>/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):
# <install>/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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
name: pyside-setup
version: 5.11.2
mtime: 1536315952
commit: 824b7733c0bd8b162b198c67014d7f008fb71b8c
version: 5.12.0
mtime: 1545031727
commit: 0997b2055007da282cd52087632a28645e3007d1

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Wed Dec 19 00:34:58 UTC 2018 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- 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 <adrian@suse.de>

View File

@ -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