aboutsummaryrefslogtreecommitdiff
path: root/cabalize
blob: d494dacaf84334ae975757ff6d524452aa5cb97b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh

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.[56]*)
	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')

# Handle 'Hs-Source-Dir' option name which was deprecated in Cabal 1.1.4.
HS_SOURCE_DIRS='Hs-Source-Dirs'
if ghc-pkg -l | grep -q '\<[Cc]abal-[0-1]\.[0-1]\.[0-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"