summaryrefslogtreecommitdiff
path: root/community/haskell-servant-swagger
diff options
context:
space:
mode:
Diffstat (limited to 'community/haskell-servant-swagger')
-rw-r--r--community/haskell-servant-swagger/PKGBUILD24
1 files changed, 24 insertions, 0 deletions
diff --git a/community/haskell-servant-swagger/PKGBUILD b/community/haskell-servant-swagger/PKGBUILD
index 84e3f0da..dff1fac9 100644
--- a/community/haskell-servant-swagger/PKGBUILD
+++ b/community/haskell-servant-swagger/PKGBUILD
@@ -1,6 +1,30 @@
+# first, we replace the hardcoded min/max of int
+
eval "$(
declare -f check | \
sed '
3 a find . -type f -exec sed -i '"'"'s/922337203685477580\\([78]\\)/214748364\\1/g; s/9\\.22337203685477580\\([78]\\)e18/2.14748364\\1e9/g'"'"' {} \\;
+ s/runhaskell Setup test/_check_diff \\0/
'
)"
+
+# and then we make the check insensitive to changes of order
+
+_check_diff() {
+ if ! "$@" > check.log; then
+ if ! diff -u <(
+ grep '^\s*expected:' check.log | \
+ sed 's/^[^:]*://' | \
+ tr '{},' '\n' | \
+ sort
+ ) <(
+ grep '^\s*but got:' check.log | \
+ sed 's/^[^:]*://' | \
+ tr '{},' '\n' | \
+ sort
+ ); then
+ cat check.log
+ return 1
+ fi
+ fi
+}