commit:     23e0f39f781c2d6f0ba1fa8d7611ea84c66a2c1f
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Mon Nov 24 14:47:59 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec  4 01:44:46 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23e0f39f

dev-python/pyside: pass NINJA args directly

Makes the build nicer as --load-average can be passed, similarly free
jobserver support as you can opt for not passing --jobs.

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44882
Closes: https://github.com/gentoo/gentoo/pull/44882
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pyside/files/pyside-6.10.1-pass-ninja-opts.patch | 20 ++++++++++++++++++++
 dev-python/pyside/pyside-6.10.1-r1.ebuild            |  6 +++++-
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/dev-python/pyside/files/pyside-6.10.1-pass-ninja-opts.patch 
b/dev-python/pyside/files/pyside-6.10.1-pass-ninja-opts.patch
new file mode 100644
index 000000000000..0ce8eb2fbac8
--- /dev/null
+++ b/dev-python/pyside/files/pyside-6.10.1-pass-ninja-opts.patch
@@ -0,0 +1,20 @@
+Allows passing --load-average and not passing --jobs which would stop the 
jobserver from working.
+
+This is a Gentoo'ism so its not upstreamable in this form.
+
+diff --git a/build_scripts/main.py b/build_scripts/main.py
+index cdaa439ff..3e088961e 100644
+--- a/build_scripts/main.py
++++ b/build_scripts/main.py
+@@ -854,8 +854,8 @@ class PysideBuild(_build, CommandMixin, 
BuildInfoCollectorMixin):
+ 
+         log.info(f"-- Compiling module {extension}...")
+         cmd_make = [str(self.make_path)]
+-        if OPTION["JOBS"]:
+-            cmd_make.append(OPTION["JOBS"])
++        if self.make_generator == "Ninja":
++            cmd_make.extend(os.getenv("NINJAOPTS").split(' '))
+         if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE and self.make_generator == 
"Ninja":
+             cmd_make.append("-v")
+         if run_process(cmd_make) != 0:
+

diff --git a/dev-python/pyside/pyside-6.10.1-r1.ebuild 
b/dev-python/pyside/pyside-6.10.1-r1.ebuild
index dc797e43a082..8f0b7952df4d 100644
--- a/dev-python/pyside/pyside-6.10.1-r1.ebuild
+++ b/dev-python/pyside/pyside-6.10.1-r1.ebuild
@@ -14,7 +14,7 @@ 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}
@@ -230,6 +230,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
@@ -308,6 +309,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

Reply via email to