#!/bin/sh PATH_ELEMS="$(echo ${PATH} | tr -s ':' '\n')" ORIG_CABAL_BINARY="" for PATH_ELEM in ${PATH_ELEMS}; do CABAL_CANDIDATE="${PATH_ELEM}/cabal" if command -v "${CABAL_CANDIDATE}" > /dev/null 2> /dev/null; then if [ "${0}" != "${CABAL_CANDIDATE}" ]; then if [ -z "${ORIG_CABAL_BINARY}" ]; then ORIG_CABAL_BINARY="${CABAL_CANDIDATE}" fi fi fi done if [ -z "${ORIG_CABAL_BINARY}" ]; then echo "cabal wrapper: Couldn't find real cabal program" exit 1 fi CABAL_CONFIG="" CABAL_BUILDDIR_ARG="" if [ -z "" ]; then CABAL_BUILDIR="dist" else CABAL_BUILDIR="dist_" fi CABAL_BUILDABLE_COMMANDS="build clean configure copy haddock hscolour install register sdist test upgrade" CABAL_COMMAND="$(echo ${@} | tr -s ' ' '\n' | grep -E '[a-z]' | grep -Ev '^-' | head -n 1)" for CABAL_BUILDABLE_COMMAND in ${CABAL_BUILDABLE_COMMANDS}; do if [ "${CABAL_BUILDABLE_COMMAND}" = "${CABAL_COMMAND}" ]; then CABAL_BUILDDIR_ARG="--builddir=${CABAL_BUILDIR}" fi done CABAL_CONFIGURE_COMMANDS="configure install upgrade" for CABAL_CONFIGURE_COMMAND in ${CABAL_CONFIGURE_COMMANDS}; do if [ "${CABAL_CONFIGURE_COMMAND}" = "${CABAL_COMMAND}" ]; then CABAL_BUILDDIR_ARG="${CABAL_BUILDDIR_ARG} ${PACKAGE_DB_FOR_CABAL}" fi done exec "${ORIG_CABAL_BINARY}" \ --config-file="${CABAL_CONFIG}" \ ${CABAL_BUILDDIR_ARG} "${@}"