PKGBUILDs/extra/meson/0004-Revert-rust-recursively-pull-proc-macro-dependencies.patch
2024-03-14 04:02:45 +00:00

89 lines
8.1 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
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());
-}