diff --git a/extra/meson/.SRCINFO b/extra/meson/.SRCINFO index 8056e0e7b..7e1c607e6 100644 --- a/extra/meson/.SRCINFO +++ b/extra/meson/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = meson pkgdesc = High productivity build system - pkgver = 1.4.0 - pkgrel = 5 + pkgver = 1.4.1 + pkgrel = 1 url = https://mesonbuild.com/ arch = any license = Apache-2.0 @@ -56,30 +56,24 @@ pkgbase = meson depends = ninja depends = python 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.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 = 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.1/meson-1.4.1.tar.gz.asc + 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.1.json::https://github.com/mesonbuild/meson/releases/download/1.4.1/reference_manual.json source = arch-meson source = cross-lib32 source = native-clang source = 0001-Skip-broken-tests.patch - source = 0002-unittests-Add-a-helper-for-copying-source-trees.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 + source = 0002-cuda-avoid-test-failure-without-GPU-available.patch validpgpkeys = 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 - b2sums = 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486 + b2sums = 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3 b2sums = SKIP - b2sums = 8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925 - b2sums = 6d08a48551e4aa68b05c307dc970e74164ba689b27f7412e39840b5cea7c65addb28e7c0fb46f4a6469b8d1a6dc6b50eb4ea477cb3d25a7f09c49b86015f6052 + b2sums = a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 + b2sums = f44fdcb30d576e1f94d184963a379745c7ff8561622151f2ecd2c03de854bc2c9b4e1162c34dc8c6a367f16c7307044691f7e43076725bce66c979e4f4a5ce5f b2sums = 70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af b2sums = 9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081 b2sums = 7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e - b2sums = b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120 - b2sums = a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7 - b2sums = 655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9 - b2sums = 62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49 - b2sums = c7e8e652505ef349b5ad91c71c7d1665dda22945fdfceeddac51dfca43edfec7cae89f5bd962dca27661dd5396835b8b59614d7cb01db67b5a189e1d7dc3ba22 + b2sums = ba31657ec0362795c95ada7a3d903f34aa04effe2594cc8b7731f8de1d5407350855bc438b8d79cae45726283f22be5e8dbf18fc7a119f410e4a110441d4f79b + b2sums = 0318ef99fbb9e268496e75e6ec584b65fb961dc5b4b37b43f14485ebfce197688f5d9f434ec028011a2c7b720581e346075905520d10863e1b36a65d18de0289 pkgname = meson diff --git a/extra/meson/0001-Skip-broken-tests.patch b/extra/meson/0001-Skip-broken-tests.patch index a5cb9c1c4..01e36b7a0 100644 --- a/extra/meson/0001-Skip-broken-tests.patch +++ b/extra/meson/0001-Skip-broken-tests.patch @@ -10,11 +10,11 @@ Subject: [PATCH] Skip broken tests 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 -index cf8aa3acc7bd..3d70077acd02 100644 +index eade970be637..d8b06d31abac 100644 --- a/test cases/frameworks/15 llvm/test.json +++ b/test cases/frameworks/15 llvm/test.json @@ -7,7 +7,6 @@ - { "val": "combination", "skip_on_jobname": ["msys2"] } + { "val": "combination", "skip_on_jobname": ["msys2-gcc"] } ], "link-static": [ - { "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') diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py -index 2328107caac8..f66dc9769a8f 100644 +index bfe3586c1b84..ce4d36fe024c 100644 --- a/unittests/linuxliketests.py +++ b/unittests/linuxliketests.py @@ -312,6 +312,7 @@ class LinuxlikeTests(BasePlatformTests): diff --git a/extra/meson/0002-cuda-avoid-test-failure-without-GPU-available.patch b/extra/meson/0002-cuda-avoid-test-failure-without-GPU-available.patch new file mode 100644 index 000000000..365787c50 --- /dev/null +++ b/extra/meson/0002-cuda-avoid-test-failure-without-GPU-available.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: David Seifert +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 diff --git a/extra/meson/0002-unittests-Add-a-helper-for-copying-source-trees.patch b/extra/meson/0002-unittests-Add-a-helper-for-copying-source-trees.patch deleted file mode 100644 index c4b352552..000000000 --- a/extra/meson/0002-unittests-Add-a-helper-for-copying-source-trees.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dylan Baker -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 diff --git a/extra/meson/0003-tests-Fix-unit-tests-with-high-parallelism.patch b/extra/meson/0003-tests-Fix-unit-tests-with-high-parallelism.patch deleted file mode 100644 index 397cca441..000000000 --- a/extra/meson/0003-tests-Fix-unit-tests-with-high-parallelism.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -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')) diff --git a/extra/meson/0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch b/extra/meson/0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch deleted file mode 100644 index df16171a3..000000000 --- a/extra/meson/0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Thu, 14 Mar 2024 03:13:48 +0100 -Subject: [PATCH] Revert "rust: recursively pull proc-macro dependencies as - well" - -Breaks the build of lib32-mesa. This reverts commit -aee941559c4b88a062e88186819a820c69c200ae. - - FAILED: src/gallium/targets/rusticl/libRusticlOpenCL.so.1.0.0 - g++ -m32 -o src/gallium/targets/rusticl/libRusticlOpenCL.so.1.0.0 src/gallium/targets/rusticl/libRusticlOpenCL.so.1.0.0.p/target.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libRusticlOpenCL.so.1 -Wl,--whole-archive -Wl,--start-group src/gallium/frontends/rusticl/librusticl.a -Wl,--no-whole-archive -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/lib32-mesa/src=/usr/src/debug/lib32-mesa -flto=auto -g1 src/gallium/auxiliary/pipe-loader/libpipe_loader_static.a src/loader/libloader.a src/util/libxmlconfig.a src/util/libmesa_util.a src/util/libmesa_util_sse41.a src/util/blake3/libblake3.a src/c11/impl/libmesa_util_c11.a src/gallium/winsys/sw/dri/libswdri.a src/gallium/winsys/sw/kms-dri/libswkmsdri.a src/gallium/winsys/sw/wrapper/libwsw.a src/gallium/winsys/sw/null/libws_null.a src/gallium/drivers/iris/libiris.a src/gallium/drivers/iris/libiris_per_hw_ver80.a src/gallium/drivers/iris/libiris_per_hw_ver90.a src/gallium/drivers/iris/libiris_per_hw_ver110.a src/gallium/drivers/iris/libiris_per_hw_ver120.a src/gallium/drivers/iris/libiris_per_hw_ver125.a src/gallium/drivers/iris/libiris_per_hw_ver200.a src/intel/compiler/libintel_compiler.a src/intel/dev/libintel_dev.a src/intel/isl/libisl.a src/intel/isl/libisl_per_hw_ver40.a src/intel/isl/libisl_per_hw_ver50.a src/intel/isl/libisl_per_hw_ver60.a src/intel/isl/libisl_per_hw_ver70.a src/intel/isl/libisl_per_hw_ver75.a src/intel/isl/libisl_per_hw_ver80.a src/intel/isl/libisl_per_hw_ver90.a src/intel/isl/libisl_per_hw_ver110.a src/intel/isl/libisl_per_hw_ver120.a src/intel/isl/libisl_per_hw_ver125.a src/intel/isl/libisl_per_hw_ver200.a src/intel/isl/libisl_tiled_memcpy.a src/intel/isl/libisl_tiled_memcpy_sse41.a src/intel/blorp/libblorp.a src/intel/perf/libintel_perf.a src/intel/common/libintel_common.a src/intel/common/libintel_clflushopt.a src/intel/ds/libintel-driver-ds.a src/gallium/winsys/iris/drm/libiriswinsys.a src/gallium/winsys/nouveau/drm/libnouveauwinsys.a src/nouveau/codegen/libnouveau_codegen.a src/gallium/drivers/nouveau/libnouveau.a src/compiler/nir/libnir.a src/compiler/libcompiler.a src/gallium/drivers/r600/libr600.a src/gallium/auxiliary/libgalliumvl.a src/mesa/libmesa.a src/compiler/glsl/libglsl.a src/compiler/glsl/glcpp/libglcpp.a src/mesa/libmesa_sse41.a src/compiler/spirv/libvtn.a src/gallium/winsys/radeon/drm/libradeonwinsys.a src/gallium/drivers/radeonsi/libradeonsi_gfx6.a src/amd/compiler/libaco.a src/gallium/drivers/radeonsi/libradeonsi_gfx7.a src/gallium/drivers/radeonsi/libradeonsi_gfx8.a src/gallium/drivers/radeonsi/libradeonsi_gfx9.a src/gallium/drivers/radeonsi/libradeonsi_gfx10.a src/gallium/drivers/radeonsi/libradeonsi_gfx103.a src/gallium/drivers/radeonsi/libradeonsi_gfx11.a src/gallium/drivers/radeonsi/libradeonsi_gfx115.a src/gallium/drivers/radeonsi/libradeonsi.a src/gallium/winsys/amdgpu/drm/libamdgpuwinsys.a src/amd/addrlib/libaddrlib.a src/amd/common/libamd_common.a src/amd/llvm/libamd_common_llvm.a src/amd/vpelib/liblibvpe.a.a src/gallium/drivers/llvmpipe/libllvmpipe.a src/gallium/drivers/softpipe/libsoftpipe.a src/gallium/drivers/zink/libzink.a src/vulkan/util/libvulkan_util.a src/gallium/frontends/rusticl/liblibc_rust_gen.rlib src/gallium/frontends/rusticl/libmesa_rust.rlib src/gallium/frontends/rusticl/libmesa_rust_gen.rlib src/gallium/auxiliary/libgallium.a src/compiler/clc/liblibmesaclc.a src/gallium/frontends/rusticl/libmesa_rust_util.rlib src/gallium/frontends/rusticl/libmesa_bindings_inline_wrapper.a src/gallium/frontends/rusticl/libsystem_bindings.a src/gallium/frontends/rusticl/librusticl_llvm_gen.rlib src/gallium/frontends/rusticl/librusticl_opencl_gen.rlib src/gallium/frontends/rusticl/librusticl_proc_macros.so -Wl,--build-id=sha1 -Wl,--gc-sections -Wl,--version-script /build/lib32-mesa/src/mesa-24.0.3/src/gallium/targets/rusticl/rusticl.sym /usr/lib32/libz.so -pthread -lm /usr/lib32/libzstd.so /usr/lib32/libunwind.so -lLLVM-17 /usr/lib32/libdrm.so /usr/lib32/libexpat.so /usr/lib32/libxcb.so /usr/lib32/libxcb-randr.so /usr/lib32/libdrm_nouveau.so /usr/lib32/libdrm_radeon.so /usr/lib32/libelf.so -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 -lLLVM-17 /usr/lib32/libdrm_amdgpu.so -lLLVM-17 -lLLVM-17 /usr/lib32/libX11-xcb.so /usr/lib32/libX11.so /usr/lib32/libxcb-dri3.so /usr/lib32/libxcb-present.so /usr/lib32/libxcb-xfixes.so /usr/lib32/libxcb-sync.so /usr/lib32/libxcb-shm.so /usr/lib32/libxshmfence.so /usr/lib32/libxcb-keysyms.so /usr/lib32/libwayland-client.so /usr/lib32/libXrandr.so -fPIC -lLLVM-17 -lsensors /usr/lib32/libclang-cpp.so -lLLVM-17 /usr/lib32/libLLVMSPIRVLib.so /usr/lib32/libSPIRV-Tools-opt.so /usr/lib32/libSPIRV-Tools.so /usr/lib32/libSPIRV-Tools-link.so -Wl,--end-group - /usr/bin/ld: src/gallium/frontends/rusticl/librusticl_proc_macros.so: error adding symbols: file in wrong format ---- - mesonbuild/build.py | 2 ++ - test cases/rust/18 proc-macro/lib.rs | 8 -------- - test cases/rust/18 proc-macro/meson.build | 11 ----------- - test cases/rust/18 proc-macro/subdir/meson.build | 1 - - .../rust/18 proc-macro/transitive-proc-macro.rs | 7 ------- - 5 files changed, 2 insertions(+), 27 deletions(-) - delete mode 100644 test cases/rust/18 proc-macro/lib.rs - delete mode 100644 test cases/rust/18 proc-macro/subdir/meson.build - delete mode 100644 test cases/rust/18 proc-macro/transitive-proc-macro.rs - -diff --git a/mesonbuild/build.py b/mesonbuild/build.py -index 3c9d3a06c699..8e41f0bb02af 100644 ---- a/mesonbuild/build.py -+++ b/mesonbuild/build.py -@@ -1295,6 +1295,8 @@ class BuildTarget(Target): - for t in self.link_targets: - if t in result: - continue -+ if t.rust_crate_type == 'proc-macro': -+ continue - if include_internals or not t.is_internal(): - result.add(t) - if isinstance(t, StaticLibrary): -diff --git a/test cases/rust/18 proc-macro/lib.rs b/test cases/rust/18 proc-macro/lib.rs -deleted file mode 100644 -index 5242886cc5e4..000000000000 ---- a/test cases/rust/18 proc-macro/lib.rs -+++ /dev/null -@@ -1,8 +0,0 @@ --extern crate proc_macro_examples; --use proc_macro_examples::make_answer; -- --make_answer!(); -- --pub fn func() -> u32 { -- answer() --} -diff --git a/test cases/rust/18 proc-macro/meson.build b/test cases/rust/18 proc-macro/meson.build -index e8b28eda144e..c5f0dfc82aee 100644 ---- a/test cases/rust/18 proc-macro/meson.build -+++ b/test cases/rust/18 proc-macro/meson.build -@@ -31,14 +31,3 @@ main = executable( - ) - - test('main_test2', main) -- --subdir('subdir') -- --staticlib = static_library('staticlib', 'lib.rs', -- link_with: pm_in_subdir, -- rust_dependency_map : {'proc_macro_examples3' : 'proc_macro_examples'} --) -- --executable('transitive-proc-macro', 'transitive-proc-macro.rs', -- link_with: staticlib, --) -diff --git a/test cases/rust/18 proc-macro/subdir/meson.build b/test cases/rust/18 proc-macro/subdir/meson.build -deleted file mode 100644 -index 04842c431e78..000000000000 ---- a/test cases/rust/18 proc-macro/subdir/meson.build -+++ /dev/null -@@ -1 +0,0 @@ --pm_in_subdir = rust.proc_macro('proc_macro_examples3', '../proc.rs') -diff --git a/test cases/rust/18 proc-macro/transitive-proc-macro.rs b/test cases/rust/18 proc-macro/transitive-proc-macro.rs -deleted file mode 100644 -index 4c804b3b6f4d..000000000000 ---- a/test cases/rust/18 proc-macro/transitive-proc-macro.rs -+++ /dev/null -@@ -1,7 +0,0 @@ --extern crate staticlib; --use staticlib::func; -- -- --fn main() { -- assert_eq!(42, func()); --} diff --git a/extra/meson/0005-Fix-builds-with-Ninja-12-and-remove-a-5-year-old-wor.patch b/extra/meson/0005-Fix-builds-with-Ninja-12-and-remove-a-5-year-old-wor.patch deleted file mode 100644 index 097defef2..000000000 --- a/extra/meson/0005-Fix-builds-with-Ninja-12-and-remove-a-5-year-old-wor.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jussi Pakkanen -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): diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD index 964ffae3b..31c6d577e 100644 --- a/extra/meson/PKGBUILD +++ b/extra/meson/PKGBUILD @@ -6,8 +6,8 @@ # - disable lto in arch-meson pkgname=meson -pkgver=1.4.0 -pkgrel=5 +pkgver=1.4.1 +pkgrel=1 pkgdesc="High productivity build system" url="https://mesonbuild.com/" arch=(any) @@ -33,6 +33,7 @@ checkdepends=( gcc-fortran gcc-objc git + glibc-locales gmock gnustep-base gobject-introspection @@ -76,23 +77,17 @@ source=( cross-lib32 native-clang 0001-Skip-broken-tests.patch - 0002-unittests-Add-a-helper-for-copying-source-trees.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 + 0002-cuda-avoid-test-failure-without-GPU-available.patch ) -b2sums=('7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486' +b2sums=('1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0b9e8c78c5bd553eb2dae372b4c0dc8e30760da0321b7c33d331304c21c7f51d2133681c9fa66d551039952f3' 'SKIP' - '8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925' - '6d08a48551e4aa68b05c307dc970e74164ba689b27f7412e39840b5cea7c65addb28e7c0fb46f4a6469b8d1a6dc6b50eb4ea477cb3d25a7f09c49b86015f6052' - '211cee61f117fd1d582d7a613a8634f044e9e307791c4154c6da72bccd5f06856801b14bcb26157ee682b5935c48ffd2098a5fabab2232726d7758cf091c07f7' + 'a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488' + 'f44fdcb30d576e1f94d184963a379745c7ff8561622151f2ecd2c03de854bc2c9b4e1162c34dc8c6a367f16c7307044691f7e43076725bce66c979e4f4a5ce5f' + '70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af' '9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081' '7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e' - 'b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120' - 'a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7' - '655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9' - '62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49' - 'c7e8e652505ef349b5ad91c71c7d1665dda22945fdfceeddac51dfca43edfec7cae89f5bd962dca27661dd5396835b8b59614d7cb01db67b5a189e1d7dc3ba22') + 'ba31657ec0362795c95ada7a3d903f34aa04effe2594cc8b7731f8de1d5407350855bc438b8d79cae45726283f22be5e8dbf18fc7a119f410e4a110441d4f79b' + '0318ef99fbb9e268496e75e6ec584b65fb961dc5b4b37b43f14485ebfce197688f5d9f434ec028011a2c7b720581e346075905520d10863e1b36a65d18de0289') validpgpkeys=( 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen ) @@ -103,17 +98,9 @@ prepare() { # Pass tests patch -Np1 -i ../0001-Skip-broken-tests.patch - # https://github.com/mesonbuild/meson/pull/12937 - patch -Np1 -i ../0002-unittests-Add-a-helper-for-copying-source-trees.patch - patch -Np1 -i ../0003-tests-Fix-unit-tests-with-high-parallelism.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 + # https://github.com/mesonbuild/meson/issues/13269 + # https://github.com/mesonbuild/meson/pull/13273 + patch -Np1 -i ../0002-cuda-avoid-test-failure-without-GPU-available.patch } build() {