summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorAlfred Wingate <parona@protonmail.com>2025-11-24 16:47:59 +0200
committerSam James <sam@gentoo.org>2025-12-04 01:44:46 +0000
commit23e0f39f781c2d6f0ba1fa8d7611ea84c66a2c1f (patch)
tree1e70b038cc2c1006f5339cd63d6e66b5549c6bfe /dev-python
parentbad54a4ecfcf3eccf09e17cb0cbd1220c375bbcb (diff)
downloadgentoo-23e0f39f781c2d6f0ba1fa8d7611ea84c66a2c1f.tar.gz
gentoo-23e0f39f781c2d6f0ba1fa8d7611ea84c66a2c1f.tar.bz2
gentoo-23e0f39f781c2d6f0ba1fa8d7611ea84c66a2c1f.zip
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>
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pyside/files/pyside-6.10.1-pass-ninja-opts.patch20
-rw-r--r--dev-python/pyside/pyside-6.10.1-r1.ebuild6
2 files changed, 25 insertions, 1 deletions
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