Skip to content

Commit

Permalink
extra/meson to 1.4.0-2
Browse files Browse the repository at this point in the history
  • Loading branch information
kmihelich authored and arenekosreal committed Mar 14, 2024
1 parent 8b18b64 commit 57ace7a
Show file tree
Hide file tree
Showing 5 changed files with 179 additions and 32 deletions.
10 changes: 7 additions & 3 deletions extra/meson/.SRCINFO
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pkgbase = meson
pkgdesc = High productivity build system
pkgver = 1.4.0
pkgrel = 1
pkgrel = 2
url = https://mesonbuild.com/
arch = any
license = Apache
Expand Down Expand Up @@ -64,7 +64,9 @@ pkgbase = meson
source = cross-lib32
source = native-clang
source = 0001-Skip-broken-tests.patch
source = 0002-tests-Fix-unit-tests-with-high-parallelism.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
validpgpkeys = 19E2D6D9B46D8DAA6288F877C24E631BABB1FE70
b2sums = 7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486
b2sums = SKIP
Expand All @@ -74,6 +76,8 @@ pkgbase = meson
b2sums = 9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081
b2sums = 7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e
b2sums = b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120
b2sums = 13bfa022f97745dd072c418c5e77b08b9105e7e357b47ab8634e45dc92a7ceaca0d7483a05b66767d97d9f3ca8e0a67e8015c08b8c466d4a083c15c68e30473f
b2sums = a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7
b2sums = 655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9
b2sums = 62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49

pkgname = meson
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 <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
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,26 @@ 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(-)
unittests/linuxliketests.py | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
index f66dc9769a8f..c8dc0195bc72 100644
index f66dc9769a8f..ce4d36fe024c 100644
--- a/unittests/linuxliketests.py
+++ b/unittests/linuxliketests.py
@@ -1413,25 +1413,26 @@ class LinuxlikeTests(BasePlatformTests):
@@ -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)
- 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')
+ 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()
Expand All @@ -42,23 +43,11 @@ index f66dc9769a8f..c8dc0195bc72 100644
- 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.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, dst)
+ 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)
Expand Down
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)" <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());
-}
16 changes: 12 additions & 4 deletions extra/meson/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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'
Expand All @@ -86,7 +88,9 @@ b2sums=('7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d
'9b16477aa77a706492e26fb3ad42e90674b8f0dfe657dd3bd9ba044f921be12ceabeb0050a50a15caee4d999e1ec33ed857bd3bed9e4444d73bb4a4f06381081'
'7d88929d5a3b49d91c5c9969f19d9b47f3151706526b889515acaeda0141257d5115875ac84832e9ea46f83a7700d673adcc5db84b331cd798c70ae6e90eac1e'
'b0e050d6cfa7e9cb5692e6aa12185632313536bd4ad59c704cfa2b655ad52e3f34d038da3e2f01d47b16f910db8d458b69f3b2b07bd8d74b92622b00bfc7d120'
'13bfa022f97745dd072c418c5e77b08b9105e7e357b47ab8634e45dc92a7ceaca0d7483a05b66767d97d9f3ca8e0a67e8015c08b8c466d4a083c15c68e30473f')
'a5206ac07afa0c3cde982109f52e208a30e59daf1200b42946005bc6db09e647dc9ce220eb359fc0820d2ab1d401c5547e44bbadc0c5e1d7c942865951b9fdd7'
'655fdebe13d1857505889c5c8bd4605c989e1c92ac930f42e0162bb75fc53e460c15d929c93e2e9740a99ea49b5ed36f264da5a99dc6110eb1509d665a33ccf9'
'62e19e7ec8c3448989167fdda724104389176440ead253e8f1665f6f383542fbc9afae9d6c64f6365e8b2878863416554266e6e651d6e58981fa8e145d321e49')
validpgpkeys=(
19E2D6D9B46D8DAA6288F877C24E631BABB1FE70 # Jussi Pakkanen <jpakkane@gmail.com>
)
Expand All @@ -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() {
Expand Down

0 comments on commit 57ace7a

Please sign in to comment.