From 46c9d1babc9071faef816a14e64da7a47a3980b3 Mon Sep 17 00:00:00 2001 From: yopito Date: Tue, 5 Oct 2021 22:43:09 +0200 Subject: [PATCH 1/2] New package: shiboken6 6.2.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 7e5289f58f66..5d75c53fd03e 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1637,6 +1637,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.2 libshiboken6-6.2.0_1 libpyside2.so.5.15 libpyside2-python3-5.15.0_1 libupsclient.so.4 libnetwork-ups-tools-2.7.4_12 libnutclient.so.0 libnetwork-ups-tools-2.7.4_12 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..e3d654f91250 --- /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/CMakeLists.txt.ORIG ++++ b/sources/shiboken6/CMakeLists.txt +@@ -98,6 +98,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..e47377320729 --- /dev/null +++ b/srcpkgs/shiboken6/template @@ -0,0 +1,65 @@ +# Template file for 'shiboken6' +pkgname=shiboken6 +version=6.2.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" +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="yopito " +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=fed210b662129955332d2609a900b5b8643130134e4682371b26a9ba60740d01 +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 fabb6c61e1f33a9f40bc32295e6b177e03b02be6 Mon Sep 17 00:00:00 2001 From: yopito Date: Tue, 5 Oct 2021 22:43:11 +0200 Subject: [PATCH 2/2] New package: python3-pyside6 6.2.0 --- common/shlibs | 1 + srcpkgs/libpyside6-python3 | 1 + srcpkgs/libpyside6-python3-devel | 1 + .../crossbuild-no-pyi-generation.patch | 30 ++++++++++++ .../patches/tests-disable-invalid-tests.patch | 37 +++++++++++++++ ...tests-find-python-modules-from-build.patch | 22 +++++++++ .../patches/tests-fix-build_dir.patch | 16 +++++++ srcpkgs/python3-pyside6/template | 47 +++++++++++++++++++ srcpkgs/python3-pyside6/update | 3 ++ 9 files changed, 158 insertions(+) create mode 120000 srcpkgs/libpyside6-python3 create mode 120000 srcpkgs/libpyside6-python3-devel create mode 100644 srcpkgs/python3-pyside6/patches/crossbuild-no-pyi-generation.patch 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 5d75c53fd03e..1a038a921c4c 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1639,6 +1639,7 @@ libXaw3d.so.8 libXaw3d-1.6.2_1 libshiboken2.so.5.15 libshiboken2-5.15.0_1 libshiboken6.so.6.2 libshiboken6-6.2.0_1 libpyside2.so.5.15 libpyside2-python3-5.15.0_1 +libpyside6.so.6.2 libpyside6-python3-6.2.0_1 libupsclient.so.4 libnetwork-ups-tools-2.7.4_12 libnutclient.so.0 libnetwork-ups-tools-2.7.4_12 libnutscan.so.1 libnetwork-ups-tools-2.7.4_12 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/crossbuild-no-pyi-generation.patch b/srcpkgs/python3-pyside6/patches/crossbuild-no-pyi-generation.patch new file mode 100644 index 000000000000..5edbf0968ab3 --- /dev/null +++ b/srcpkgs/python3-pyside6/patches/crossbuild-no-pyi-generation.patch @@ -0,0 +1,30 @@ +pyside cmake code does not handle crossbuild on pyi files generation (type checker stub file). +So disable their generation on crossbuild. + +--- a/sources/pyside6/cmake/Macros/PySideModules.cmake.ORIG 2021-05-05 08:27:28.000000000 +0200 ++++ b/sources/pyside6/cmake/Macros/PySideModules.cmake 2021-05-20 11:35:43.693098101 +0200 +@@ -204,18 +204,24 @@ + endif() + + # Add target to generate pyi file, which depends on the module target. ++ if(NOT CMAKE_CROSSCOMPILING) + add_custom_target("${module_NAME}_pyi" ALL + COMMAND ${CMAKE_COMMAND} -E env ${ld_prefix} + "${SHIBOKEN_PYTHON_INTERPRETER}" + "${CMAKE_CURRENT_SOURCE_DIR}/../support/generate_pyi.py" ${generate_pyi_options}) + add_dependencies("${module_NAME}_pyi" ${module_NAME}) ++ else() ++ message(STATUS "crossbuild: disable generation of ${module_NAME}_pyi") ++ endif() + + # install + install(TARGETS ${module_NAME} LIBRARY DESTINATION "${PYTHON_SITE_PACKAGES}/PySide6") + ++ if(NOT CMAKE_CROSSCOMPILING) + file(GLOB hinting_stub_files RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/PySide6" "${CMAKE_CURRENT_BINARY_DIR}/PySide6/*.pyi") + install(FILES ${hinting_stub_files} + DESTINATION "${PYTHON_SITE_PACKAGES}/PySide6") ++ endif() + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide6/${module_NAME}/pyside6_${lower_module_name}_python.h + DESTINATION include/PySide6${pyside6_SUFFIX}/${module_NAME}/) 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..76109907d822 --- /dev/null +++ b/srcpkgs/python3-pyside6/patches/tests-disable-invalid-tests.patch @@ -0,0 +1,37 @@ +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 +@@ -37,4 +37,3 @@ + ## + ############################################################################# + +-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 +@@ -43,7 +43,6 @@ + PYSIDE_TEST(bug_736.py) + PYSIDE_TEST(bug_750.py) + PYSIDE_TEST(bug_778.py) +-PYSIDE_TEST(bug_785.py) + PYSIDE_TEST(bug_793.py) + PYSIDE_TEST(bug_811.py) + PYSIDE_TEST(bug_834.py) +@@ -127,7 +126,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..e6e6f97a902e --- /dev/null +++ b/srcpkgs/python3-pyside6/patches/tests-find-python-modules-from-build.patch @@ -0,0 +1,22 @@ +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 +@@ -73,12 +73,11 @@ + + 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')] ++ python_dirs.append(get_build_dir()) # for PySide6 ++ lib_dirs = [os.path.join(get_build_dir(), 'libpyside')] + + 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..25eaf244b022 --- /dev/null +++ b/srcpkgs/python3-pyside6/template @@ -0,0 +1,47 @@ +# Template file for 'python3-pyside6' +pkgname=python3-pyside6 +version=6.2.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="yopito " +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=fed210b662129955332d2609a900b5b8643130134e4682371b26a9ba60740d01 + +# 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