From 4a23c89364cc7e4c50551d8cbb5177eea193d65a Mon Sep 17 00:00:00 2001 From: fanyx Date: Mon, 30 Jan 2023 10:33:34 +0100 Subject: [PATCH 1/2] New package: shiboken6 6.5.0 --- common/shlibs | 1 + srcpkgs/libshiboken6 | 1 + srcpkgs/libshiboken6-devel | 1 + srcpkgs/python3-shiboken6 | 1 + .../shiboken6/patches/no-python-suffix.patch | 38 +++++++++++ .../patches/tests-need-python-modules.patch | 15 +++++ srcpkgs/shiboken6/template | 65 +++++++++++++++++++ srcpkgs/shiboken6/update | 3 + 8 files changed, 125 insertions(+) create mode 120000 srcpkgs/libshiboken6 create mode 120000 srcpkgs/libshiboken6-devel create mode 120000 srcpkgs/python3-shiboken6 create mode 100644 srcpkgs/shiboken6/patches/no-python-suffix.patch create mode 100644 srcpkgs/shiboken6/patches/tests-need-python-modules.patch create mode 100644 srcpkgs/shiboken6/template create mode 100644 srcpkgs/shiboken6/update diff --git a/common/shlibs b/common/shlibs index 3f37bcd7614e..70326d68f9bf 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1677,6 +1677,7 @@ 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 libshiboken2.so.5.15 libshiboken2-5.15.0_1 +libshiboken6.so.6.4 libshiboken6-6.4.2_1 libpyside2.so.5.15 libpyside2-python3-5.15.0_1 libupsclient.so.6 libnetwork-ups-tools-2.8.0_1 libnutclient.so.2 libnetwork-ups-tools-2.8.0_1 diff --git a/srcpkgs/libshiboken6 b/srcpkgs/libshiboken6 new file mode 120000 index 000000000000..5ac67303bf0d --- /dev/null +++ b/srcpkgs/libshiboken6 @@ -0,0 +1 @@ +shiboken6 \ No newline at end of file diff --git a/srcpkgs/libshiboken6-devel b/srcpkgs/libshiboken6-devel new file mode 120000 index 000000000000..5ac67303bf0d --- /dev/null +++ b/srcpkgs/libshiboken6-devel @@ -0,0 +1 @@ +shiboken6 \ No newline at end of file diff --git a/srcpkgs/python3-shiboken6 b/srcpkgs/python3-shiboken6 new file mode 120000 index 000000000000..5ac67303bf0d --- /dev/null +++ b/srcpkgs/python3-shiboken6 @@ -0,0 +1 @@ +shiboken6 \ No newline at end of file diff --git a/srcpkgs/shiboken6/patches/no-python-suffix.patch b/srcpkgs/shiboken6/patches/no-python-suffix.patch new file mode 100644 index 000000000000..d9878a255e41 --- /dev/null +++ b/srcpkgs/shiboken6/patches/no-python-suffix.patch @@ -0,0 +1,38 @@ +no python suffix like ".cpython-36m-x86_64-linux-gnu": provides a consistent +naming across architecture. + +Also don't overwrite the "real" cmake file with the generic wrapper's one: they +have the same name if no python suffix. + +--- a/sources/shiboken6/cmake/ShibokenSetup.cmake.ORIG ++++ b/sources/shiboken6/cmake/ShibokenSetup.cmake +@@ -73,6 +73,11 @@ + "PYTHON_CONFIG_SUFFIX is empty. It should never be empty. Please file a bug report.") + endif() + ++# no suffix like '.cpython-36m-x86_64-linux-gnu' ++set(PYTHON_EXTENSION_SUFFIX "") ++set(PYTHON_CONFIG_SUFFIX "") ++set(PYTHON_SHARED_LIBRARY_SUFFIX "") ++ + message(STATUS "PYTHON_EXTENSION_SUFFIX: ${PYTHON_EXTENSION_SUFFIX}") + message(STATUS "PYTHON_CONFIG_SUFFIX: ${PYTHON_CONFIG_SUFFIX}") + message(STATUS "PYTHON_SHARED_LIBRARY_SUFFIX: ${PYTHON_SHARED_LIBRARY_SUFFIX}") +--- a/sources/shiboken6/data/CMakeLists.txt.ORIG ++++ b/sources/shiboken6/data/CMakeLists.txt +@@ -37,15 +37,11 @@ + PATH_VARS SHIBOKEN_PYTHON_MODULE_DIR SHIBOKEN_SHARED_LIBRARY_DIR + ) + +-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Shiboken6Config.cmake.in" +- "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6Config.cmake" @ONLY) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Shiboken6ConfigVersion.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6ConfigVersion.cmake" @ONLY) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/shiboken6.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/shiboken6${shiboken6_SUFFIX}.pc" @ONLY) + +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6Config.cmake" +- DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6-${shiboken6_VERSION}") + + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/install/Shiboken6Config${PYTHON_CONFIG_SUFFIX}.cmake" + DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6-${shiboken6_VERSION}") diff --git a/srcpkgs/shiboken6/patches/tests-need-python-modules.patch b/srcpkgs/shiboken6/patches/tests-need-python-modules.patch new file mode 100644 index 000000000000..42b343713a75 --- /dev/null +++ b/srcpkgs/shiboken6/patches/tests-need-python-modules.patch @@ -0,0 +1,15 @@ +tests need python modules that are not yet installed, so point the built ones. +Reported upstream: https://bugreports.qt.io/browse/PYSIDE-1429 (shiboken2) +Updated for shiboken6 : use a shiboken6's temporary python module. + +--- a/sources/shiboken6/tests/CMakeLists.txt.ORIG 2021-05-05 08:27:28.000000000 +0200 ++++ b/sources/shiboken6/tests/CMakeLists.txt 2021-05-14 17:37:25.572549382 +0200 +@@ -52,7 +52,7 @@ + set(test_name "${CMAKE_MATCH_1}_${CMAKE_MATCH_3}") + 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=${minimal_BINARY_DIR}/../../tmpmodule:${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/shiboken6/template b/srcpkgs/shiboken6/template new file mode 100644 index 000000000000..f1224dbf57f9 --- /dev/null +++ b/srcpkgs/shiboken6/template @@ -0,0 +1,65 @@ +# Template file for 'shiboken6' +pkgname=shiboken6 +version=6.5.0 +revision=1 +_pkgname="pyside-setup-opensource-src-${version}" +# wrksrc="${_pkgname}" +build_wrksrc="sources/shiboken6" +build_style=cmake +configure_args="-DNUMPY_INCLUDE_DIR=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include" +hostmakedepends="python3-devel" +makedepends="qt6-base-devel python3-devel clang-tools-extra llvm libxslt-devel python3-numpy" +depends="clang" +short_desc="Python binding generator of Qt6 C++ API" +maintainer="fanyx " +license="GPL-3.0-only WITH Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later" +homepage="https://doc.qt.io/qtforpython/shiboken6/" +distfiles="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${version}-src/${_pkgname}.tar.xz" +checksum=1ec9d0936332efd229650cf10fed36cadddff7a613a2ea6e897de4d504c1b505 +conflicts="shiboken2" +python_version=3 + +export CLANG_INSTALL_DIR=${XBPS_CROSS_BASE}/usr + +if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" qt6-base-devel shiboken6" + # use host's automoc + configure_args+=" -DQT_HOST_PATH=/usr" +fi + +pre_check() { + # create a temporary shiboken6 python module for testing. + # Needed since 6.1 and the reorg of generated stuff + # (see https://bugreports.qt.io/browse/PYSIDE-1497) + # related with tests-need-python-modules.patch + local _tmpmodule="${cmake_builddir:=build}/tmpmodule/shiboken6" + mkdir -p ${_tmpmodule} + cp -p ${cmake_builddir}/__init__.py ${_tmpmodule}/. + cp -p ${cmake_builddir}/Shiboken.so ${_tmpmodule}/. +} + +libshiboken6-devel_package() { + depends="${sourcepkg}-${version}_${revision} + libshiboken6-${version}_${revision} python3-shiboken6-${version}_${revision}" + short_desc+=" - common development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +} + +libshiboken6_package() { + short_desc="Python3 shiboken6 bindings - shared library" + pkg_install() { + vmove "usr/lib/*.so.*" + } +} + +python3-shiboken6_package() { + short_desc="Python3 shiboken6 bindings" + pkg_install() { + vmove ${py3_sitelib} + } +} diff --git a/srcpkgs/shiboken6/update b/srcpkgs/shiboken6/update new file mode 100644 index 000000000000..f83a7c336c30 --- /dev/null +++ b/srcpkgs/shiboken6/update @@ -0,0 +1,3 @@ +pkgname=pyside-setup-opensource-src +vdprefix=PySide6- +vdsuffix=-src From 9ee57bfe2c2c5c5b2624dc73e40bde52b1c2ddda Mon Sep 17 00:00:00 2001 From: fanyx Date: Mon, 30 Jan 2023 11:58:37 +0100 Subject: [PATCH 2/2] New package: python3-pyside6 6.5.0 --- common/shlibs | 2 + srcpkgs/libpyside6-python3 | 1 + srcpkgs/libpyside6-python3-devel | 1 + .../patches/tests-disable-invalid-tests.patch | 27 +++++++++++ ...tests-find-python-modules-from-build.patch | 24 ++++++++++ .../patches/tests-fix-build_dir.patch | 16 +++++++ srcpkgs/python3-pyside6/template | 47 +++++++++++++++++++ srcpkgs/python3-pyside6/update | 3 ++ 8 files changed, 121 insertions(+) create mode 120000 srcpkgs/libpyside6-python3 create mode 120000 srcpkgs/libpyside6-python3-devel create mode 100644 srcpkgs/python3-pyside6/patches/tests-disable-invalid-tests.patch create mode 100644 srcpkgs/python3-pyside6/patches/tests-find-python-modules-from-build.patch create mode 100644 srcpkgs/python3-pyside6/patches/tests-fix-build_dir.patch create mode 100644 srcpkgs/python3-pyside6/template create mode 100644 srcpkgs/python3-pyside6/update diff --git a/common/shlibs b/common/shlibs index 70326d68f9bf..2d0cfbc24f76 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1679,6 +1679,8 @@ libXaw3d.so.8 libXaw3d-1.6.2_1 libshiboken2.so.5.15 libshiboken2-5.15.0_1 libshiboken6.so.6.4 libshiboken6-6.4.2_1 libpyside2.so.5.15 libpyside2-python3-5.15.0_1 +libpyside6.so.6.4 libpyside6-python3-6.4.2_1 +libpyside6qml.so.6.4 libpyside6-python3-6.4.2_1 libupsclient.so.6 libnetwork-ups-tools-2.8.0_1 libnutclient.so.2 libnetwork-ups-tools-2.8.0_1 libnutscan.so.2 libnetwork-ups-tools-2.8.0_1 diff --git a/srcpkgs/libpyside6-python3 b/srcpkgs/libpyside6-python3 new file mode 120000 index 000000000000..6491748d6ac6 --- /dev/null +++ b/srcpkgs/libpyside6-python3 @@ -0,0 +1 @@ +python3-pyside6 \ No newline at end of file diff --git a/srcpkgs/libpyside6-python3-devel b/srcpkgs/libpyside6-python3-devel new file mode 120000 index 000000000000..6491748d6ac6 --- /dev/null +++ b/srcpkgs/libpyside6-python3-devel @@ -0,0 +1 @@ +python3-pyside6 \ No newline at end of file diff --git a/srcpkgs/python3-pyside6/patches/tests-disable-invalid-tests.patch b/srcpkgs/python3-pyside6/patches/tests-disable-invalid-tests.patch new file mode 100644 index 000000000000..d22c7a04c0ee --- /dev/null +++ b/srcpkgs/python3-pyside6/patches/tests-disable-invalid-tests.patch @@ -0,0 +1,27 @@ +Disable failing tests for various reasons. +pyside 6.1.0: about 5 tests out of 447 with "offline" backend display. + +--- a/sources/pyside6/tests/registry/CMakeLists.txt.ORIG 2021-04-19 18:07:00.000000000 +0200 ++++ b/sources/pyside6/tests/registry/CMakeLists.txt 2021-05-08 13:41:06.980088190 +0200 +@@ -3,2 +3,1 @@ + +-PYSIDE_TEST(existence_test.py) +--- a/sources/pyside6/tests/QtWidgets/CMakeLists.txt.ORIG 2021-04-19 18:07:00.000000000 +0200 ++++ b/sources/pyside6/tests/QtWidgets/CMakeLists.txt 2021-05-08 20:57:01.609450094 +0200 +@@ -119,7 +119,6 @@ + PYSIDE_TEST(qtoolbox_test.py) + PYSIDE_TEST(qvariant_test.py) + PYSIDE_TEST(qwidget_setlayout_test.py) +-PYSIDE_TEST(qwidget_test.py) + PYSIDE_TEST(qcolormap_test.py) + PYSIDE_TEST(reference_count_test.py) + PYSIDE_TEST(signature_test.py) +--- a/sources/pyside6/tests/QtOpenGL/CMakeLists.txt.ORIG 2021-04-19 18:07:00.000000000 +0200 ++++ b/sources/pyside6/tests/QtOpenGL/CMakeLists.txt 2021-05-08 20:59:14.970903599 +0200 +@@ -1,2 +1 @@ +-PYSIDE_TEST(qopenglbuffer_test.py) + PYSIDE_TEST(qopenglwindow_test.py) +--- a/sources/pyside6/tests/Qt3DExtras/CMakeLists.txt.ORIG 2021-04-19 18:07:00.000000000 +0200 ++++ b/sources/pyside6/tests/Qt3DExtras/CMakeLists.txt 2021-05-09 00:43:00.059103014 +0200 +@@ -1 +0,0 @@ +-PYSIDE_TEST(qt3dextras_test.py) diff --git a/srcpkgs/python3-pyside6/patches/tests-find-python-modules-from-build.patch b/srcpkgs/python3-pyside6/patches/tests-find-python-modules-from-build.patch new file mode 100644 index 000000000000..3ae22735d651 --- /dev/null +++ b/srcpkgs/python3-pyside6/patches/tests-find-python-modules-from-build.patch @@ -0,0 +1,24 @@ +Use pyside python modules from build since they are not installed yet. +Reported upstream: https://bugreports.qt.io/browse/PYSIDE-1430 (pyside2) +Additional fix for pyside6 + +--- a/sources/pyside6/tests/init_paths.py.ORIG 2021-04-19 18:07:00.000000000 +0200 ++++ b/sources/pyside6/tests/init_paths.py 2021-05-08 09:55:33.560511618 +0200 +@@ -48,13 +48,12 @@ + + python_dirs = [os.path.join(src_dir, 'util')] # Helper module + +- pyside_build_dir = os.path.join(get_build_dir(), 'pyside6') +- python_dirs.append(pyside_build_dir) # for PySide6 +- lib_dirs = [os.path.join(pyside_build_dir, 'libpyside'), +- os.path.join(pyside_build_dir, 'libpysideqml')] ++ python_dirs.append(get_build_dir()) # for PySide6 ++ lib_dirs = [os.path.join(get_build_dir(), 'libpyside'), ++ os.path.join(get_build_dir(), 'libpysideqml')] + + if testbindings_module: +- python_dirs.append(os.path.join(pyside_build_dir, ++ python_dirs.append(os.path.join(get_build_dir(), + 'tests', 'pysidetest')) + lib_dirs.append(_get_qt_lib_dir()) + diff --git a/srcpkgs/python3-pyside6/patches/tests-fix-build_dir.patch b/srcpkgs/python3-pyside6/patches/tests-fix-build_dir.patch new file mode 100644 index 000000000000..e98bea498dde --- /dev/null +++ b/srcpkgs/python3-pyside6/patches/tests-fix-build_dir.patch @@ -0,0 +1,16 @@ +Reported upstream: https://bugreports.qt.io/browse/PYSIDE-1430 (pyside2) +Additional fix for qt6 + +--- a/sources/pyside6/tests/CMakeLists.txt.ORIG 2021-04-19 18:07:00.000000000 +0200 ++++ b/sources/pyside6/tests/CMakeLists.txt 2021-05-08 10:09:53.745441190 +0200 +@@ -4,8 +4,7 @@ + + # BUILD_DIR and QT_DIR are used by init_paths.py for setting + # the path to the testbinding module +-get_filename_component(BUILD_DIR "${CMAKE_BINARY_DIR}" DIRECTORY) +-get_filename_component(BUILD_DIR "${CMAKE_BINARY_DIR}" DIRECTORY) +-set(QT_DIR "${_qt5Core_install_prefix}") ++set(BUILD_DIR "${CMAKE_BINARY_DIR}") ++set(QT_DIR "${QT6_INSTALL_PREFIX}") + + macro(TEST_QT_MODULE var name) diff --git a/srcpkgs/python3-pyside6/template b/srcpkgs/python3-pyside6/template new file mode 100644 index 000000000000..3f3192b74ec2 --- /dev/null +++ b/srcpkgs/python3-pyside6/template @@ -0,0 +1,47 @@ +# Template file for 'python3-pyside6' +pkgname=python3-pyside6 +version=6.5.0 +revision=1 +_pkgname="pyside-setup-opensource-src-${version}" +# wrksrc="${_pkgname}" +build_wrksrc="sources/pyside6" +build_style=cmake +configure_args="-DPYTHON_EXECUTABLE=/usr/bin/python -DQT_HOST_PATH=/usr" +hostmakedepends="python3 shiboken6 qt6-base-devel" +makedepends="libshiboken6-devel python3-devel qt6-base-devel qt6-tools-devel + qt6-declarative-devel qt6-scxml-devel qt6-svg-devel qt6-networkauth-devel + qt6-3d-devel qt6-charts-devel" +checkdepends="tzdata qt6-plugin-sqlite" +short_desc="Python3 bindings for the Qt6 toolkit" +maintainer="fanyx " +license="GPL-3.0-only WITH Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later" +homepage="https://doc.qt.io/qtforpython/" +distfiles="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${version}-src/${_pkgname}.tar.xz" +checksum=1ec9d0936332efd229650cf10fed36cadddff7a613a2ea6e897de4d504c1b505 + +# needed by shiboken6 runtime +export CLANG_INSTALL_DIR=/usr + +pre_check() { + export QT_QPA_PLATFORM=offscreen +} + +libpyside6-python3-devel_package() { + depends="${sourcepkg}-${version}_${revision} + libpyside6-python3-${version}_${revision}" + short_desc+=" - shared library (development files)" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + vmove usr/share + } +} + +libpyside6-python3_package() { + short_desc+=" - shared library" + pkg_install() { + vmove "usr/lib/*.so.*" + } +} diff --git a/srcpkgs/python3-pyside6/update b/srcpkgs/python3-pyside6/update new file mode 100644 index 000000000000..f83a7c336c30 --- /dev/null +++ b/srcpkgs/python3-pyside6/update @@ -0,0 +1,3 @@ +pkgname=pyside-setup-opensource-src +vdprefix=PySide6- +vdsuffix=-src