diff --git a/extra/meson/0001-Fix-failing-85-gtest-dependency-with-version-test-to.patch b/extra/meson/0001-Fix-failing-85-gtest-dependency-with-version-test-to.patch deleted file mode 100644 index 3a7c57811..000000000 --- a/extra/meson/0001-Fix-failing-85-gtest-dependency-with-version-test-to.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ff477d2b3f5ddc582140e6d357e52f1cb1da74ce Mon Sep 17 00:00:00 2001 -Message-Id: -From: Jon Turney -Date: Sat, 30 Mar 2019 18:35:00 +0000 -Subject: [PATCH] Fix 'failing/85 gtest dependency with version' test to fail - on Arch - -If gtest is patched to have a pkg-config file, that will report the -version, so force the 'system' method to be used when we are exercising -that an unknown version doesn't satisfy any version constraint. ---- - test cases/failing/85 gtest dependency with version/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test cases/failing/85 gtest dependency with version/meson.build b/test cases/failing/85 gtest dependency with version/meson.build -index 5115f279..3d909942 100644 ---- a/test cases/failing/85 gtest dependency with version/meson.build -+++ b/test cases/failing/85 gtest dependency with version/meson.build -@@ -1,3 +1,3 @@ - project('gtest dependency with version', ['c', 'cpp']) - # discovering gtest version is not yet implemented --dep = dependency('gtest', version: '>0') -+dep = dependency('gtest', method: 'system', version: '>0') --- -2.21.0 - diff --git a/extra/meson/5500.patch b/extra/meson/5500.patch new file mode 100644 index 000000000..ebdef11eb --- /dev/null +++ b/extra/meson/5500.patch @@ -0,0 +1,30 @@ +From f16bd54da6d2334fd6d36b0e2c2729e1cf1bdc05 Mon Sep 17 00:00:00 2001 +From: Jussi Pakkanen +Date: Mon, 17 Jun 2019 21:49:34 +0300 +Subject: [PATCH] Handle thread flags when not using C at all. Closes #5497. + +--- + mesonbuild/dependencies/misc.py | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py +index af2da29b63..e5fab64599 100644 +--- a/mesonbuild/dependencies/misc.py ++++ b/mesonbuild/dependencies/misc.py +@@ -388,8 +388,14 @@ def __init__(self, environment, kwargs): + super().__init__('threads', environment, None, kwargs) + self.name = 'threads' + self.is_found = True +- self.compile_args = self.clib_compiler.thread_flags(environment) +- self.link_args = self.clib_compiler.thread_link_flags(environment) ++ # Happens if you are using a language with threads ++ # concept without C, such as plain Cuda. ++ if self.clib_compiler is None: ++ self.compile_args = [] ++ self.link_args = [] ++ else: ++ self.compile_args = self.clib_compiler.thread_flags(environment) ++ self.link_args = self.clib_compiler.thread_link_flags(environment) + + + class Python3Dependency(ExternalDependency): diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD index f7da9f13e..045f0ebc9 100644 --- a/extra/meson/PKGBUILD +++ b/extra/meson/PKGBUILD @@ -7,8 +7,8 @@ # - remove checkdepend on dmd pkgname=meson -pkgver=0.50.1 -pkgrel=2 +pkgver=0.51.0 +pkgrel=1 pkgdesc='High productivity build system' url='https://mesonbuild.com/' arch=('any') @@ -21,19 +21,24 @@ checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt5-base' ' 'libwmf' 'valgrind' 'cmake' 'netcdf-fortran' 'openmpi' 'cuda' 'ldc' 'nasm' 'gnustep-base' 'libelf') source=(https://github.com/mesonbuild/meson/releases/download/${pkgver}/meson-${pkgver}.tar.gz{,.asc} - 0001-Fix-failing-85-gtest-dependency-with-version-test-to.patch + 5500.patch + skip-test.diff arch-meson) -sha512sums=('1e3dda7684e999b408a34b4b594f0b7d22494328dc0e98ec794625f16d821f2ef96303ffc761a52249e3919b52befe9fc02577dbd52e50f4b16e6c0f79ba2fca' +sha512sums=('90cb564bb008631f1276b78b0ed725870f0d1baef34c385d1d9df076935f402c516906141fe0f11540739d4174dafcc252ee71e2ad902057544ddda1142153b1' 'SKIP' - '41e305af419076077d3e47e57c9aa3757bf4936cb5533976fc7b06e3c09c3750f355290b14d47f37b6c7b3a403f6d0ddbf67203092441b485481a9adb7ea671e' + 'da674c88a69f744d3fe4692e1091943f83b1d02e132ff9c84e87700e588313d50d609669c097b2c4dcfeefc8ad13095e698a7c9d5f4d1f54fc6bb6a3aea0cebf' + 'fd1694e74cfa628bda81b1056061d75fa288e04d72bda733f3667be43cfb21c60f2e89455e4a101a7f6bef5754fe112dc84e18ec7a0807bc791015c34deea347' '278f5e4de3aa1170d9b4f9f212985d664f44d90ffec727febeeea1ed570046c6469558a5d123a41bf4c2fdf99dbe7832515b06f1ace423c63e2e95ba6d0ef235') validpgpkeys=('95181F4EED14FDF4E41B518D3BF4693BFEEB9428') # Jussi Pakkanen prepare() { cd ${pkgname}-${pkgver} - # Fix expected-fail test to actually fail - patch -Np1 -i ../0001-Fix-failing-85-gtest-dependency-with-version-test-to.patch + # https://github.com/mesonbuild/meson/issues/5497 + patch -Np1 -i ../5500.patch + + # Our containers do not allow sanitizers to run + patch -Np1 -i ../skip-test.diff } build() { @@ -43,10 +48,6 @@ build() { check() ( cd ${pkgname}-${pkgver} - - # set for debug output - #export MESON_PRINT_TEST_OUTPUT=1 - export LC_CTYPE=en_US.UTF-8 CPPFLAGS= CFLAGS= CXXFLAGS= LDFLAGS= ./run_tests.py ) diff --git a/extra/meson/skip-test.diff b/extra/meson/skip-test.diff new file mode 100644 index 000000000..2548dc6ab --- /dev/null +++ b/extra/meson/skip-test.diff @@ -0,0 +1,12 @@ +diff --git i/run_unittests.py w/run_unittests.py +index 90d4a628..f83bd61f 100755 +--- i/run_unittests.py ++++ w/run_unittests.py +@@ -4368,6 +4368,7 @@ class LinuxlikeTests(BasePlatformTests): + raise unittest.SkipTest('asan not available on Cygwin') + if is_openbsd(): + raise unittest.SkipTest('-fsanitize=address is not supported on OpenBSD') ++ raise unittest.SkipTest('cannot run sanitizers in containers without ptrace') + + testdir = os.path.join(self.framework_test_dir, '7 gnome') + self.init(testdir, ['-Db_sanitize=address', '-Db_lundef=false'])