From 3c18c878dea055a4fc4eefe29226b26c9b8d6c7d Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
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 <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
+
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) <jan.steffens@gmail.com>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Anatol Pomozov <anatol dot pomozov at gmail>
+
+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 <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
+}
+
+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

