diff --git a/common/shlibs b/common/shlibs index f73bd5d4ed..c6f930b953 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1677,8 +1677,6 @@ libosmoctrl.so.0 libosmocore-0.7.0_1 libgtkglext-x11-1.0.so.0 gtkglext-1.2.0_4 libgdkglext-x11-1.0.so.0 gtkglext-1.2.0_4 libXaw3d.so.8 libXaw3d-1.6.2_1 -libshiboken-python2.7.so.1.2 libshiboken-python-1.2.2_2 -libshiboken-python3.6.so.1.2 libshiboken-python3-1.2.2_4 libshiboken2.so.5.15 libshiboken2-5.15.0_1 libpyside-python2.7.so.1.2 libpyside-python-1.2.2_2 libpyside-python3.6.so.1.2 libpyside-python3-1.2.2_6 diff --git a/srcpkgs/libshiboken-python3 b/srcpkgs/libshiboken-python3 deleted file mode 120000 index b1fbca61c2..0000000000 --- a/srcpkgs/libshiboken-python3 +++ /dev/null @@ -1 +0,0 @@ -shiboken2 \ No newline at end of file diff --git a/srcpkgs/python3-shiboken b/srcpkgs/python3-shiboken deleted file mode 120000 index b1fbca61c2..0000000000 --- a/srcpkgs/python3-shiboken +++ /dev/null @@ -1 +0,0 @@ -shiboken2 \ No newline at end of file diff --git a/srcpkgs/shiboken2/patches/clang-options-via-environment-variables.patch b/srcpkgs/shiboken2/patches/clang-options-via-environment-variables.patch new file mode 100644 index 0000000000..f8724b96bf --- /dev/null +++ b/srcpkgs/shiboken2/patches/clang-options-via-environment-variables.patch @@ -0,0 +1,21 @@ +Add ability to pass additional options to clang via environnement variable. +With help from https://github.com/void-linux/void-packages/pull/26962 + +--- sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp ++++ sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp +@@ -305,6 +305,15 @@ + QByteArrayList emulatedCompilerOptions() + { + QByteArrayList result; ++ ++ QByteArray shiboken_clang_options = qgetenv("SHIBOKEN_CLANG_OPTIONS"); ++ // split to avoid double quoting drived by space inside it ++ if (!shiboken_clang_options.isEmpty()) { ++ for (const QByteArray &item: shiboken_clang_options.split(' ')) { ++ result.append(item); ++ } ++ } ++ + #if defined(Q_CC_MSVC) + HeaderPaths headerPaths; + result.append(QByteArrayLiteral("-fms-compatibility-version=19")); diff --git a/srcpkgs/shiboken2/patches/tests-need-python-modules.patch b/srcpkgs/shiboken2/patches/tests-need-python-modules.patch new file mode 100644 index 0000000000..24054690b0 --- /dev/null +++ b/srcpkgs/shiboken2/patches/tests-need-python-modules.patch @@ -0,0 +1,13 @@ +tests need python modules that are not installed yet: so point the built ones. +Reported upstream: https://bugreports.qt.io/browse/PYSIDE-1429 + +--- sources/shiboken2/tests/CMakeLists.txt.ORIG 2020-09-09 14:45:42.000000000 +0200 ++++ sources/shiboken2/tests/CMakeLists.txt 2020-11-12 14:16:46.577206385 +0100 +@@ -53,6 +53,6 @@ + list(FIND test_blacklist ${test_name} expect_fail) + add_test(${test_name} ${PYTHON_EXECUTABLE} ${test_file}) +- set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "BUILD_DIR=${BUILD_DIR}") ++ set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "BUILD_DIR=${BUILD_DIR};PYTHONPATH=${shibokenmodule_BINARY_DIR}:${minimal_BINARY_DIR}:${sample_BINARY_DIR}:${other_BINARY_DIR}:${smart_BINARY_DIR}") + set_tests_properties(${test_name} PROPERTIES TIMEOUT ${CTEST_TESTING_TIMEOUT}) + if (${expect_fail} GREATER -1) + set_tests_properties(${test_name} PROPERTIES WILL_FAIL TRUE) diff --git a/srcpkgs/shiboken2/patches/tests-python-syntax.patch b/srcpkgs/shiboken2/patches/tests-python-syntax.patch new file mode 100644 index 0000000000..5151c3cc71 --- /dev/null +++ b/srcpkgs/shiboken2/patches/tests-python-syntax.patch @@ -0,0 +1,91 @@ +This changeset is about both shiboken2 and python3-pyside2 +(that are separated packages) +upstream: yes + +From c6184e01e993dcca9798f306fb8e9cb322fdd0dc Mon Sep 17 00:00:00 2001 +From: Christian Tismer +Date: Thu, 3 Dec 2020 13:38:58 +0100 +Subject: [PATCH] fix both qflags_test and the qflags cppgenerator code + +There was a years-old qflags test failing on Python 3. +It was blacklisted with the comment + + "# Nested exception in Python 3" + +This was nonsense: The test was wrong also for Python 2. +It just happened to work, because Python 2 had some weird +errors leaking. The real bug was in missing error handling +in cppgenerator.cpp . + +See the main description in the issue. + +Change-Id: Ia0f9466640e0eb33f1b8b26178d33f2be0bcb32f +Task-number: PYSIDE-1442 +Reviewed-by: Friedemann Kleint +(cherry picked from commit 288fadb796ec4e11e99e3752d531ada7edf15d75) +--- + build_history/blacklist.txt | 3 --- + sources/pyside2/tests/QtCore/qflags_test.py | 12 +++++++----- + .../shiboken2/generator/shiboken2/cppgenerator.cpp | 2 ++ + 3 files changed, 9 insertions(+), 8 deletions(-) + +diff --git build_history/blacklist.txt build_history/blacklist.txt +index 9b63f9784..2a2a5d4c4 100644 +--- build_history/blacklist.txt ++++ build_history/blacklist.txt +@@ -18,9 +18,6 @@ + darwin py3 + [QtCore::qfileread_test] + darwin +-# Nested exception in Python 3 +-[QtCore::qflags_test] +- py3 + [QtCore::qobject_connect_notify_test] + linux + darwin +diff --git sources/pyside2/tests/QtCore/qflags_test.py sources/pyside2/tests/QtCore/qflags_test.py +index 08a7c55b1..e1e989c1e 100644 +--- sources/pyside2/tests/QtCore/qflags_test.py ++++ sources/pyside2/tests/QtCore/qflags_test.py +@@ -30,6 +30,7 @@ + + '''Test cases for QFlags''' + ++import operator + import os + import sys + import unittest +@@ -117,12 +118,13 @@ class QFlagsOnQVariant(unittest.TestCase): + class QFlagsWrongType(unittest.TestCase): + def testWrongType(self): + '''Wrong type passed to QFlags binary operators''' ++ for op in operator.or_, operator.and_, operator.xor: ++ for x in '43', 'jabba', QObject, object: ++ self.assertRaises(TypeError, op, Qt.NoItemFlags, x) ++ self.assertRaises(TypeError, op, x, Qt.NoItemFlags) ++ # making sure this actually does not fail all the time ++ self.assertEqual(operator.or_(Qt.NoItemFlags, 43), 43) + +- self.assertRaises(TypeError, Qt.NoItemFlags | '43') +- self.assertRaises(TypeError, Qt.NoItemFlags & '43') +- self.assertRaises(TypeError, 'jabba' & Qt.NoItemFlags) +- self.assertRaises(TypeError, 'hut' & Qt.NoItemFlags) +- self.assertRaises(TypeError, Qt.NoItemFlags & QObject()) + + if __name__ == '__main__': + unittest.main() +diff --git sources/shiboken2/generator/shiboken2/cppgenerator.cpp sources/shiboken2/generator/shiboken2/cppgenerator.cpp +index ff44db955..87ddd73a5 100644 +--- sources/shiboken2/generator/shiboken2/cppgenerator.cpp ++++ sources/shiboken2/generator/shiboken2/cppgenerator.cpp +@@ -5230,6 +5230,8 @@ void CppGenerator::writeFlagsBinaryOperator(QTextStream &s, const AbstractMetaEn + s << INDENT << "cppArg = static_cast<" << flagsEntry->originalName() + << ">(int(PyInt_AsLong(" << PYTHON_ARG << ")));\n"; + s << "#endif\n\n"; ++ s << INDENT << "if (PyErr_Occurred())\n" << indent(INDENT) ++ << INDENT << "return nullptr;\n" << outdent(INDENT); + s << INDENT << "cppResult = " << CPP_SELF_VAR << " " << cppOpName << " cppArg;\n"; + s << INDENT << "return "; + writeToPythonConversion(s, flagsType, nullptr, QLatin1String("cppResult")); +-- +2.29.2 diff --git a/srcpkgs/shiboken2/template b/srcpkgs/shiboken2/template index d007225484..6a7298d51d 100644 --- a/srcpkgs/shiboken2/template +++ b/srcpkgs/shiboken2/template @@ -1,12 +1,11 @@ # Template file for 'shiboken2' pkgname=shiboken2 -version=5.15.0 -revision=3 +version=5.15.2 +revision=1 _pkgname="pyside-setup-opensource-src-${version}" wrksrc="${_pkgname/%5.14.2.1/5.14.2}" build_wrksrc="sources/shiboken2" build_style=cmake -configure_args="-DBUILD_TESTS=OFF" hostmakedepends="cmake python3-devel" makedepends="python3-devel qt5-devel qt5-xmlpatterns-devel clang libxml2-devel libxslt-devel python3-numpy" @@ -16,7 +15,7 @@ maintainer="yopito " license="GPL-3.0-or-later" homepage="https://wiki.qt.io/Qt_for_Python/Shiboken" distfiles="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${version}-src/${_pkgname}.tar.xz" -checksum=f1cdee53de3b76e22c1117a014a91ed95ac16e4760776f4f12dc38cd5a7b6b68 +checksum=b306504b0b8037079a8eab772ee774b9e877a2d84bab2dbefbe4fa6f83941418 python_version=3 export CLANG_INSTALL_DIR=${XBPS_CROSS_BASE}/usr @@ -50,15 +49,3 @@ python3-shiboken2_package() { vmove ${py3_sitelib} } } - -python3-shiboken_package() { - short_desc="Python3 shiboken2 bindings - tranditional dummy pkg" - depends="python3-shiboken2-${version}_${revision}" - build_style=meta -} - -libshiboken-python3_package() { - short_desc="Python3 shiboken2 bindings - tranditional dummy pkg" - depends="python3-shiboken2-${version}_${revision}" - build_style=meta -}