#! /bin/sh

set -e

use_solver () {
    if [ ! -e "$1" ] ; then
	return 1
    fi
    # To be fair they don't use .json suffix
    solver=$(jsonlint -SF $1 | jq -r .id)
    if [ -n "$solver" ] ; then
	jq -Mc '(.tagDefaults[] | select(.[0] == "")).[1] |= "'"$solver"\" /usr/share/minizinc/Preferences.json > /var/lib/minizinc/Preferences.json
	return 0
    fi
    return 1
}

case "$1" in
    triggered|configure|abort-remove|abort-deconfigure)
	cd /usr/share/minizinc/solvers
	for s in gecode.msc chuffed.msc $(ls *.msc); do
	    use_solver $s && exit 0
	done
	echo "MiniZinc trigger found no usable default solver" >&2
	exit 1
    ;;

    abort-upgrade)
    ;;

    *)
	echo "postinst called with unkonw argument \"$1\"" >&2
	exit 1
    ;;
esac

#DEBHELPER#

exit 0
