extra/meson to 1.4.0-1

This commit is contained in:
Kevin Mihelich 2024-03-13 00:53:08 +00:00
parent cef33745a5
commit 59a7330b0d
5 changed files with 91 additions and 62 deletions

View file

@ -1,6 +1,6 @@
pkgbase = meson
pkgdesc = High productivity build system
pkgver = 1.3.2
pkgver = 1.4.0
pkgrel = 1
url = https://mesonbuild.com/
arch = any
@ -56,24 +56,24 @@ pkgbase = meson
depends = ninja
depends = python-tqdm
depends = python-typing_extensions
source = https://github.com/mesonbuild/meson/releases/download/1.3.2/meson-1.3.2.tar.gz
source = https://github.com/mesonbuild/meson/releases/download/1.3.2/meson-1.3.2.tar.gz.asc
source = meson-reference-1.3.2.3::https://github.com/mesonbuild/meson/releases/download/1.3.2/meson-reference.3
source = meson-reference-1.3.2.json::https://github.com/mesonbuild/meson/releases/download/1.3.2/reference_manual.json
source = https://github.com/mesonbuild/meson/releases/download/1.4.0/meson-1.4.0.tar.gz
source = https://github.com/mesonbuild/meson/releases/download/1.4.0/meson-1.4.0.tar.gz.asc
source = meson-reference-1.4.0.3::https://github.com/mesonbuild/meson/releases/download/1.4.0/meson-reference.3
source = meson-reference-1.4.0.json::https://github.com/mesonbuild/meson/releases/download/1.4.0/reference_manual.json
source = arch-meson
source = cross-lib32
source = native-clang
source = 0001-Skip-broken-tests.patch
source = 0002-Limit-unittests-workers.patch
source = 0002-tests-Fix-unit-tests-with-high-parallelism.patch
validpgpkeys = 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70
b2sums = 72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd
b2sums = 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486
b2sums = SKIP
b2sums = 692feb16f6ef585e5b7fa46370b0ad0ed0418cf05a15fe08cc5f2945cc83425dda0232e8c30c26b3d82ce95fe1703890b0a53ee7745c78e71a1a8eb8cd376e1c
b2sums = 46b62e840f066287c74ac066e03f56b54e9c7fa1e5789dd0c93e112ff4d62194dc5be6ac39c9d17d6242105e078c05e98109aed3c4f0f7c317b549cb9ff54610
b2sums = 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925
b2sums = 6d08a48551e4aa68b05c307dc970e74164ba689b27f7412e39840b5cea7c65addb28e7c0fb46f4a6469b8d1a6dc6b50eb4ea477cb3d25a7f09c49b86015f6052
b2sums = 70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af
b2sums = 9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081
b2sums = 7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e
b2sums = ebcd0d961bdc00309aa76e93e49c7136c454d1d1838c6bf5a5b168c0a94532353d32364de16c045f14950dd5313c17f33b3d7974317ba94db161638f93de6845
b2sums = 5847e2f1bf362c9fdaf522f0d3a6c81e67c7ac8c016e0ade5632bf23c1ea591c3659fe40f2139e97805144b3a6db6fe375977735b6fc74a7c7a6f8e581632f24
b2sums = b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120
b2sums = 13bfa022f97745dd072c418c5e77b08b9105e7e357b47ab8634e45dc92a7ceaca0d7483a05b66767d97d9f3ca8e0a67e8015c08b8c466d4a083c15c68e30473f
pkgname = meson

View file

@ -35,10 +35,10 @@ index f612e1d52d6d..d0e0d079a069 100644
dep = dependency('ZLIB', version : '>=1.2', method : 'cmake')
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
index 4fcf52e09f2c..6e07c450aa0a 100644
index 2328107caac8..f66dc9769a8f 100644
--- a/unittests/linuxliketests.py
+++ b/unittests/linuxliketests.py
@@ -360,6 +360,7 @@ class LinuxlikeTests(BasePlatformTests):
@@ -312,6 +312,7 @@ class LinuxlikeTests(BasePlatformTests):
raise SkipTest('asan not available on Cygwin')
if is_openbsd():
raise SkipTest('-fsanitize=address is not supported on OpenBSD')
@ -46,7 +46,7 @@ index 4fcf52e09f2c..6e07c450aa0a 100644
testdir = os.path.join(self.framework_test_dir, '7 gnome')
self.init(testdir, extra_args=['-Db_sanitize=address', '-Db_lundef=false'])
@@ -1030,6 +1031,7 @@ class LinuxlikeTests(BasePlatformTests):
@@ -983,6 +984,7 @@ class LinuxlikeTests(BasePlatformTests):
raise SkipTest('asan not available on Cygwin')
if is_openbsd():
raise SkipTest('-fsanitize=address is not supported on OpenBSD')

View file

@ -1,40 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
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!

View file

