git.iko.soy/typeable/pandoc
on fc08eb0 help sign in
typeable/pandoc/cabalize
41 lines 1.0 kB history raw
1#!/bin/sh
2# Preprocesses cabal file.
4BASE_DEPENDS="base haskell98 parsec"
6GHC64_DEPENDS=${GHC64_DEPENDS}
7GHC66_DEPENDS=${GHC66_DEPENDS-"regex-compat html"}
8HCFLAGS=${HCFLAGS-"-O0"}
10set -- $(ghc --version)
11while [ -n "$1" ] && [ "$1" != 'version' ]; do
12 shift
13done
14shift
15ghc_version="$1"
17BUILD_DEPENDS="${BASE_DEPENDS}"
18case "$ghc_version" in
196.4*)
20 BUILD_DEPENDS="${BUILD_DEPENDS} ${GHC64_DEPENDS}"
21 ;;
226.[5-9]*)
23 BUILD_DEPENDS="${BUILD_DEPENDS} ${GHC66_DEPENDS}"
24 ;;
25*)
26 echo >&2 "WARNING: Unsupported GHC version '$ghc_version'; proceeding anyway"
27 break
28 ;;
29esac
30BUILD_DEPENDS=$(echo $BUILD_DEPENDS | sed -e 's# #, #g')
32# Handle 'Hs-Source-Dir' option name which was deprecated in Cabal > 1.1.3.
33HS_SOURCE_DIRS='Hs-Source-Dirs'
34cabal_version=$(ghc-pkg -l | sed -ne 's/.*[Cc]abal-\([^,]*\).*/\1/p')
35if printf "$cabal_version\n1.1.3" | sort | tail -n 1 | grep -q '1\.1\.3'; then
36 HS_SOURCE_DIRS='Hs-Source-Dir'
37fi
39sed -e "s#@HCFLAGS@#$HCFLAGS#g" \
40 -e "s#@BUILD_DEPENDS@#$BUILD_DEPENDS#g" \
41 -e "s#@HS_SOURCE_DIRS@#$HS_SOURCE_DIRS#g"