spf_template gnu &&
spf_url home  'http://haskell.org/ghc/' &&
spf_url watch 'http://haskell.org/ghc/download.html' &&
case ${spf_version?} in
  6.?.*|6.10.*)
    spf_url src "http://haskell.org/ghc/dist/${spf_version?}/ghc-${spf_version?}-i386-unknown-linux.tar.bz2";;
  6.12.*)
    spf_url src "http://haskell.org/ghc/dist/${spf_version?}/ghc-${spf_version?}-i386-unknown-linux-n.tar.bz2";;
  *)
    spf_url src "http://haskell.org/ghc/dist/${spf_version?}/ghc-${spf_version?}-i386-unknown-linux.tar.bz2";;
esac &&
spf_depend ncurses  flags none when runtime version_sensitive no &&
case ${spf_version?} in
  6.8.*) spf_depend readline flags none when runtime versions '5.*';;
  *)     spf_depend libedit  flags none when runtime version_sensitive no;;
esac &&
case ${spf_version?} in
  6.?.*|6.10.*|6.12.*|7.0.[13])
    spf_depend gmp flags none when runtime version_sensitive yes versions '4.*';;
  *)
    spf_depend gmp flags none when runtime version_sensitive no;;
esac &&
case ${spf_version?} in
  6.*) :;;
  *) spf_depend libffi flags none when runtime version_sensitive no;;
esac &&
spf_srcdir ghc-"${spf_version?}" &&
spf_template_gnu_do_before_configure() {
  if test -d ../lib/.; then
    prj_mkdir_p "${spf_path_prefix?}"/ &&
    mv "${spf_path_src?}"/../lib "${spf_path_prefix?}"/ &&
    chmod 755 "${spf_path_prefix?}"/lib
  else :
  fi &&
  prj_mkdir_p "${spf_path_prefix?}"/lib &&
  ln -s "${spf_path_conf?}"/ncurses/library/libncurses.so \
    "${spf_path_prefix?}"/lib/libncurses.so.5 &&
  ln -s "${spf_path_conf?}"/gmp/library/libgmp.so.3 \
    "${spf_path_prefix?}"/lib/ &&
  if test -d "${spf_path_conf?}"/libffi/.; then
    ln -s "${spf_path_conf?}"/libffi/library/libffi.so.5 \
      "${spf_path_prefix?}"/lib/
  fi &&
  spf_trigger_conf_libc &&
  case ${spf_version?} in
    6.?.*|6.10.*) :;;
    *)
      spf_args configure --with-gmp-includes="${spf_path_conf?}"/gmp/include &&
      spf_args configure --with-gmp-libraries="${spf_path_conf?}"/gmp/library;;
  esac &&
  case ${spf_version?} in
    6.?.*|6.10.*) pkg_subst bin "${spf_path_src?}"/utils/pwd/ pwd;;
    6.12.*|7.0.1) pkg_subst bin "${spf_path_src?}"/utils/ghc-pwd/ ghc-pwd;;
    7.0.3)
      pkg_subst bin "${spf_path_src?}"/utils/ghc-pwd/dist/build/tmp/ ghc-pwd;;
    *) :;;
  esac &&
  case ${spf_version?} in
    6.8.*) pkg_subst bin "${spf_path_src?}"/utils/ghc-pkg/ ghc-pkg.bin;;
    6.10.*)
      pkg_subst bin \
        "${spf_path_src?}"/utils/installPackage/install-inplace/bin/ \
        installPackage &&
      pkg_subst bin \
        "${spf_path_src?}"/utils/ghc-pkg/dist-install/build/ghc-pkg/ \
        ghc-pkg &&
      prj_sedfile \
        "${spf_path_src?}"/utils/ghc-pkg/dist-install/setup-config \
        's:/usr/bin/strip:true:';;
    6.12.*|7.0.1)
      pkg_subst bin \
        "${spf_path_src?}"/utils/ghc-pkg/dist-install/build/tmp/ ghc-pkg &&
      pkg_subst bin "${spf_path_src?}"/inplace/bin/ ghc-cabal &&
      pkg_subst bin "${spf_path_src?}"/ghc/stage2/build/tmp/ ghc-stage2;;
    7.0.3)
      pkg_subst bin \
        "${spf_path_src?}"/utils/ghc-pkg/dist-install/build/tmp/ ghc-pkg &&
      pkg_subst bin \
        "${spf_path_src?}"/utils/ghc-cabal/dist-install/build/tmp/ ghc-cabal &&
      pkg_subst bin "${spf_path_src?}"/ghc/stage2/build/tmp/ ghc-stage2;;
    *) :;;
  esac
} &&
case ${spf_version?} in
  6.12.2|7.0.[13]) spf_template_gnu_do_make() { :; };;
  *) :;;
