#!/usr/bin/env bash set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")/.." echo "Formatting with fourmolu..." ./hs fourmolu --mode inplace app/ src/ test/ echo "Building..." ./hs stack build --copy-bins --local-bin-path /work/build echo "Compressing with UPX..." ./hs bash -c ' UPX_VERSION="5.1.1" UPX_URL="https://github.com/upx/upx/releases/download/v${UPX_VERSION}/upx-${UPX_VERSION}-amd64_linux.tar.xz" UPX_DIR="/tmp/upx-${UPX_VERSION}-amd64_linux" if [ ! -x "${UPX_DIR}/upx" ]; then curl -fsSL "${UPX_URL}" | tar -xJ -C /tmp fi "${UPX_DIR}/upx" /work/build/converge ' echo "Done: $(ls -lh build/converge | awk '{print $5}')" # Build Arch Linux package (if makepkg is available) if command -v makepkg &>/dev/null; then echo "Building Arch package with makepkg..." if makepkg -f 2>&1; then echo "Package: $(ls -1 converge-*.pkg.tar.zst 2>/dev/null)" else echo "WARNING: makepkg failed (see above)" >&2 fi else echo "Skipping package build (makepkg not found)" fi