diff --git a/extra/meson/.SRCINFO b/extra/meson/.SRCINFO index d299bfc1e..5361b0ff2 100644 --- a/extra/meson/.SRCINFO +++ b/extra/meson/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = meson pkgdesc = High productivity build system pkgver = 1.3.1 - pkgrel = 1 + pkgrel = 2 url = https://mesonbuild.com/ arch = any license = Apache @@ -65,15 +65,17 @@ pkgbase = meson source = native-clang source = 0001-Skip-broken-tests.patch source = 0002-Use-C-17-for-protobuf-tests.patch + source = 0003-Limit-unittests-workers.patch validpgpkeys = 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 b2sums = 64d53eddc8cb321a4e2dabaa4b7499798a7b68764b1a7a5182bfa21d081dc07105acab616119b88ff610e5d75504f03d1c0aefee3602ddf538fc491ff3d0204a b2sums = SKIP b2sums = 95eff6139275ddc826395192e2e7043d665641260454aeda06dca7e573d34b348c2a935ac1603d8d838f480fe6b57ba2ece51fa90760ab3014e15c70f6d130ea b2sums = 82f234701f578f5c85d527a95e6026b5d219fde9b212bead51615f38b43c8b0d129a700e792099778802f5b511250a2b56b5074e55709f4aa1ace64ef8949ff8 - b2sums = 211cee61f117fd1d582d7a613a8634f044e9e307791c4154c6da72bccd5f06856801b14bcb26157ee682b5935c48ffd2098a5fabab2232726d7758cf091c07f7 + b2sums = 70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af b2sums = 9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081 b2sums = 7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e b2sums = 21466907b450c662824f576accbf49d4bb543c5d7a1075dfcd48e89db92537d2dbe194a55c335bd520f787125b83b394a9f9f2b9e16d667797dc34c3b862bf60 b2sums = c0154434fefb00aebb66b276c3b871b9ec629adc8f3c5b020a21b4662667c0bdaa2c48c6a7498d0c7ab901bb9c3911bd0bb82fbae5e5f3ae2da006e3849e0ff0 + b2sums = 5847e2f1bf362c9fdaf522f0d3a6c81e67c7ac8c016e0ade5632bf23c1ea591c3659fe40f2139e97805144b3a6db6fe375977735b6fc74a7c7a6f8e581632f24 pkgname = meson diff --git a/extra/meson/0003-Limit-unittests-workers.patch b/extra/meson/0003-Limit-unittests-workers.patch new file mode 100644 index 000000000..a2510b442 --- /dev/null +++ b/extra/meson/0003-Limit-unittests-workers.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 12 Feb 2024 02:51:51 +0100 +Subject: [PATCH] Limit unittests workers + +On our new 48-core/96-thread build server, the +`test_install_log_content` test fails, apparently because it runs in +parallel with `test_install_subdir_symlinks`, which modifies the +`59 install subdir` source directory. +--- + run_unittests.py | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/run_unittests.py b/run_unittests.py +index 7a2502a6e886..f43497b5f5e2 100755 +--- a/run_unittests.py ++++ b/run_unittests.py +@@ -22,6 +22,7 @@ import time + import subprocess + import os + import unittest ++import multiprocessing + + import mesonbuild.mlog + import mesonbuild.depfile +@@ -130,7 +131,13 @@ def main(): + # Don't use pytest-xdist when running single unit tests since it wastes + # time spawning a lot of processes to distribute tests to in that case. + if not running_single_tests(sys.argv, cases): +- pytest_args += ['-n', 'auto'] ++ try: ++ num_workers = multiprocessing.cpu_count() ++ except Exception as e: ++ num_workers = 2 ++ if num_workers > 64: ++ num_workers = 64 ++ pytest_args += ['-n', str(num_workers)] + except ImportError: + print('pytest-xdist not found, tests will not be distributed across CPU cores') + # Let there be colors! diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD index f4f13a454..ab768e466 100644 --- a/extra/meson/PKGBUILD +++ b/extra/meson/PKGBUILD @@ -7,7 +7,7 @@ pkgname=meson pkgver=1.3.1 -pkgrel=1 +pkgrel=2 pkgdesc="High productivity build system" url="https://mesonbuild.com/" arch=(any) @@ -77,6 +77,7 @@ source=( native-clang 0001-Skip-broken-tests.patch 0002-Use-C-17-for-protobuf-tests.patch + 0003-Limit-unittests-workers.patch ) b2sums=('64d53eddc8cb321a4e2dabaa4b7499798a7b68764b1a7a5182bfa21d081dc07105acab616119b88ff610e5d75504f03d1c0aefee3602ddf538fc491ff3d0204a' 'SKIP' @@ -86,7 +87,8 @@ b2sums=('64d53eddc8cb321a4e2dabaa4b7499798a7b68764b1a7a5182bfa21d081dc07105acab6 '9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081' '7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e' '21466907b450c662824f576accbf49d4bb543c5d7a1075dfcd48e89db92537d2dbe194a55c335bd520f787125b83b394a9f9f2b9e16d667797dc34c3b862bf60' - 'c0154434fefb00aebb66b276c3b871b9ec629adc8f3c5b020a21b4662667c0bdaa2c48c6a7498d0c7ab901bb9c3911bd0bb82fbae5e5f3ae2da006e3849e0ff0') + 'c0154434fefb00aebb66b276c3b871b9ec629adc8f3c5b020a21b4662667c0bdaa2c48c6a7498d0c7ab901bb9c3911bd0bb82fbae5e5f3ae2da006e3849e0ff0' + '5847e2f1bf362c9fdaf522f0d3a6c81e67c7ac8c016e0ade5632bf23c1ea591c3659fe40f2139e97805144b3a6db6fe375977735b6fc74a7c7a6f8e581632f24') validpgpkeys=( 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen ) @@ -97,6 +99,7 @@ prepare() { # Pass tests patch -Np1 -i ../0001-Skip-broken-tests.patch patch -Np1 -i ../0002-Use-C-17-for-protobuf-tests.patch + patch -Np1 -i ../0003-Limit-unittests-workers.patch } build() {