added extra/meson

This commit is contained in:
Kevin Mihelich 2017-10-12 01:37:43 +00:00
parent 5c11a3b0f5
commit 6a7a0da0ec
3 changed files with 116 additions and 0 deletions

61
extra/meson/PKGBUILD Normal file
View file

@ -0,0 +1,61 @@
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Anatol Pomozov <anatol dot pomozov at gmail>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - disable lto in arch-meson
pkgname=meson
pkgver=0.43.0
pkgrel=1.1
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'
'cython' 'gtkmm3' 'gtest' 'gmock' 'protobuf' 'wxgtk' 'python-gobject' 'gobject-introspection'
'itstool' 'gtk3' 'java-environment=8' 'gtk-doc' 'llvm' 'clang' 'sdl2'
'doxygen' 'vulkan-validation-layers' 'openmpi' 'openssh' 'mercurial' 'gtk-sharp-2')
checkdepends_x86_64=('ldc' 'valgrind')
source=(https://github.com/mesonbuild/meson/releases/download/${pkgver}/meson-${pkgver}.tar.gz{,.asc}
fix-tests.diff
arch-meson)
sha512sums=('e149758fa6ad4b2d3643bcda176577633f2e50e58f38074c1a17f1712d554bac0fbabf26fe7eef15954dc51630b1f923b15cfe9040a025cf61b5666098197d16'
'SKIP'
'7ea1f02adf79e4fde5d002956852d9b976b36386be8d78a3845292e8195a36d462db20a9c708e332e0d3b261a7abf9d05f5d034aab96ede58229639f3620ec91'
'db8875aea3b8307305426c19db58481b678fedd2bb1c2c95e41d94fc93493553186a49000f465595f8eedb61b682c92b242a69f41194b08ba915ab7f3bf91f19')
validpgpkeys=('95181F4EED14FDF4E41B518D3BF4693BFEEB9428') # Jussi Pakkanen <jpakkane@gmail.com>
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 -i ../fix-tests.diff
}
build() {
cd ${pkgname}-${pkgver}
python setup.py build
}
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
}
package() {
cd ${pkgname}-${pkgver}
python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
install -Dm 644 syntax-highlighting/vim/ftdetect/meson.vim -t "${pkgdir}/usr/share/vim/vimfiles/ftdetect"
install -Dm 644 syntax-highlighting/vim/indent/meson.vim -t "${pkgdir}/usr/share/vim/vimfiles/indent"
install -Dm 644 syntax-highlighting/vim/syntax/meson.vim -t "${pkgdir}/usr/share/vim/vimfiles/syntax"
# Arch packaging helper
install -D ../arch-meson -t "${pkgdir}/usr/bin"
}
# vim: ts=2 sw=2 et:

22
extra/meson/arch-meson Normal file
View file

@ -0,0 +1,22 @@
#!/bin/bash -ex
# Meson wrapper for Arch Linux packaging
exec meson setup \
--prefix /usr \
--libdir /usr/lib \
--libexecdir /usr/lib \
--bindir /usr/bin \
--sbindir /usr/bin \
--includedir /usr/include \
--datadir /usr/share \
--mandir /usr/share/man \
--infodir /usr/share/info \
--localedir /usr/share/locale \
--sysconfdir /etc \
--localstatedir /var \
--sharedstatedir /var/lib \
--buildtype release \
--warnlevel 2 \
--wrap-mode nofallback \
"$@" \
-D b_lto=false

View file

@ -0,0 +1,33 @@
diff --git i/test cases/frameworks/15 llvm/meson.build w/test cases/frameworks/15 llvm/meson.build
index 468094ad4f3a5256..a8cf8f22f4fafb24 100644
--- i/test cases/frameworks/15 llvm/meson.build
+++ w/test cases/frameworks/15 llvm/meson.build
@@ -17,5 +17,5 @@ executable('sum', 'sum.c', dependencies : [
llvm_dep,
dependency('zlib'),
meson.get_compiler('c').find_library('dl', required : false),
- dependency('tinfo'),
+ dependency('ncursesw'),
])
diff --git i/test cases/frameworks/4 qt/meson.build w/test cases/frameworks/4 qt/meson.build
index c6f108bbcf037e6c..ad9d40478d660546 100644
--- i/test cases/frameworks/4 qt/meson.build
+++ w/test cases/frameworks/4 qt/meson.build
@@ -71,14 +71,16 @@ foreach qt : ['qt4', 'qt5']
test(qt + 'maninclude', qtmaninclude)
+ if qt == 'qt5'
# building Qt plugins implies to give include path to moc
plugin_includes = include_directories('pluginInterface', 'plugin')
pluginpreprocess = qtmodule.preprocess(
moc_headers : 'plugin/plugin.h',
include_directories : plugin_includes
)
- plugin = library('plugin', 'plugin/plugin.cpp', pluginpreprocess,
+ plugin = library(qt + 'plugin', 'plugin/plugin.cpp', pluginpreprocess,
include_directories : plugin_includes,
dependencies : qtcore)
+ endif
endif
endforeach