mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/meson to 1.4.1-1
This commit is contained in:
parent
a3d3bda77f
commit
af52c19f87
8 changed files with 61 additions and 394 deletions
|
@ -1,7 +1,7 @@
|
||||||
pkgbase = meson
|
pkgbase = meson
|
||||||
pkgdesc = High productivity build system
|
pkgdesc = High productivity build system
|
||||||
pkgver = 1.4.0
|
pkgver = 1.4.1
|
||||||
pkgrel = 5
|
pkgrel = 1
|
||||||
url = https://mesonbuild.com/
|
url = https://mesonbuild.com/
|
||||||
arch = any
|
arch = any
|
||||||
license = Apache-2.0
|
license = Apache-2.0
|
||||||
|
@ -56,30 +56,24 @@ pkgbase = meson
|
||||||
depends = ninja
|
depends = ninja
|
||||||
depends = python
|
depends = python
|
||||||
depends = python-tqdm
|
depends = python-tqdm
|
||||||
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.1/meson-1.4.1.tar.gz
|
||||||
source = https://github.com/mesonbuild/meson/releases/download/1.4.0/meson-1.4.0.tar.gz.asc
|
source = https://github.com/mesonbuild/meson/releases/download/1.4.1/meson-1.4.1.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.1.3::https://github.com/mesonbuild/meson/releases/download/1.4.1/meson-reference.3
|
||||||
source = meson-reference-1.4.0.json::https://github.com/mesonbuild/meson/releases/download/1.4.0/reference_manual.json
|
source = meson-reference-1.4.1.json::https://github.com/mesonbuild/meson/releases/download/1.4.1/reference_manual.json
|
||||||
source = arch-meson
|
source = arch-meson
|
||||||
source = cross-lib32
|
source = cross-lib32
|
||||||
source = native-clang
|
source = native-clang
|
||||||
source = 0001-Skip-broken-tests.patch
|
source = 0001-Skip-broken-tests.patch
|
||||||
source = 0002-unittests-Add-a-helper-for-copying-source-trees.patch
|
source = 0002-cuda-avoid-test-failure-without-GPU-available.patch
|
||||||
source = 0003-tests-Fix-unit-tests-with-high-parallelism.patch
|
|
||||||
source = 0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch
|
|
||||||
source = 0005-Fix-builds-with-Ninja-12-and-remove-a-5-year-old-wor.patch
|
|
||||||
validpgpkeys = 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70
|
validpgpkeys = 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70
|
||||||
b2sums = 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486
|
b2sums = 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3
|
||||||
b2sums = SKIP
|
b2sums = SKIP
|
||||||
b2sums = 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925
|
b2sums = a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488
|
||||||
b2sums = 6d08a48551e4aa68b05c307dc970e74164ba689b27f7412e39840b5cea7c65addb28e7c0fb46f4a6469b8d1a6dc6b50eb4ea477cb3d25a7f09c49b86015f6052
|
b2sums = f44fdcb30d576e1f94d184963a379745c7ff8561622151f2ecd2c03de854bc2c9b4e1162c34dc8c6a367f16c7307044691f7e43076725bce66c979e4f4a5ce5f
|
||||||
b2sums = 70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af
|
b2sums = 70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af
|
||||||
b2sums = 9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081
|
b2sums = 9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081
|
||||||
b2sums = 7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e
|
b2sums = 7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e
|
||||||
b2sums = b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120
|
b2sums = ba31657ec0362795c95ada7a3d903f34aa04effe2594cc8b7731f8de1d5407350855bc438b8d79cae45726283f22be5e8dbf18fc7a119f410e4a110441d4f79b
|
||||||
b2sums = a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7
|
b2sums = 0318ef99fbb9e268496e75e6ec584b65fb961dc5b4b37b43f14485ebfce197688f5d9f434ec028011a2c7b720581e346075905520d10863e1b36a65d18de0289
|
||||||
b2sums = 655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9
|
|
||||||
b2sums = 62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49
|
|
||||||
b2sums = c7e8e652505ef349b5ad91c71c7d1665dda22945fdfceeddac51dfca43edfec7cae89f5bd962dca27661dd5396835b8b59614d7cb01db67b5a189e1d7dc3ba22
|
|
||||||
|
|
||||||
pkgname = meson
|
pkgname = meson
|
||||||
|
|
|
@ -10,11 +10,11 @@ Subject: [PATCH] Skip broken tests
|
||||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/test cases/frameworks/15 llvm/test.json b/test cases/frameworks/15 llvm/test.json
|
diff --git a/test cases/frameworks/15 llvm/test.json b/test cases/frameworks/15 llvm/test.json
|
||||||
index cf8aa3acc7bd..3d70077acd02 100644
|
index eade970be637..d8b06d31abac 100644
|
||||||
--- a/test cases/frameworks/15 llvm/test.json
|
--- a/test cases/frameworks/15 llvm/test.json
|
||||||
+++ b/test cases/frameworks/15 llvm/test.json
|
+++ b/test cases/frameworks/15 llvm/test.json
|
||||||
@@ -7,7 +7,6 @@
|
@@ -7,7 +7,6 @@
|
||||||
{ "val": "combination", "skip_on_jobname": ["msys2"] }
|
{ "val": "combination", "skip_on_jobname": ["msys2-gcc"] }
|
||||||
],
|
],
|
||||||
"link-static": [
|
"link-static": [
|
||||||
- { "val": true, "skip_on_jobname": ["arch", "opensuse", "linux-gentoo-gcc"] },
|
- { "val": true, "skip_on_jobname": ["arch", "opensuse", "linux-gentoo-gcc"] },
|
||||||
|
@ -35,7 +35,7 @@ index f612e1d52d6d..d0e0d079a069 100644
|
||||||
|
|
||||||
dep = dependency('ZLIB', version : '>=1.2', method : 'cmake')
|
dep = dependency('ZLIB', version : '>=1.2', method : 'cmake')
|
||||||
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
|
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
|
||||||
index 2328107caac8..f66dc9769a8f 100644
|
index bfe3586c1b84..ce4d36fe024c 100644
|
||||||
--- a/unittests/linuxliketests.py
|
--- a/unittests/linuxliketests.py
|
||||||
+++ b/unittests/linuxliketests.py
|
+++ b/unittests/linuxliketests.py
|
||||||
@@ -312,6 +312,7 @@ class LinuxlikeTests(BasePlatformTests):
|
@@ -312,6 +312,7 @@ class LinuxlikeTests(BasePlatformTests):
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Seifert <soap@gentoo.org>
|
||||||
|
Date: Fri, 31 May 2024 00:21:43 +0200
|
||||||
|
Subject: [PATCH] cuda: avoid test failure without GPU available
|
||||||
|
|
||||||
|
Fixes #13269
|
||||||
|
---
|
||||||
|
.../cuda/17 separate compilation linking/meson.build | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test cases/cuda/17 separate compilation linking/meson.build b/test cases/cuda/17 separate compilation linking/meson.build
|
||||||
|
index 8e90ddd7f6fd..7ba7e220870d 100644
|
||||||
|
--- a/test cases/cuda/17 separate compilation linking/meson.build
|
||||||
|
+++ b/test cases/cuda/17 separate compilation linking/meson.build
|
||||||
|
@@ -11,12 +11,16 @@ add_languages('cuda')
|
||||||
|
nvcc = meson.get_compiler('cuda')
|
||||||
|
cuda = import('unstable-cuda')
|
||||||
|
|
||||||
|
-arch_flags = cuda.nvcc_arch_flags(nvcc.version(), 'Auto', detected : ['8.0'])
|
||||||
|
+arch_flags = cuda.nvcc_arch_flags(nvcc.version(), 'Common')
|
||||||
|
|
||||||
|
message('NVCC version: ' + nvcc.version())
|
||||||
|
message('NVCC flags: ' + ' '.join(arch_flags))
|
||||||
|
|
||||||
|
# test device linking with -dc (which is equivalent to `--relocatable-device-code true`)
|
||||||
|
lib = static_library('devicefuncs', ['b.cu'], cuda_args : ['-dc'] + arch_flags)
|
||||||
|
exe = executable('app', 'main.cu', cuda_args : ['-dc'] + arch_flags, link_with : lib, link_args : arch_flags)
|
||||||
|
-test('cudatest', exe)
|
||||||
|
+
|
||||||
|
+# if we don't have a CUDA-capable GPU available, avoid creating the test
|
||||||
|
+if run_command('__nvcc_device_query', check : false).returncode() == 0
|
||||||
|
+ test('cudatest', exe)
|
||||||
|
+endif
|
|
@ -1,57 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dylan Baker <dylan@pnwbakers.com>
|
|
||||||
Date: Mon, 11 Mar 2024 11:31:05 -0700
|
|
||||||
Subject: [PATCH] unittests: Add a helper for copying source trees
|
|
||||||
|
|
||||||
This is a useful thing to do when a test needs to modify the source
|
|
||||||
tree, as it prevents races between tests.
|
|
||||||
---
|
|
||||||
unittests/baseplatformtests.py | 23 +++++++++++++++++++++++
|
|
||||||
1 file changed, 23 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/unittests/baseplatformtests.py b/unittests/baseplatformtests.py
|
|
||||||
index 6125ed933209..93bfc8905b73 100644
|
|
||||||
--- a/unittests/baseplatformtests.py
|
|
||||||
+++ b/unittests/baseplatformtests.py
|
|
||||||
@@ -1,14 +1,17 @@
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
# Copyright 2016-2021 The Meson development team
|
|
||||||
+# Copyright © 2024 Intel Corporation
|
|
||||||
|
|
||||||
+from __future__ import annotations
|
|
||||||
from pathlib import PurePath
|
|
||||||
from unittest import mock, TestCase, SkipTest
|
|
||||||
import json
|
|
||||||
import io
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
+import shutil
|
|
||||||
import tempfile
|
|
||||||
import typing as T
|
|
||||||
|
|
||||||
@@ -492,3 +495,23 @@ class BasePlatformTests(TestCase):
|
|
||||||
|
|
||||||
def assertLength(self, val, length):
|
|
||||||
assert len(val) == length, f'{val} is not length {length}'
|
|
||||||
+
|
|
||||||
+ def copy_srcdir(self, srcdir: str) -> str:
|
|
||||||
+ """Copies a source tree and returns that copy.
|
|
||||||
+
|
|
||||||
+ ensures that the copied tree is deleted after running.
|
|
||||||
+
|
|
||||||
+ :param srcdir: The locaiton of the source tree to copy
|
|
||||||
+ :return: The location of the copy
|
|
||||||
+ """
|
|
||||||
+ dest = tempfile.mkdtemp()
|
|
||||||
+ self.addCleanup(windows_proof_rmtree, dest)
|
|
||||||
+
|
|
||||||
+ # shutil.copytree expects the destinatin directory to not exist, Once
|
|
||||||
+ # python 3.8 is required the `dirs_exist_ok` parameter negates the need
|
|
||||||
+ # for this
|
|
||||||
+ dest = os.path.join(dest, 'subdir')
|
|
||||||
+
|
|
||||||
+ shutil.copytree(srcdir, dest)
|
|
||||||
+
|
|
||||||
+ return dest
|
|
|
@ -1,56 +0,0 @@
|
||||||
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 | 21 +++++++++------------
|
|
||||||
1 file changed, 9 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
|
|
||||||
index f66dc9769a8f..ce4d36fe024c 100644
|
|
||||||
--- a/unittests/linuxliketests.py
|
|
||||||
+++ b/unittests/linuxliketests.py
|
|
||||||
@@ -1413,25 +1413,22 @@ 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)
|
|
||||||
+ testdir = self.copy_srcdir(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'))
|
|
||||||
+ 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)
|
|
||||||
|
|
||||||
def test_install_subdir_symlinks(self):
|
|
||||||
self.install_subdir_invalid_symlinks('59 install subdir', os.path.join('sub', 'sub1'))
|
|
File diff suppressed because one or more lines are too long
|
@ -1,145 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jussi Pakkanen <jpakkane@gmail.com>
|
|
||||||
Date: Sun, 14 Apr 2024 20:46:42 +0300
|
|
||||||
Subject: [PATCH] Fix builds with Ninja 12 and remove a 5 year old workaround.
|
|
||||||
|
|
||||||
---
|
|
||||||
run_project_tests.py | 3 +--
|
|
||||||
run_tests.py | 35 ++++++++++------------------------
|
|
||||||
unittests/baseplatformtests.py | 5 +----
|
|
||||||
3 files changed, 12 insertions(+), 31 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/run_project_tests.py b/run_project_tests.py
|
|
||||||
index a14741364aab..222e12f74b30 100755
|
|
||||||
--- a/run_project_tests.py
|
|
||||||
+++ b/run_project_tests.py
|
|
||||||
@@ -45,7 +45,7 @@ from mesonbuild.coredata import backendlist, version as meson_version
|
|
||||||
from mesonbuild.modules.python import PythonExternalProgram
|
|
||||||
from run_tests import (
|
|
||||||
get_fake_options, run_configure, get_meson_script, get_backend_commands,
|
|
||||||
- get_backend_args_for_dir, Backend, ensure_backend_detects_changes,
|
|
||||||
+ get_backend_args_for_dir, Backend,
|
|
||||||
guess_backend, handle_meson_skip_test,
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -720,7 +720,6 @@ def _run_test(test: TestDef,
|
|
||||||
|
|
||||||
# Touch the meson.build file to force a regenerate
|
|
||||||
def force_regenerate() -> None:
|
|
||||||
- ensure_backend_detects_changes(backend)
|
|
||||||
os.utime(str(test.path / 'meson.build'))
|
|
||||||
|
|
||||||
# just test building
|
|
||||||
diff --git a/run_tests.py b/run_tests.py
|
|
||||||
index 20765321981e..0c51f3d695be 100755
|
|
||||||
--- a/run_tests.py
|
|
||||||
+++ b/run_tests.py
|
|
||||||
@@ -39,29 +39,27 @@ from mesonbuild.mesonlib import OptionKey, setup_vsenv
|
|
||||||
if T.TYPE_CHECKING:
|
|
||||||
from mesonbuild.coredata import SharedCMDOptions
|
|
||||||
|
|
||||||
-NINJA_1_9_OR_NEWER = False
|
|
||||||
+NINJA_1_12_OR_NEWER = False
|
|
||||||
NINJA_CMD = None
|
|
||||||
# If we're on CI, detecting ninja for every subprocess unit test that we run is slow
|
|
||||||
# Optimize this by respecting $NINJA and skipping detection, then exporting it on
|
|
||||||
# first run.
|
|
||||||
try:
|
|
||||||
- NINJA_1_9_OR_NEWER = bool(int(os.environ['NINJA_1_9_OR_NEWER']))
|
|
||||||
+ NINJA_1_12_OR_NEWER = bool(int(os.environ['NINJA_1_12_OR_NEWER']))
|
|
||||||
NINJA_CMD = [os.environ['NINJA']]
|
|
||||||
except (KeyError, ValueError):
|
|
||||||
- # Look for 1.9 to see if https://github.com/ninja-build/ninja/issues/1219
|
|
||||||
- # is fixed
|
|
||||||
- NINJA_CMD = detect_ninja('1.9')
|
|
||||||
+ # Look for 1.12, which removes -w dupbuild=err
|
|
||||||
+ NINJA_CMD = detect_ninja('1.12')
|
|
||||||
if NINJA_CMD is not None:
|
|
||||||
- NINJA_1_9_OR_NEWER = True
|
|
||||||
+ NINJA_1_12_OR_NEWER = True
|
|
||||||
else:
|
|
||||||
- mlog.warning('Found ninja <1.9, tests will run slower', once=True)
|
|
||||||
NINJA_CMD = detect_ninja()
|
|
||||||
|
|
||||||
if NINJA_CMD is not None:
|
|
||||||
- os.environ['NINJA_1_9_OR_NEWER'] = str(int(NINJA_1_9_OR_NEWER))
|
|
||||||
+ os.environ['NINJA_1_12_OR_NEWER'] = str(int(NINJA_1_12_OR_NEWER))
|
|
||||||
os.environ['NINJA'] = NINJA_CMD[0]
|
|
||||||
else:
|
|
||||||
- raise RuntimeError('Could not find Ninja v1.7 or newer')
|
|
||||||
+ raise RuntimeError('Could not find Ninja.')
|
|
||||||
|
|
||||||
# Emulate running meson with -X utf8 by making sure all open() calls have a
|
|
||||||
# sane encoding. This should be a python default, but PEP 540 considered it not
|
|
||||||
@@ -271,32 +269,19 @@ def get_backend_commands(backend: Backend, debug: bool = False) -> \
|
|
||||||
test_cmd = cmd + ['-target', 'RUN_TESTS']
|
|
||||||
elif backend is Backend.ninja:
|
|
||||||
global NINJA_CMD
|
|
||||||
- cmd = NINJA_CMD + ['-w', 'dupbuild=err', '-d', 'explain']
|
|
||||||
+ cmd = NINJA_CMD + ['-d', 'explain']
|
|
||||||
+ if not NINJA_1_12_OR_NEWER:
|
|
||||||
+ cmd += ['-w', 'dupbuild=err']
|
|
||||||
if debug:
|
|
||||||
cmd += ['-v']
|
|
||||||
clean_cmd = cmd + ['clean']
|
|
||||||
test_cmd = cmd + ['test', 'benchmark']
|
|
||||||
install_cmd = cmd + ['install']
|
|
||||||
uninstall_cmd = cmd + ['uninstall']
|
|
||||||
else:
|
|
||||||
raise AssertionError(f'Unknown backend: {backend!r}')
|
|
||||||
return cmd, clean_cmd, test_cmd, install_cmd, uninstall_cmd
|
|
||||||
|
|
||||||
-def ensure_backend_detects_changes(backend: Backend) -> None:
|
|
||||||
- global NINJA_1_9_OR_NEWER
|
|
||||||
- if backend is not Backend.ninja:
|
|
||||||
- return
|
|
||||||
- need_workaround = False
|
|
||||||
- # We're using ninja >= 1.9 which has QuLogic's patch for sub-1s resolution
|
|
||||||
- # timestamps
|
|
||||||
- if not NINJA_1_9_OR_NEWER:
|
|
||||||
- mlog.warning('Don\'t have ninja >= 1.9, enabling timestamp resolution workaround', once=True)
|
|
||||||
- need_workaround = True
|
|
||||||
- # Increase the difference between build.ninja's timestamp and the timestamp
|
|
||||||
- # of whatever you changed: https://github.com/ninja-build/ninja/issues/371
|
|
||||||
- if need_workaround:
|
|
||||||
- time.sleep(1)
|
|
||||||
-
|
|
||||||
def run_mtest_inprocess(commandlist: T.List[str]) -> T.Tuple[int, str, str]:
|
|
||||||
out = StringIO()
|
|
||||||
with mock.patch.object(sys, 'stdout', out), mock.patch.object(sys, 'stderr', out):
|
|
||||||
diff --git a/unittests/baseplatformtests.py b/unittests/baseplatformtests.py
|
|
||||||
index 93bfc8905b73..fb0eff185a13 100644
|
|
||||||
--- a/unittests/baseplatformtests.py
|
|
||||||
+++ b/unittests/baseplatformtests.py
|
|
||||||
@@ -31,7 +31,7 @@ import mesonbuild.modules.pkgconfig
|
|
||||||
|
|
||||||
|
|
||||||
from run_tests import (
|
|
||||||
- Backend, ensure_backend_detects_changes, get_backend_commands,
|
|
||||||
+ Backend, get_backend_commands,
|
|
||||||
get_builddir_target_args, get_meson_script, run_configure_inprocess,
|
|
||||||
run_mtest_inprocess, handle_meson_skip_test,
|
|
||||||
)
|
|
||||||
@@ -292,22 +292,19 @@ class BasePlatformTests(TestCase):
|
|
||||||
def setconf(self, arg, will_build=True):
|
|
||||||
if not isinstance(arg, list):
|
|
||||||
arg = [arg]
|
|
||||||
- if will_build:
|
|
||||||
- ensure_backend_detects_changes(self.backend)
|
|
||||||
self._run(self.mconf_command + arg + [self.builddir])
|
|
||||||
|
|
||||||
def getconf(self, optname: str):
|
|
||||||
opts = self.introspect('--buildoptions')
|
|
||||||
for x in opts:
|
|
||||||
if x.get('name') == optname:
|
|
||||||
return x.get('value')
|
|
||||||
self.fail(f'Option {optname} not found')
|
|
||||||
|
|
||||||
def wipe(self):
|
|
||||||
windows_proof_rmtree(self.builddir)
|
|
||||||
|
|
||||||
def utime(self, f):
|
|
||||||
- ensure_backend_detects_changes(self.backend)
|
|
||||||
os.utime(f)
|
|
||||||
|
|
||||||
def get_compdb(self):
|
|
|
@ -6,8 +6,8 @@
|
||||||
# - disable lto in arch-meson
|
# - disable lto in arch-meson
|
||||||
|
|
||||||
pkgname=meson
|
pkgname=meson
|
||||||
pkgver=1.4.0
|
pkgver=1.4.1
|
||||||
pkgrel=5
|
pkgrel=1
|
||||||
pkgdesc="High productivity build system"
|
pkgdesc="High productivity build system"
|
||||||
url="https://mesonbuild.com/"
|
url="https://mesonbuild.com/"
|
||||||
arch=(any)
|
arch=(any)
|
||||||
|
@ -33,6 +33,7 @@ checkdepends=(
|
||||||
gcc-fortran
|
gcc-fortran
|
||||||
gcc-objc
|
gcc-objc
|
||||||
git
|
git
|
||||||
|
glibc-locales
|
||||||
gmock
|
gmock
|
||||||
gnustep-base
|
gnustep-base
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
|
@ -76,23 +77,17 @@ source=(
|
||||||
cross-lib32
|
cross-lib32
|
||||||
native-clang
|
native-clang
|
||||||
0001-Skip-broken-tests.patch
|
0001-Skip-broken-tests.patch
|
||||||
0002-unittests-Add-a-helper-for-copying-source-trees.patch
|
0002-cuda-avoid-test-failure-without-GPU-available.patch
|
||||||
0003-tests-Fix-unit-tests-with-high-parallelism.patch
|
|
||||||
0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch
|
|
||||||
0005-Fix-builds-with-Ninja-12-and-remove-a-5-year-old-wor.patch
|
|
||||||
)
|
)
|
||||||
b2sums=('7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486'
|
b2sums=('1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925'
|
'a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488'
|
||||||
'6d08a48551e4aa68b05c307dc970e74164ba689b27f7412e39840b5cea7c65addb28e7c0fb46f4a6469b8d1a6dc6b50eb4ea477cb3d25a7f09c49b86015f6052'
|
'f44fdcb30d576e1f94d184963a379745c7ff8561622151f2ecd2c03de854bc2c9b4e1162c34dc8c6a367f16c7307044691f7e43076725bce66c979e4f4a5ce5f'
|
||||||
'211cee61f117fd1d582d7a613a8634f044e9e307791c4154c6da72bccd5f06856801b14bcb26157ee682b5935c48ffd2098a5fabab2232726d7758cf091c07f7'
|
'70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af'
|
||||||
'9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081'
|
'9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081'
|
||||||
'7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e'
|
'7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e'
|
||||||
'b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120'
|
'ba31657ec0362795c95ada7a3d903f34aa04effe2594cc8b7731f8de1d5407350855bc438b8d79cae45726283f22be5e8dbf18fc7a119f410e4a110441d4f79b'
|
||||||
'a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7'
|
'0318ef99fbb9e268496e75e6ec584b65fb961dc5b4b37b43f14485ebfce197688f5d9f434ec028011a2c7b720581e346075905520d10863e1b36a65d18de0289')
|
||||||
'655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9'
|
|
||||||
'62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49'
|
|
||||||
'c7e8e652505ef349b5ad91c71c7d1665dda22945fdfceeddac51dfca43edfec7cae89f5bd962dca27661dd5396835b8b59614d7cb01db67b5a189e1d7dc3ba22')
|
|
||||||
validpgpkeys=(
|
validpgpkeys=(
|
||||||
19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen <jpakkane@gmail.com>
|
19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen <jpakkane@gmail.com>
|
||||||
)
|
)
|
||||||
|
@ -103,17 +98,9 @@ prepare() {
|
||||||
# Pass tests
|
# Pass tests
|
||||||
patch -Np1 -i ../0001-Skip-broken-tests.patch
|
patch -Np1 -i ../0001-Skip-broken-tests.patch
|
||||||
|
|
||||||
# https://github.com/mesonbuild/meson/pull/12937
|
# https://github.com/mesonbuild/meson/issues/13269
|
||||||
patch -Np1 -i ../0002-unittests-Add-a-helper-for-copying-source-trees.patch
|
# https://github.com/mesonbuild/meson/pull/13273
|
||||||
patch -Np1 -i ../0003-tests-Fix-unit-tests-with-high-parallelism.patch
|
patch -Np1 -i ../0002-cuda-avoid-test-failure-without-GPU-available.patch
|
||||||
|
|
||||||
# Fix lib32-mesa
|
|
||||||
# https://github.com/mesonbuild/meson/issues/12973
|
|
||||||
patch -Np1 -i ../0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch
|
|
||||||
|
|
||||||
# Fix tests with recent Ninja
|
|
||||||
# https://github.com/mesonbuild/meson/pull/13087
|
|
||||||
patch -Np1 -i ../0005-Fix-builds-with-Ninja-12-and-remove-a-5-year-old-wor.patch
|
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
Loading…
Reference in a new issue