#!/bin/sh # Preprocesses cabal file. BASE_DEPENDS="base haskell98 parsec" GHC64_DEPENDS=${GHC64_DEPENDS} GHC66_DEPENDS=${GHC66_DEPENDS-"regex-compat html"} HCFLAGS=${HCFLAGS-"-O0"} set -- $(ghc --version) while [ -n "$1" ] && [ "$1" != 'version' ]; do shift done shift ghc_version="$1" BUILD_DEPENDS="${BASE_DEPENDS}" case "$ghc_version" in 6.4*) BUILD_DEPENDS="${BUILD_DEPENDS} ${GHC64_DEPENDS}" ;; 6.[5-9]*) BUILD_DEPENDS="${BUILD_DEPENDS} ${GHC66_DEPENDS}" ;; *) echo >&2 "WARNING: Unsupported GHC version '$ghc_version'; proceeding anyway" break ;; esac BUILD_DEPENDS=$(echo $BUILD_DEPENDS | sed -e 's# #, #g') PANDOC_VERSION=$(sed -ne 's/^version[[:space:]]*=[[:space:]]*"\([^"]*\)"/\1/p' src/Main.hs) # Handle 'Hs-Source-Dir' option name which was deprecated in Cabal > 1.1.3. HS_SOURCE_DIRS='Hs-Source-Dirs' cabal_version=$(ghc-pkg -l | sed -ne 's/.*[Cc]abal-\([^,]*\).*/\1/p') if printf "$cabal_version\n1.1.3" | sort | tail -n 1 | grep -q '1\.1\.3'; then HS_SOURCE_DIRS='Hs-Source-Dir' fi sed -e "s#@HCFLAGS@#$HCFLAGS#g" \ -e "s#@BUILD_DEPENDS@#$BUILD_DEPENDS#g" \ -e "s#@HS_SOURCE_DIRS@#$HS_SOURCE_DIRS#g" \ -e "s#@VERSION@#$PANDOC_VERSION#g"