git.iko.soy/typeable/pandoc
on 339fcbb help sign in
typeable/pandoc/cabalize
44 lines 1.2 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')
32PANDOC_VERSION=$(sed -ne 's/^version[[:space:]]*=[[:space:]]*"\([^"]*\)"/\1/p' src/Main.hs)
34# Handle 'Hs-Source-Dir' option name which was deprecated in Cabal > 1.1.3.
35HS_SOURCE_DIRS='Hs-Source-Dirs'
36cabal_version=$(ghc-pkg -l | sed -ne 's/.*[Cc]abal-\([^,]*\).*/\1/p')
37if printf "$cabal_version\n1.1.3" | sort | tail -n 1 | grep -q '1\.1\.3'; then
38 HS_SOURCE_DIRS='Hs-Source-Dir'
39fi
41sed -e "s#@HCFLAGS@#$HCFLAGS#g" \
42 -e "s#@BUILD_DEPENDS@#$BUILD_DEPENDS#g" \
43 -e "s#@HS_SOURCE_DIRS@#$HS_SOURCE_DIRS#g" \
44 -e "s#@VERSION@#$PANDOC_VERSION#g"