summaryrefslogtreecommitdiff
path: root/extra/meson
diff options
context:
space:
mode:
Diffstat (limited to 'extra/meson')
-rw-r--r--extra/meson/PKGBUILD26
-rwxr-xr-xextra/meson/arch-meson21
2 files changed, 46 insertions, 1 deletions
diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD
index a2d42e6e..376dd629 100644
--- a/extra/meson/PKGBUILD
+++ b/extra/meson/PKGBUILD
@@ -1,3 +1,27 @@
-# checks fail in various ways (also upstream)
+# we have no 32-bit cuda support
+checkdepends=(${checkdepends[@]//cuda/})
+
+# no rust on i486
+checkdepends=(${checkdepends[@]//rust-bindgen/})
+checkdepends=(${checkdepends[@]//rust/})
+checkdepends_i686+=('rust')
+checkdepends_i686+=('rust-bindgen')
+
+# D compiler broken on i486
+checkdepends=(${checkdepends[@]//ldc/})
+checkdepends_i686+=('ldc')
+
+checkdepends_pentium4=("${checkdepends_i686[@]}")
+
+# still far too many tests fail, ignoring for now
unset check
unset checkdepends
+
+# fail if upstream changes arch-meson
+# we patch a version of arch-meson reading CARCH (later maybe LTOFLAGS)
+# to find out whether it should add blto to the arch flags
+for ((i=0; i<${#sha512sums[@]}; i++)); do
+ if [ "${sha512sums[${i}]}" = 'f451f8a7ef9cf1dd724c2ce20bb85a3f1611b87b2e7a17ef0fdbe8ab82a67389f818ea30a5adfe8413143e4eac77ea2e0b8234b5b2466b41a892e2bd0435376c' ]; then
+ sha512sums[${i}]='4b389796c52a5aa84a05cecc9b0c87924992627a61faf1707624f157d03315df143a562bec982d3ad7c64a7de767fce56567e718005cb92e297672d37b39230e'
+ fi
+done
diff --git a/extra/meson/arch-meson b/extra/meson/arch-meson
new file mode 100755
index 00000000..577edca4
--- /dev/null
+++ b/extra/meson/arch-meson
@@ -0,0 +1,21 @@
+#!/bin/bash -ex
+# Highly opinionated wrapper for Arch Linux packaging
+
+CARCH=$(. /etc/makepkg.conf; echo $CARCH)
+
+if [ "${CARCH}" = "i486" ]; then
+ LTO="b_lto=false"
+else
+ LTO="b_lto=true"
+fi
+
+exec meson setup \
+ --prefix /usr \
+ --libexecdir lib \
+ --sbindir bin \
+ --buildtype plain \
+ --auto-features enabled \
+ --wrap-mode nodownload \
+ -D "${LTO}" \
+ -D b_pie=true \
+ "$@"