-
Notifications
You must be signed in to change notification settings - Fork 613
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
179 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
extra/meson/0002-unittests-Add-a-helper-for-copying-source-trees.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Dylan Baker <[email protected]> | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
89 changes: 89 additions & 0 deletions
89
extra/meson/0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: "Jan Alexander Steffens (heftig)" <[email protected]> | ||
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()); | ||
-} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ | |
|
||
pkgname=meson | ||
pkgver=1.4.0 | ||
pkgrel=1 | ||
pkgrel=2 | ||
pkgdesc="High productivity build system" | ||
url="https://mesonbuild.com/" | ||
arch=(any) | ||
|
@@ -76,7 +76,9 @@ source=( | |
cross-lib32 | ||
native-clang | ||
0001-Skip-broken-tests.patch | ||
0002-tests-Fix-unit-tests-with-high-parallelism.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 | ||
) | ||
b2sums=('7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486' | ||
'SKIP' | ||
|
@@ -86,7 +88,9 @@ b2sums=('7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d | |
'9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081' | ||
'7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e' | ||
'b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120' | ||
'13bfa022f97745dd072c418c5e77b08b9105e7e357b47ab8634e45dc92a7ceaca0d7483a05b66767d97d9f3ca8e0a67e8015c08b8c466d4a083c15c68e30473f') | ||
'a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7' | ||
'655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9' | ||
'62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49') | ||
validpgpkeys=( | ||
19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen <[email protected]> | ||
) | ||
|
@@ -98,7 +102,11 @@ prepare() { | |
patch -Np1 -i ../0001-Skip-broken-tests.patch | ||
|
||
# https://github.com/mesonbuild/meson/pull/12937 | ||
patch -Np1 -i ../0002-tests-Fix-unit-tests-with-high-parallelism.patch | ||
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 | ||
patch -Np1 -i ../0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch | ||
} | ||
|
||
build() { | ||
|