esac &&
spf_template_gnu_do_after_install() {
  set "${spf_path_conf?}"/ncurses/library/libtinfo.so \
      "${spf_path_conf?}"/ncurses/library/libncurses.so &&
  { test -f "$1" || shift; } &&
  ln -s "$1" "${spf_path_prefix?}"/lib/libtinfo.so.5 &&
  case ${spf_version?} in
    6.8.*)
      ln -s "${spf_path_conf?}"/readline/library/libreadline.so.5 \
        "${spf_path_prefix?}"/lib/ &&
      rm -f "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ghc-pkg.bin &&
      cp "${spf_path_src?}"/utils/ghc-pkg/.spf/ghc-pkg.bin \
        "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ghc-pkg.bin &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ cgprof &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ \
        ghc-pkg.bin &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ \
        hsc2hs-bin &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ \
        ghc-"${spf_version?}" &&
      pkg_subst bin "${spf_path_prefix?}"/bin/ runghc &&
      pkg_subst bin "${spf_path_prefix?}"/bin/ runhaskell;;
    *)
      ln -s "${spf_path_conf?}"/libedit/library/libedit.so.0 \
        "${spf_path_prefix?}"/lib/ &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ ghc-pkg &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ hsc2hs &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ ghc &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ haddock &&
      pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ runghc &&
      pkg_subst script "${spf_path_prefix?}"/bin/ runghc &&
      pkg_subst script "${spf_path_prefix?}"/bin/ runhaskell;;
  esac &&
  case ${spf_version?} in
    6.8.*|6.10.*) pkg_subst bin "${spf_path_prefix?}"/bin/ hasktags;;
    6.12.*|7.0.[13])
      rm -f "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/.spf/ghc-pkg \
            "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/.spf/ghc &&
      cp \
        "${spf_path_src?}"/utils/ghc-pkg/dist-install/build/tmp/.spf/ghc-pkg \
        "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/.spf/ &&
      cp \
        "${spf_path_src?}"/ghc/stage2/build/tmp/.spf/ghc-stage2 \
        "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/.spf/ghc;;
    *) :;;
  esac &&
  pkg_subst bin "${spf_path_prefix?}"/bin/ hp2ps &&
  pkg_subst bin "${spf_path_prefix?}"/bin/ hpc &&
  pkg_subst bin "${spf_path_prefix?}"/lib/ghc-"${spf_version?}"/ unlit
} &&
pkg_subst() {
  prj_u2 prj_capture pkg_path prj_quote_sh "${sp_path?}" &&
  if test bin = "${1?}"; then
    prj_u2 prj_set pkg_dynld "${pkg_path?}/conf/glibc/library/ld-linux.so.2"
  else
    prj_u2 prj_set pkg_dynld ''
  fi &&
  prj_u2 prj_capture pkg_dir prj_quote_sh "${2?}" &&
  prj_mkdir_p "$2/.spf" &&
  mv "$2$3" "$2.spf/" &&
  cat > "$2$3" <<EOT &&
#!/bin/sh
case \$ZSH_VERSION in '') :;; *) alias -g '\${1+"\$@"}="\$@"';; esac &&
LD_LIBRARY_PATH=\${LD_LIBRARY_PATH:+\${LD_LIBRARY_PATH?}:}${pkg_path?}/prefix/lib:${pkg_path?}/conf/gmp/library:${pkg_path?}/conf/ncurses/library:${pkg_path?}/conf/readline/library:${pkg_path?}/conf/libedit/library &&
export LD_LIBRARY_PATH &&
exec ${pkg_dynld?} \\
  ${pkg_dir?}.spf/$3 \${1+"\$@"}
EOT
  chmod +x "$2$3"
} &&
spf_no_check &&
spf_tested_version 7.0.3 &&
spf_tested_version 7.0.1 &&
spf_tested_version 6.12.2 &&
spf_tested_version 6.10.4 &&
spf_tested_version 6.10.3 &&
spf_tested_version 6.10.1 &&
spf_tested_version 6.8.3

