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@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@gentoo.org>
This commit is contained in:
Alfred Wingate 2025-11-24 16:47:59 +02:00 committed by Sam James
parent bad54a4ecf
commit 23e0f39f78
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 25 additions and 1 deletions

View File

@ -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:

View File

@ -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