summaryrefslogtreecommitdiffstats
path: root/haskell/POST_RESURRECT
blob: 958e8ac409d6c8abecfa39b85b69ecf2c9972fdc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# We need to restore package.conf and package.conf.old after resurrection.
# Also we need to register package with ghc-pkg.

message "${MESSAGE_COLOR}Restoring package.conf and package.conf.old...${DEFAULT_COLOR}"
GHC_VERSION=$(ghc --version | tr -d ' ,[:alpha:]')
GHC_DIR=${INSTALL_ROOT}/usr/lib/ghc-${GHC_VERSION}
mv -v ${GHC_DIR}/package.conf.bak ${GHC_DIR}/package.conf
mv -v ${GHC_DIR}/package.conf.old.bak ${GHC_DIR}/package.conf.old

message "${MESSAGE_COLOR}Registering package with ghc-pkg...${DEFAULT_COLOR}"
SHARE_DIR=${INSTALL_ROOT}/usr/share/${SPELL}
CABAL_FILE=$(ls ${SHARE_DIR}/*.cabal)
ghc-pkg register --global --force-files $CABAL_FILE
PACKAGE=$(grep 'name:' $CABAL_FILE | tr '\t' ' ' | tr -s ' ' | cut -d ' ' -f 2)
message "${MESSAGE_COLOR}Exposing package with ghc-pkg...${DEFAULT_COLOR}"
ghc-pkg expose --global $PACKAGE