diff --git a/srcpkgs/python3-pyside2/patches/crossbuild-for-shiboken2.patch b/srcpkgs/python3-pyside2/patches/crossbuild-for-shiboken2.patch new file mode 100644 index 00000000000..5a071a33d20 --- /dev/null +++ b/srcpkgs/python3-pyside2/patches/crossbuild-for-shiboken2.patch @@ -0,0 +1,11 @@ +--- sources/pyside2/cmake/Macros/PySideModules.cmake.ORIG ++++ sources/pyside2/cmake/Macros/PySideModules.cmake +@@ -123,7 +123,7 @@ + BYPRODUCTS ${${module_SOURCES}} + COMMAND Shiboken2::shiboken2 ${GENERATOR_EXTRA_FLAGS} + "${pyside2_BINARY_DIR}/${module_NAME}_global.h" +- --include-paths=${shiboken_include_dirs} ++ --include-paths=${shiboken_include_dirs}${PATH_SEP}${CMAKE_FIND_ROOT_PATH}/usr/include + ${shiboken_framework_include_dirs_option} + --typesystem-paths=${pyside_binary_dir}${PATH_SEP}${pyside2_SOURCE_DIR}${PATH_SEP}${${module_TYPESYSTEM_PATH}} + --output-directory=${CMAKE_CURRENT_BINARY_DIR} diff --git a/srcpkgs/python3-pyside2/patches/crossbuild-no-pyi-generation.patch b/srcpkgs/python3-pyside2/patches/crossbuild-no-pyi-generation.patch new file mode 100644 index 00000000000..b43838964b5 --- /dev/null +++ b/srcpkgs/python3-pyside2/patches/crossbuild-no-pyi-generation.patch @@ -0,0 +1,31 @@ +pyside2 cmake code does not handle crossbuild while generating pyi files. +(stub files for type checker). +From now, disable their generation. + +--- sources/pyside2/cmake/Macros/PySideModules.cmake.ORIG ++++ sources/pyside2/cmake/Macros/PySideModules.cmake +@@ -201,18 +201,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}/PySide2") + ++ if(NOT CMAKE_CROSSCOMPILING) + 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") ++ endif() + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide2/${module_NAME}/pyside2_${lower_module_name}_python.h + DESTINATION include/PySide2${pyside2_SUFFIX}/${module_NAME}/) diff --git a/srcpkgs/python3-pyside2/template b/srcpkgs/python3-pyside2/template index 20253c69c96..3538d3a7998 100644 --- a/srcpkgs/python3-pyside2/template +++ b/srcpkgs/python3-pyside2/template @@ -1,26 +1,34 @@ # Template file for 'python3-pyside2' pkgname=python3-pyside2 -version=5.14.1 +version=5.14.2.1 revision=1 _pkgname="pyside-setup-opensource-src-${version}" -wrksrc="$_pkgname" -configure_args="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release - -DBUILD_TESTS=OFF -DPYTHON_EXECUTABLE=/usr/bin/python" -hostmakedepends="cmake" +wrksrc="${_pkgname/%5.14.2.1/5.14.2}" +build_wrksrc="sources/pyside2" +build_style=cmake +configure_args="-DBUILD_TESTS=OFF -DPYTHON_EXECUTABLE=/usr/bin/python" +hostmakedepends="cmake python3 shiboken2" makedepends="python3-devel libshiboken2-devel qt5-devel qt5-multimedia-devel qt5-tools-devel qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite qt5-plugin-tds qt5-x11extras-devel qt5-xmlpatterns-devel qt5-location-devel qt5-declarative-devel qt5-scxml-devel qt5-script-devel qt5-sensors-devel qt5-speech-devel qt5-charts-devel qt5-svg-devel qt5-datavis3d-devel qt5-webchannel-devel qt5-websockets-devel - qt5-3d-devel qt5-gamepad-devel qt5-remoteobjects-devel" + qt5-3d-devel qt5-gamepad-devel qt5-remoteobjects-devel + $(vopt_if webengine 'qt5-webengine-devel')" depends="python3-shiboken2" short_desc="Python3 bindings for the Qt5 toolkit" maintainer="yopito " license="LGPL-3.0-or-later" homepage="https://wiki.qt.io/Qt_for_Python" distfiles="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${version}-src/${_pkgname}.tar.xz" -checksum=41ce931695567639c92acb68a9d66ed5609f067011af9a94b53fc0d697ad1d1c +checksum=11f48956208a487dabf6f531e60fb88ad0e48f2979cfc9e79c1c986387c491fa + +export CLANG_INSTALL_DIR=${XBPS_CROSS_BASE}/usr + +if [ ${CROSS_BUILD} ]; then + hostmakedepends+=" qt5-qmake qt5-host-tools qt5-tools qt5-remoteobjects qt5-scxml" +fi build_options="webengine" desc_option_webengine="Build Qt5 WebEngine bindings" @@ -29,10 +37,6 @@ if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then build_options_default="webengine" fi -if [ "$build_option_webengine" ]; then - makedepends+=" qt5-webengine-devel" -fi - subpackages="libpyside2-python3-devel libpyside2-python3 libpyside-python3 python3-pyside python3-pyside-phonon python3-pyenet" @@ -40,19 +44,6 @@ if [ "$build_option_webengine" ]; then subpackages+=" python3-pyside2-webengine" fi -do_build() { - [ ! -d build ] && mkdir build - pushd build - export CLANG_INSTALL_DIR=/usr - cmake ../sources/pyside2 ${configure_args} - make ${makejobs} - popd -} - -do_install() { - make -C build DESTDIR=${DESTDIR} install -} - python3-pyside2-webengine_package() { depends="python3-pyside2-${version}_${revision}" short_desc+=" - WebEngine component"