commit:     c06d5226be69309044da67f46b7ace633ec01a1d
Author:     Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  3 12:42:34 2026 +0000
Commit:     Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
CommitDate: Sat Jan  3 12:48:16 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c06d5226

dev-python/pyside: avoid using shiboken-host-path

Instead set PYTHONPATH so we can find the built version of shiboken.
This ensures the .pyi files are installed.

Also rework the sed'ing in the cmake files to hopefully fix the
freecad build, though I cannot reproduce that issue.

And sync live

Closes: https://bugs.gentoo.org/968219
Closes: https://bugs.gentoo.org/967982
Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org>

 ...de-6.10.1-r2.ebuild => pyside-6.10.1-r3.ebuild} | 13 +++++++-----
 dev-python/pyside/pyside-6.9999.ebuild             | 24 +++++++++++++++-------
 2 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/dev-python/pyside/pyside-6.10.1-r2.ebuild 
b/dev-python/pyside/pyside-6.10.1-r3.ebuild
similarity index 96%
rename from dev-python/pyside/pyside-6.10.1-r2.ebuild
rename to dev-python/pyside/pyside-6.10.1-r3.ebuild
index 04e47a427fc1..3ffdb33daaab 100644
--- a/dev-python/pyside/pyside-6.10.1-r2.ebuild
+++ b/dev-python/pyside/pyside-6.10.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # NOTE: We combine here several PyPI packages, we do this because
@@ -411,6 +411,7 @@ python_compile() {
                        -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf 
"%f\n"
        )
        export pyside_build_id="${pyside_build_dir#"qfp$(usev debug 
d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-"}"
+       export 
PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
 
        DISTUTILS_ARGS=(
                "${MAIN_DISTUTILS_ARGS[@]}"
@@ -419,16 +420,18 @@ python_compile() {
                --build-type=shiboken6-generator
        )
        distutils-r1_python_compile
+       export 
PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
+
        # If no pyside modules enabled, build just shiboken
        if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then
                DISTUTILS_ARGS=(
                        "${MAIN_DISTUTILS_ARGS[@]}"
                        --reuse-build
-                       
--shiboken-host-path=="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
                        
--shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
                        --build-type=pyside6
                )
                distutils-r1_python_compile
+               export 
PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
        fi
 
        # Link libraries to the usual location for backwards compatibility
@@ -528,9 +531,9 @@ python_compile() {
                -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 
1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
                -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 
1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
                -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 
1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-               -e "s~\${PACKAGE_PREFIX_DIR}/~$(python_get_sitedir)/PySide6/~g" 
\
-               -e 
"s~\${_IMPORT_PREFIX}/shiboken6~$(python_get_sitedir)/shiboken6~g" \
-               -e 
"s~\${_IMPORT_PREFIX}/PySide6~$(python_get_sitedir)/PySide6~g" \
+               -e 
"s~\${PACKAGE_PREFIX_DIR}/~\${PACKAGE_PREFIX_DIR}/share/PySide6/~g" \
+               -e 
"s~\${_IMPORT_PREFIX}/shiboken6/include~/usr/include/shiboken6~g" \
+               -e 
"s~\${_IMPORT_PREFIX}/PySide6/include~/usr/include/PySide6~g" \
                -i      "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
        local file
        for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake

diff --git a/dev-python/pyside/pyside-6.9999.ebuild 
b/dev-python/pyside/pyside-6.9999.ebuild
index 0127eec001b0..a6d16f0f0adf 100644
--- a/dev-python/pyside/pyside-6.9999.ebuild
+++ b/dev-python/pyside/pyside-6.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # NOTE: We combine here several PyPI packages, we do this because
@@ -9,11 +9,11 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{11..14} )
-LLVM_COMPAT=( {16..20} )
+LLVM_COMPAT=( {16..21} )
 DISTUTILS_USE_PEP517=setuptools
 DISTUTILS_EXT=1
 
-inherit distutils-r1 llvm-r2 multiprocessing qmake-utils virtualx
+inherit distutils-r1 llvm-r2 multiprocessing ninja-utils qmake-utils virtualx
 
 MY_PN=${PN}-setup-everywhere-src
 MY_P=${MY_PN}-${PV}
@@ -229,6 +229,7 @@ PATCHES=(
        # Needs porting to newer wheel and setuptools
        "${FILESDIR}/${PN}-6.8.2-quick-fix-build-wheel.patch"
        "${FILESDIR}/${PN}-6.10.0-dont-vendor-ffmpeg.patch"
+       "${FILESDIR}/${PN}-6.10.1-pass-ninja-opts.patch"
 )
 
 # Build system duplicates system libraries. TODO: fix
@@ -287,6 +288,9 @@ python_prepare_all() {
        # Doesn't appear to play well with virtualx as it tries to use wayland
        [QtUiTools::loadUiType_test]
                linux
+       # py3.14?
+       [sample::multiple_derived]
+               linux
        EOF
 
        if ! use numpy; then
@@ -307,6 +311,9 @@ python_prepare_all() {
 python_configure_all() {
        export LLVM_INSTALL_DIR="$(get_llvm_prefix)"
 
+       # see pyside-6.10.1-pass-ninja-opts.patch
+       export NINJAOPTS="$(get_NINJAOPTS)"
+
        ENABLED_QT_MODULES=()
 
        # The order matters, dependencies must come first so process
@@ -404,6 +411,7 @@ python_compile() {
                        -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf 
"%f\n"
        )
        export pyside_build_id="${pyside_build_dir#"qfp$(usev debug 
d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-"}"
+       export 
PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
 
        DISTUTILS_ARGS=(
                "${MAIN_DISTUTILS_ARGS[@]}"
@@ -412,16 +420,18 @@ python_compile() {
                --build-type=shiboken6-generator
        )
        distutils-r1_python_compile
+       export 
PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
+
        # If no pyside modules enabled, build just shiboken
        if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then
                DISTUTILS_ARGS=(
                        "${MAIN_DISTUTILS_ARGS[@]}"
                        --reuse-build
-                       
--shiboken-host-path=="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
                        
--shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
                        --build-type=pyside6
                )
                distutils-r1_python_compile
+               export 
PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
        fi
 
        # Link libraries to the usual location for backwards compatibility
@@ -521,9 +531,9 @@ python_compile() {
                -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 
1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
                -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 
1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
                -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 
1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
-               -e "s~\${PACKAGE_PREFIX_DIR}/~$(python_get_sitedir)/PySide6/~g" 
\
-               -e 
"s~\${_IMPORT_PREFIX}/shiboken6/include~$(python_get_sitedir)/shiboken6/include~g"
 \
-               -e 
"s~\${_IMPORT_PREFIX}/PySide6/include~$(python_get_sitedir)/PySide6/include~g" \
+               -e 
"s~\${PACKAGE_PREFIX_DIR}/~\${PACKAGE_PREFIX_DIR}/share/PySide6/~g" \
+               -e 
"s~\${_IMPORT_PREFIX}/shiboken6/include~/usr/include/shiboken6~g" \
+               -e 
"s~\${_IMPORT_PREFIX}/PySide6/include~/usr/include/PySide6~g" \
                -i      "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
        local file
        for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake

Reply via email to