diff --git a/programming/language/python3/python3-shiboken6/actions.py b/programming/language/python3/python3-shiboken6/actions.py index 1deb7034fe..5bbba3ec45 100644 --- a/programming/language/python3/python3-shiboken6/actions.py +++ b/programming/language/python3/python3-shiboken6/actions.py @@ -4,24 +4,30 @@ # Licensed under the GNU General Public License, version 2. # See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt -from pisi.actionsapi import get +from pisi.actionsapi import get, pisitools from pisi.actionsapi import cmaketools from pisi.actionsapi import shelltools + +# WorkDir="pyside-setup-everywhere-src-%s/sources/shiboken6" % get.srcVERSION() + def setup(): shelltools.cd("sources/shiboken6") - shelltools.makedirs("build3") - shelltools.cd("build3") - cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \ + pisitools.dosed("libshiboken/CMakeLists.txt", 'LIBRARY DESTINATION "shiboken6"', 'LIBRARY DESTINATION "${LIB_INSTALL_DIR}"') + cmaketools.configure("-B build -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTS=OFF \ - -DUSE_PYTHON_VERSION=3", sourceDir="..") + -DSHIBOKEN_PYTHON_LIBRARIES=`pkgconf python3-embed --libs` \ + -DUSE_PYTHON_VERSION=3") def build(): - shelltools.cd("sources/shiboken6/build3") + shelltools.cd("sources/shiboken6/build") cmaketools.make() def install(): - shelltools.cd("sources/shiboken6/build3") + shelltools.cd("sources/shiboken6/build") cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + # pisitools.removeDir("/usr/shiboken6") + + # pisitools.dosed("%s/usr/lib/cmake/Shiboken6/Shiboken6Targets-release.cmake" % get.installDIR(), "/shiboken6/", "/lib/") diff --git a/programming/language/python3/python3-shiboken6/files/0001-Always-link-to-python-libraries.patch b/programming/language/python3/python3-shiboken6/files/0001-Always-link-to-python-libraries.patch new file mode 100644 index 0000000000..2c58cb1243 --- /dev/null +++ b/programming/language/python3/python3-shiboken6/files/0001-Always-link-to-python-libraries.patch @@ -0,0 +1,33 @@ +From e9591e27db4ae3412d4504a69a8afebee9a1b83e Mon Sep 17 00:00:00 2001 +From: Christophe Giboudeaux +Date: Tue, 27 Jul 2021 14:54:00 +0200 +Subject: [PATCH] Always link to python libraries. + +Change-Id: I687191431adaff55927de353db8f81dfa30ba1b1 +--- + sources/shiboken6/cmake/ShibokenHelpers.cmake | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/sources/shiboken6/cmake/ShibokenHelpers.cmake b/sources/shiboken6/cmake/ShibokenHelpers.cmake +index 27ee333..4be2ad1 100644 +--- a/sources/shiboken6/cmake/ShibokenHelpers.cmake ++++ b/sources/shiboken6/cmake/ShibokenHelpers.cmake +@@ -425,13 +425,9 @@ macro(shiboken_compute_python_libraries) + "SHIBOKEN_COMPUTE_LIBS" "shiboken_compute_python_libraries" + "IS_CALLED_FROM_EXPORT" "" "" ${ARGN}) + +- if (NOT SHIBOKEN_PYTHON_LIBRARIES) +- set(SHIBOKEN_PYTHON_LIBRARIES "") +- endif() +- +- if(WIN32 AND NOT SHIBOKEN_PYTHON_LIBRARIES) +- set(SHIBOKEN_PYTHON_LIBRARIES ${Python_LIBRARIES}) +- endif() ++ # Always link to python libraries. ++ message(STATUS "Linking shiboken to ${Python_LIBRARIES}") ++ set(SHIBOKEN_PYTHON_LIBRARIES ${Python_LIBRARIES}) + + # If the resulting variable + # contains a "debug;X;optimized;Y" list like described in shiboken_check_if_limited_api, +-- +2.46.1 diff --git a/programming/language/python3/python3-shiboken6/files/0001-Fix-installation.patch b/programming/language/python3/python3-shiboken6/files/0001-Fix-installation.patch new file mode 100644 index 0000000000..8a1b595374 --- /dev/null +++ b/programming/language/python3/python3-shiboken6/files/0001-Fix-installation.patch @@ -0,0 +1,57 @@ +From c069622d35a00485742b125caf9439b31b1b972f Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Tue, 7 Oct 2025 15:54:32 +0200 +Subject: [PATCH] Fix installation + +Upstream decided to install files in non-standard locations. +--- + sources/pyside6/CMakeLists.txt | 2 +- + sources/shiboken6/generator/CMakeLists.txt | 4 ++-- + sources/shiboken6/libshiboken/CMakeLists.txt | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt +index 6b73d70..74aaba5 100644 +--- a/sources/pyside6/CMakeLists.txt ++++ b/sources/pyside6/CMakeLists.txt +@@ -40,7 +40,7 @@ install(EXPORT PySide6Targets + if(NOT is_pyside6_superproject_build) + install(EXPORT PySide6WheelTargets + NAMESPACE PySide6:: +- DESTINATION "${LIB_INSTALL_DIR}/wheels/cmake/PySide6" ++ DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6" + FILE PySide6Targets.cmake) + endif() + +diff --git a/sources/shiboken6/generator/CMakeLists.txt b/sources/shiboken6/generator/CMakeLists.txt +index 997468f..d0948d9 100644 +--- a/sources/shiboken6/generator/CMakeLists.txt ++++ b/sources/shiboken6/generator/CMakeLists.txt +@@ -73,11 +73,11 @@ install(EXPORT "${package_name}Targets" + if(NOT is_pyside6_superproject_build) + install(TARGETS shiboken6 + EXPORT "${package_name}WheelTargets" +- DESTINATION "shiboken6_generator") ++ DESTINATION "${BIN_INSTALL_DIR}") + + install(EXPORT "${package_name}WheelTargets" + NAMESPACE "Shiboken6::" +- DESTINATION "${LIB_INSTALL_DIR}/wheels/cmake/${package_name}" ++ DESTINATION "${LIB_INSTALL_DIR}/cmake/${package_name}" + FILE "${package_name}Targets.cmake") + endif() + +diff --git a/sources/shiboken6/libshiboken/CMakeLists.txt b/sources/shiboken6/libshiboken/CMakeLists.txt +index 973d14b..c4235f8 100644 +--- a/sources/shiboken6/libshiboken/CMakeLists.txt ++++ b/sources/shiboken6/libshiboken/CMakeLists.txt +@@ -217,6 +217,6 @@ if(NOT is_pyside6_superproject_build) + + install(EXPORT Shiboken6WheelTargets + NAMESPACE Shiboken6:: +- DESTINATION "${LIB_INSTALL_DIR}/wheels/cmake/Shiboken6" ++ DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6" + FILE Shiboken6Targets.cmake) + endif() +-- +2.51.0 diff --git a/programming/language/python3/python3-shiboken6/files/fix-header-install-dir.patch b/programming/language/python3/python3-shiboken6/files/fix-header-install-dir.patch new file mode 100644 index 0000000000..4cf157f4b2 --- /dev/null +++ b/programming/language/python3/python3-shiboken6/files/fix-header-install-dir.patch @@ -0,0 +1,230 @@ +From 80632681335d0dbc4b801a513a78ed921bd5377c Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Tue, 7 Oct 2025 14:14:43 +0200 +Subject: [PATCH] Revert "Modify headers installation for CMake builds" + +/usr/include/ is the correct location for include headers. + +--- + build_scripts/platforms/unix.py | 4 ++-- + build_scripts/platforms/windows_desktop.py | 7 ++++--- + sources/pyside6/PySide6/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtCore/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtDBus/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtDesigner/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtGraphs/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtGui/CMakeLists.txt | 2 +- + sources/pyside6/cmake/Macros/PySideModules.cmake | 2 +- + sources/pyside6/libpyside/CMakeLists.txt | 4 ++-- + sources/pyside6/libpysideqml/CMakeLists.txt | 2 +- + sources/pyside6/libpysideremoteobjects/CMakeLists.txt | 2 +- + sources/shiboken6/data/shiboken6.pc.in | 2 +- + sources/shiboken6/libshiboken/CMakeLists.txt | 4 ++-- + 15 files changed, 21 insertions(+), 20 deletions(-) + +diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py +index 59c63fd..03b814e 100644 +--- a/build_scripts/platforms/unix.py ++++ b/build_scripts/platforms/unix.py +@@ -108,8 +108,8 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False): + "{st_build_dir}/{st_package_name}/scripts/shiboken_tool.py", + force=False, _vars=_vars) + +- if config.is_internal_shiboken_module_build() or config.is_internal_pyside_build(): +- # /{cmake_package_name}/include/* -> /{st_package_name}/include ++ if config.is_internal_shiboken_generator_build() or config.is_internal_pyside_build(): ++ # /include/* -> /{st_package_name}/include + copydir( + "{install_dir}/{cmake_package_name}/include", + destination_dir / "include", +diff --git a/build_scripts/platforms/windows_desktop.py b/build_scripts/platforms/windows_desktop.py +index e023ff0..83f06c3 100644 +--- a/build_scripts/platforms/windows_desktop.py ++++ b/build_scripts/platforms/windows_desktop.py +@@ -94,10 +94,11 @@ def prepare_packages_win32(pyside_build, _vars): + _filter=pdbs, + recursive=False, _vars=_vars) + +- if config.is_internal_shiboken_module_build() or config.is_internal_pyside_build(): +- # /{cmake_package_name}/include/* -> /{st_package_name}/include ++ if config.is_internal_shiboken_generator_build() or config.is_internal_pyside_build(): ++ # /include/* -> /{st_package_name}/include ++ + copydir( +- "{install_dir}/{cmake_package_name}/include", ++ "{install_dir}/include/{cmake_package_name}", + destination_dir / "include", + _vars=_vars) + +diff --git a/sources/pyside6/PySide6/CMakeLists.txt b/sources/pyside6/PySide6/CMakeLists.txt +index c1934d9..ccfa843 100644 +--- a/sources/pyside6/PySide6/CMakeLists.txt ++++ b/sources/pyside6/PySide6/CMakeLists.txt +@@ -119,7 +119,7 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/templates/widgets_common.xml + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/templates/datavisualization_common.xml + DESTINATION share/PySide6${pyside_SUFFIX}/typesystems) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pyside6_global.h +- DESTINATION ${BINDING_NAME}${pyside6_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6_SUFFIX}) + + install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/QtAsyncio" + DESTINATION "${PYTHON_SITE_PACKAGES}/${BINDING_NAME}${pyside6_SUFFIX}") +diff --git a/sources/pyside6/PySide6/QtCore/CMakeLists.txt b/sources/pyside6/PySide6/QtCore/CMakeLists.txt +index 2f49b61..6359ff4 100644 +--- a/sources/pyside6/PySide6/QtCore/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtCore/CMakeLists.txt +@@ -306,4 +306,4 @@ if (APPLE) + endif() + + install(FILES ${pyside6_SOURCE_DIR}/qtcorehelper.h ${pyside6_SOURCE_DIR}/qiopipe.h +- DESTINATION PySide6/include/QtCore/) ++ DESTINATION include/PySide6/QtCore/) +diff --git a/sources/pyside6/PySide6/QtDBus/CMakeLists.txt b/sources/pyside6/PySide6/QtDBus/CMakeLists.txt +index 49e86d1..5ee8dc6 100644 +--- a/sources/pyside6/PySide6/QtDBus/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtDBus/CMakeLists.txt +@@ -51,4 +51,4 @@ create_pyside_module(NAME QtDBus + TYPESYSTEM_PATH QtDBus_SOURCE_DIR + SOURCES QtDBus_SRC) + +-install(FILES ${pyside6_SOURCE_DIR}/qtdbushelper.h DESTINATION PySide6/include/QtDBus) ++install(FILES ${pyside6_SOURCE_DIR}/qtdbushelper.h DESTINATION include/PySide6/QtDBus) +diff --git a/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt b/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt +index 424799b..1276b42 100644 +--- a/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt +@@ -68,4 +68,4 @@ create_pyside_module(NAME QtDataVisualization + STATIC_SOURCES QtDataVisualization_src) + + install(FILES ${pyside6_SOURCE_DIR}/qtdatavisualization_helper.h +- DESTINATION PySide6/include/QtDataVisualization) ++ DESTINATION include/PySide6/QtDataVisualization) +diff --git a/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt b/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt +index 570ed0f..e91532b 100644 +--- a/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt +@@ -67,4 +67,4 @@ create_pyside_module(NAME QtDesigner + STATIC_SOURCES QtDesigner_static_src + TYPESYSTEM_NAME ${QtDesigner_BINARY_DIR}/typesystem_designer.xml) + +-install(FILES ${pyside6_SOURCE_DIR}/qpydesignerextensions.h DESTINATION PySide6/include/QtDesigner) ++install(FILES ${pyside6_SOURCE_DIR}/qpydesignerextensions.h DESTINATION include/PySide6/QtDesigner) +diff --git a/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt b/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt +index f416078..29a7b25 100644 +--- a/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt +@@ -96,4 +96,4 @@ create_pyside_module(NAME QtGraphs + DROPPED_ENTRIES QtGraphs_DROPPED_ENTRIES) + + install(FILES ${pyside6_SOURCE_DIR}/qtgraphs_helper.h +- DESTINATION PySide6/include/QtGraphs) ++ DESTINATION include/PySide6/QtGraphs) +diff --git a/sources/pyside6/PySide6/QtGui/CMakeLists.txt b/sources/pyside6/PySide6/QtGui/CMakeLists.txt +index b9e8429..1d2d411 100644 +--- a/sources/pyside6/PySide6/QtGui/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtGui/CMakeLists.txt +@@ -366,4 +366,4 @@ create_pyside_module(NAME QtGui + + install(FILES ${pyside6_SOURCE_DIR}/qpytextobject.h + ${pyside6_SOURCE_DIR}/qtguihelper.h +- DESTINATION PySide6/include/QtGui/) ++ DESTINATION include/PySide6/QtGui/) +diff --git a/sources/pyside6/cmake/Macros/PySideModules.cmake b/sources/pyside6/cmake/Macros/PySideModules.cmake +index 86791f4..7bb7714 100644 +--- a/sources/pyside6/cmake/Macros/PySideModules.cmake ++++ b/sources/pyside6/cmake/Macros/PySideModules.cmake +@@ -378,7 +378,7 @@ macro(create_pyside_module) + + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide6/${module_NAME}/pyside6_${lower_module_name}_python.h +- DESTINATION PySide6${pyside6_SUFFIX}/include/${module_NAME}/) ++ DESTINATION include/PySide6${pyside6_SUFFIX}/${module_NAME}/) + file(GLOB typesystem_files ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_*.xml ${typesystem_path}) + + # Copy typesystem files and remove module names from the element +diff --git a/sources/pyside6/libpyside/CMakeLists.txt b/sources/pyside6/libpyside/CMakeLists.txt +index 75c2328..f8b25a4 100644 +--- a/sources/pyside6/libpyside/CMakeLists.txt ++++ b/sources/pyside6/libpyside/CMakeLists.txt +@@ -101,7 +101,7 @@ append_size_optimization_flags(pyside6) + + target_include_directories(pyside6 PUBLIC + $ +- $ ++ $ + ) + + target_compile_definitions(pyside6 PRIVATE -DQT_LEAN_HEADERS=1 -DQT_NO_KEYWORDS=1) +@@ -177,7 +177,7 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/PySide6ConfigVersion.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/PySide6ConfigVersion.cmake" @ONLY) + + install(FILES ${libpyside_HEADERS} +- DESTINATION ${BINDING_NAME}${pyside6_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6_SUFFIX}) + + # build-time installation + install(TARGETS pyside6 EXPORT PySide6Targets +diff --git a/sources/pyside6/libpysideqml/CMakeLists.txt b/sources/pyside6/libpysideqml/CMakeLists.txt +index 1430334..dac3cdd 100644 +--- a/sources/pyside6/libpysideqml/CMakeLists.txt ++++ b/sources/pyside6/libpysideqml/CMakeLists.txt +@@ -84,7 +84,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_T + qfp_strip_library("pyside6qml") + + install(FILES ${libpysideqml_HEADERS} +- DESTINATION ${BINDING_NAME}${pyside6qml_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6qml_SUFFIX}) + + #built-time installation + install(TARGETS pyside6qml EXPORT PySide6Targets +diff --git a/sources/pyside6/libpysideremoteobjects/CMakeLists.txt b/sources/pyside6/libpysideremoteobjects/CMakeLists.txt +index caaadc2..4669fb6 100644 +--- a/sources/pyside6/libpysideremoteobjects/CMakeLists.txt ++++ b/sources/pyside6/libpysideremoteobjects/CMakeLists.txt +@@ -80,7 +80,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_T + # + + install(FILES ${libpysideremoteobjects_HEADERS} +- DESTINATION ${BINDING_NAME}${pyside6remoteobjects_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6remoteobjects_SUFFIX}) + + install(TARGETS pyside6remoteobjects EXPORT PySide6RemoteObjectsTargets + LIBRARY DESTINATION "${LIB_INSTALL_DIR}" +diff --git a/sources/shiboken6/data/shiboken6.pc.in b/sources/shiboken6/data/shiboken6.pc.in +index 917b706..a82d231 100644 +--- a/sources/shiboken6/data/shiboken6.pc.in ++++ b/sources/shiboken6/data/shiboken6.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ + libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ +-includedir=@CMAKE_INSTALL_PREFIX@/shiboken6/include ++includedir=@CMAKE_INSTALL_PREFIX@/include/shiboken6 + python_interpreter=@Python_EXECUTABLE@ + python_include_dir=@Python_INCLUDE_DIRS@ + +diff --git a/sources/shiboken6/libshiboken/CMakeLists.txt b/sources/shiboken6/libshiboken/CMakeLists.txt +index 6136632..973d14b 100644 +--- a/sources/shiboken6/libshiboken/CMakeLists.txt ++++ b/sources/shiboken6/libshiboken/CMakeLists.txt +@@ -111,7 +111,7 @@ add_library(Shiboken6::libshiboken ALIAS libshiboken) + target_include_directories(libshiboken PUBLIC + $ + $ +- $ ++ $ + ) + + if (NOT "${NUMPY_INCLUDE_DIR}" STREQUAL "") +@@ -196,7 +196,7 @@ install(FILES + signature.h + signature_p.h + +- DESTINATION shiboken6${shiboken6_SUFFIX}/include) ++ DESTINATION include/shiboken6${shiboken6_SUFFIX}) + install(TARGETS libshiboken EXPORT Shiboken6Targets + LIBRARY DESTINATION "${LIB_INSTALL_DIR}" + ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" +-- +2.51.0 diff --git a/programming/language/python3/python3-shiboken6/pspec.xml b/programming/language/python3/python3-shiboken6/pspec.xml index cff281c231..eb5e905b54 100644 --- a/programming/language/python3/python3-shiboken6/pspec.xml +++ b/programming/language/python3/python3-shiboken6/pspec.xml @@ -32,6 +32,11 @@ qt6-sql-mysql qt6-sql-odbc--> + + fix-header-install-dir.patch + 0001-Always-link-to-python-libraries.patch + 0001-Fix-installation.patch +