@ -0,0 +1,67 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Tue, 5 Mar 2024 19:33:33 +0100
Subject: [PATCH] tests: Fix unit tests with high parallelism
On Arch's shiny new 48-core/96-thread build server, the
`test_install_log_content` test fails because of an unexpected
`invalid-symlink.txt` file. Apparently the test runs in parallel with
`test_install_subdir_symlinks`, which modifies the `59 install subdir`
source directory.
To fix this, make `install_subdir_invalid_symlinks` copy the entire test
into a tmpdir before modifying it.
---
unittests/linuxliketests.py | 39 +++++++++++++++++++------------------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
index f66dc9769a8f..c8dc0195bc72 100644
--- a/unittests/linuxliketests.py
+++ b/unittests/linuxliketests.py
@@ -1413,25 +1413,26 @@ class LinuxlikeTests(BasePlatformTests):
Test that installation of broken symlinks works fine.
https://github.com/mesonbuild/meson/issues/3914
'''
- testdir = os.path.join(self.common_test_dir, testdir)
- subdir = os.path.join(testdir, subdir_path)
- with chdir(subdir):
- # Can't distribute broken symlinks in the source tree because it breaks
- # the creation of zipapps. Create it dynamically and run the test by
- # hand.
- src = '../../nonexistent.txt'
- os.symlink(src, 'invalid-symlink.txt')
- try:
- self.init(testdir)
- self.build()
- self.install()
- install_path = subdir_path.split(os.path.sep)[-1]
- link = os.path.join(self.installdir, 'usr', 'share', install_path, 'invalid-symlink.txt')
- self.assertTrue(os.path.islink(link), msg=link)
- self.assertEqual(src, os.readlink(link))
- self.assertFalse(os.path.isfile(link), msg=link)
- finally:
- os.remove(os.path.join(subdir, 'invalid-symlink.txt'))
+ # We can't distribute broken symlinks in the source tree because it
+ # breaks the creation of zipapps. Create the symlink dynamically and run
+ # the test by hand. Do this in a tmpdir in order to not tread on
+ # parallel tests' toes.
+ with tempfile.TemporaryDirectory() as tmpdir:
+ orig_testdir = os.path.join(self.common_test_dir, testdir)
+ tmp_testdir = os.path.join(tmpdir, testdir.split(os.path.sep)[-1])
+ shutil.copytree(orig_testdir, tmp_testdir)
+ src = '../nonexistent.txt'
+ dst = 'invalid-symlink.txt'
+ subdir = os.path.join(tmp_testdir, subdir_path)
+ os.symlink(src, os.path.join(subdir, dst))
+ self.init(tmp_testdir)
+ self.build()
+ self.install()
+ install_path = subdir_path.split(os.path.sep)[-1]
+ link = os.path.join(self.installdir, 'usr', 'share', install_path, dst)
+ self.assertTrue(os.path.islink(link), msg=link)
+ self.assertEqual(src, os.readlink(link))
+ self.assertFalse(os.path.isfile(link), msg=link)
def test_install_subdir_symlinks(self):
self.install_subdir_invalid_symlinks('59 install subdir', os.path.join('sub', 'sub1'))

View file

@ -6,7 +6,7 @@
# - disable lto in arch-meson
pkgname=meson
pkgver=1.3.2
pkgver=1.4.0
pkgrel=1
pkgdesc="High productivity build system"
url="https://mesonbuild.com/"
@ -76,17 +76,17 @@ source=(
cross-lib32
native-clang
0001-Skip-broken-tests.patch
0002-Limit-unittests-workers.patch
0002-tests-Fix-unit-tests-with-high-parallelism.patch
)
b2sums=('72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd'
b2sums=('7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486'
'SKIP'
'692feb16f6ef585e5b7fa46370b0ad0ed0418cf05a15fe08cc5f2945cc83425dda0232e8c30c26b3d82ce95fe1703890b0a53ee7745c78e71a1a8eb8cd376e1c'
'46b62e840f066287c74ac066e03f56b54e9c7fa1e5789dd0c93e112ff4d62194dc5be6ac39c9d17d6242105e078c05e98109aed3c4f0f7c317b549cb9ff54610'
'8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925'
'6d08a48551e4aa68b05c307dc970e74164ba689b27f7412e39840b5cea7c65addb28e7c0fb46f4a6469b8d1a6dc6b50eb4ea477cb3d25a7f09c49b86015f6052'
'211cee61f117fd1d582d7a613a8634f044e9e307791c4154c6da72bccd5f06856801b14bcb26157ee682b5935c48ffd2098a5fabab2232726d7758cf091c07f7'
'9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081'
'7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e'
'ebcd0d961bdc00309aa76e93e49c7136c454d1d1838c6bf5a5b168c0a94532353d32364de16c045f14950dd5313c17f33b3d7974317ba94db161638f93de6845'
'5847e2f1bf362c9fdaf522f0d3a6c81e67c7ac8c016e0ade5632bf23c1ea591c3659fe40f2139e97805144b3a6db6fe375977735b6fc74a7c7a6f8e581632f24')
'b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120'
'13bfa022f97745dd072c418c5e77b08b9105e7e357b47ab8634e45dc92a7ceaca0d7483a05b66767d97d9f3ca8e0a67e8015c08b8c466d4a083c15c68e30473f')
validpgpkeys=(
19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen <jpakkane@gmail.com>
)
@ -96,7 +96,9 @@ prepare() {
# Pass tests
patch -Np1 -i ../0001-Skip-broken-tests.patch
patch -Np1 -i ../0002-Limit-unittests-workers.patch
# https://github.com/mesonbuild/meson/pull/12937
patch -Np1 -i ../0002-tests-Fix-unit-tests-with-high-parallelism.patch
}
build() {