From 3c18c878dea055a4fc4eefe29226b26c9b8d6c7d Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Sun, 4 Mar 2018 20:26:32 +0000 Subject: meson: initial add --- ...objc-nsstring-test-if-gnustep-is-not-inst.patch | 30 ++++++++++ abs/extra/meson/PKGBUILD | 67 ++++++++++++++++++++++ abs/extra/meson/arch-meson | 21 +++++++ 3 files changed, 118 insertions(+) create mode 100644 abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch create mode 100644 abs/extra/meson/PKGBUILD create mode 100644 abs/extra/meson/arch-meson diff --git a/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch b/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch new file mode 100644 index 0000000..973912b --- /dev/null +++ b/abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch @@ -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 +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 + diff --git a/abs/extra/meson/PKGBUILD b/abs/extra/meson/PKGBUILD new file mode 100644 index 0000000..4f93834 --- /dev/null +++ b/abs/extra/meson/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Maintainer: Levente Polyak +# Contributor: Anatol Pomozov + +pkgname=meson +pkgver=0.44.1 +pkgrel=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' + 'cython' 'gtkmm3' 'gtest' 'gmock' 'protobuf' 'wxgtk' 'python-gobject' 'gobject-introspection' + 'itstool' 'gtk3' 'java-environment=8' 'gtk-doc' 'llvm' 'clang' 'sdl2' 'graphviz' + 'doxygen' 'vulkan-validation-layers' 'openmpi' 'openssh' 'mercurial' 'gtk-sharp-2' + 'qt5-tools' 'libwmf' 'dmd' '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 + arch-meson) +sha512sums=('1ecccccfa24ec2c5c144f8c13fd95d250b59cb22b79676a2a1a6f9ed30a7b08adb71d5882b2d4421d07689ad6dd6d6aef139ac33f628e55a1d428cbc40b4d93e' + 'SKIP' + '04a0f113ba5f1ae57591fad3f5ecf812ef88b8809b4ffe063e82f6548e728a1a7bd51c171a948873884c2631fc10a9cd141f56de22cd7cf766cdb74996840eec' + 'e901f87f3ee1baa7b9aedb79bd5c9e50898a5695ac938f7f8420d8e81f526a09f07ceedadb65975437efa5a68fcf581110a040f579f2530437d1e6eb5addea76') +validpgpkeys=('95181F4EED14FDF4E41B518D3BF4693BFEEB9428') # Jussi Pakkanen + +prepare() { + cd ${pkgname}-${pkgver} + + # Skip gnustep tests + patch -Np1 -i ../0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch +} + +build() { + cd ${pkgname}-${pkgver} + python setup.py build +} + +check() ( + cd ${pkgname}-${pkgver} + + # --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} + python setup.py install --root="${pkgdir}" --optimize=1 --skip-build + + for _f in data/syntax-highlighting/vim/*/*; do + install -Dt "${pkgdir}/usr/share/vim/vimfiles/$(basename "$(dirname "$_f")")" -m644 "$_f" + done + install -Dt "${pkgdir}/usr/share/emacs/site-lisp" -m644 data/syntax-highlighting/emacs/* + install -Dt "${pkgdir}/usr/share/zsh/site-functions" -m644 data/shell-completions/zsh/* + + # Arch packaging helper + install -D ../arch-meson -t "${pkgdir}/usr/bin" +} + +# vim: ts=2 sw=2 et: diff --git a/abs/extra/meson/arch-meson b/abs/extra/meson/arch-meson new file mode 100644 index 0000000..c4a9e7c --- /dev/null +++ b/abs/extra/meson/arch-meson @@ -0,0 +1,21 @@ +#!/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 \ + --wrap-mode nofallback \ + "$@" \ + -D b_lto=true -- cgit v0.12