extra/meson to 0.44.0-2

This commit is contained in:
Kevin Mihelich 2018-01-28 14:35:46 +00:00
parent 54d7dbe030
commit 6bc2957013
4 changed files with 90 additions and 14 deletions

View file

@ -0,0 +1,30 @@
From 89d4decc9cdda01590c2a734c0f58924bcf30777 Mon Sep 17 00:00:00 2001
Message-Id: <89d4decc9cdda01590c2a734c0f58924bcf30777.1517146929.git.jan.steffens@gmail.com>
From: Dylan Baker <dylan@pnwbakers.com>
Date: Tue, 19 Dec 2017 20:05:24 -0800
Subject: [PATCH 1/2] tests: skip objc nsstring test if gnustep is not
installed
---
test cases/objc/2 nsstring/meson.build | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/test cases/objc/2 nsstring/meson.build b/test cases/objc/2 nsstring/meson.build
index a877d746..7f2483f4 100644
--- a/test cases/objc/2 nsstring/meson.build
+++ b/test cases/objc/2 nsstring/meson.build
@@ -5,7 +5,10 @@ if host_machine.system() == 'darwin'
elif host_machine.system() == 'cygwin'
error('MESON_SKIP_TEST GNUstep is not packaged for Cygwin.')
else
- dep = dependency('gnustep')
+ dep = dependency('gnustep', required : false)
+ if not dep.found()
+ error('MESON_SKIP_TEST: GNUstep is not installed')
+ endif
if host_machine.system() == 'linux' and meson.get_compiler('objc').get_id() == 'clang'
error('MESON_SKIP_TEST: GNUstep is broken on Linux with Clang')
endif
--
2.16.1

View file

@ -0,0 +1,33 @@
From 67d5488753911b06b80afd57066e36b4eddec892 Mon Sep 17 00:00:00 2001
Message-Id: <67d5488753911b06b80afd57066e36b4eddec892.1517146929.git.jan.steffens@gmail.com>
In-Reply-To: <89d4decc9cdda01590c2a734c0f58924bcf30777.1517146929.git.jan.steffens@gmail.com>
References: <89d4decc9cdda01590c2a734c0f58924bcf30777.1517146929.git.jan.steffens@gmail.com>
From: Matthias Klumpp <matthias@tenstral.net>
Date: Sun, 7 Jan 2018 17:57:43 +0100
Subject: [PATCH 2/2] d: Detect recent DMD compilers
They now are published by the D Language Foundation, and not Digital
Mars. Therefore, their signature has changed slightly.
(We can not check for 'DMD', because that string appears in every
compiler version output to denote the frontend version used by the
compiler).
---
mesonbuild/environment.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index 0cb1450e..7fa4732a 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -725,7 +725,7 @@ class Environment:
return compilers.LLVMDCompiler(exelist, version, is_cross)
elif 'gdc' in out:
return compilers.GnuDCompiler(exelist, version, is_cross)
- elif 'Digital Mars' in out:
+ elif 'The D Language Foundation' in out or 'Digital Mars' in out:
return compilers.DmdDCompiler(exelist, version, is_cross)
raise EnvironmentException('Unknown compiler "' + ' '.join(exelist) + '"')
--
2.16.1

View file

@ -4,31 +4,41 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - disable lto in arch-meson
# - remove checkdepend on dmd
pkgname=meson
pkgver=0.44.0
pkgrel=1
pkgrel=2
pkgdesc='High productivity build system'
url='http://mesonbuild.com/'
arch=('any')
license=('Apache')
depends=('python' 'ninja')
makedepends=('python-setuptools')
checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt4' 'qt5-base' 'git' 'gnustep-base'
checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt4' 'qt5-base' 'git'
'cython' 'gtkmm3' 'gtest' 'gmock' 'protobuf' 'wxgtk' 'python-gobject' 'gobject-introspection'
'itstool' 'gtk3' 'java-environment=8' 'gtk-doc' 'llvm' 'clang' 'sdl2'
'itstool' 'gtk3' 'java-environment=8' 'gtk-doc' 'llvm' 'clang' 'sdl2' 'graphviz'
'doxygen' 'vulkan-validation-layers' 'openmpi' 'openssh' 'mercurial' 'gtk-sharp-2'
'qt5-tools' 'libwmf')
checkdepends_x86_64=('ldc' 'valgrind')
'qt5-tools' 'libwmf' 'valgrind')
source=(https://github.com/mesonbuild/meson/releases/download/${pkgver}/meson-${pkgver}.tar.gz{,.asc}
0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch
0002-d-Detect-recent-DMD-compilers.patch
arch-meson)
sha512sums=('9aefa52d92d7750528e9a9236f19131c8e58bfc21212595c311f4e2787ad40bb53d6085f52283cad13923ddf12da1a59067d48424c72ace47fc127978d1af2ff'
'SKIP'
'db8875aea3b8307305426c19db58481b678fedd2bb1c2c95e41d94fc93493553186a49000f465595f8eedb61b682c92b242a69f41194b08ba915ab7f3bf91f19')
'04a0f113ba5f1ae57591fad3f5ecf812ef88b8809b4ffe063e82f6548e728a1a7bd51c171a948873884c2631fc10a9cd141f56de22cd7cf766cdb74996840eec'
'b38af817966e60db19c1efcc5e8e4f1b822925bf823b0a68c33eb0bfd0aa4ccff1439e352d8df032d0a189cd0ff37fb7dcefe0ed7a272e45f963f7e3d0b63f0f'
'b9f86ded46ad7fc4c4cbd997bd2210e363f02189377d9159cae4a52d0bd8bb9e02de1680bc76f63ecd923922f9cbdba40efbe09231dc24fc1d445ed97c2f5132')
validpgpkeys=('95181F4EED14FDF4E41B518D3BF4693BFEEB9428') # Jussi Pakkanen <jpakkane@gmail.com>
prepare() {
cd ${pkgname}-${pkgver}
# Skip gnustep tests
patch -Np1 -i ../0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch
# Fix for recent DMD
patch -Np1 -i ../0002-d-Detect-recent-DMD-compilers.patch
}
build() {
@ -36,14 +46,18 @@ build() {
python setup.py build
}
check() {
check() (
cd ${pkgname}-${pkgver}
unset CLASSPATH # GNUstep breaks java tests
LDFLAGS="${LDFLAGS/,--as-needed/}" # --as-needed breaks openmpi linking
# export MESON_PRINT_TEST_OUTPUT=1 # set this for debug output
# graphviz: Installing breaks doxygen tests
LC_CTYPE=en_US.UTF-8 DC=ldc ./run_tests.py
}
# --as-needed breaks openmpi linking
LDFLAGS="${LDFLAGS/,--as-needed/}"
# set for debug output
#export MESON_PRINT_TEST_OUTPUT=1
export LC_CTYPE=en_US.UTF-8
./run_tests.py
)
package() {
cd ${pkgname}-${pkgver}

View file

@ -16,7 +16,6 @@ exec meson setup \
--localstatedir /var \
--sharedstatedir /var/lib \
--buildtype release \
--warnlevel 2 \
--wrap-mode nofallback \
"$@" \
-D b_lto=false