import Distribution.License
import Distribution.Version
import Compat.Directory ( getAppUserDataDirectory )
-import Control.Exception ( catch, throw, evaluate )
+import Control.Exception ( evaluate )
+import qualified Control.Exception as Exception
-import Prelude hiding ( catch )
+import Prelude
import Package -- the old package config type
system, exitWith,
ExitCode(..)
)
-import IO hiding ( catch )
+import IO
import List ( isPrefixOf, isSuffixOf )
import ParsePkgConfLite
str <- readFile filename
let packages = read str
evaluate packages
- `catch` \_ -> die (filename ++ ": parse error in package config file\n")
+ `Exception.catch` \_ ->
+ die (filename ++ ": parse error in package config file\n")
return (filename,packages)
emptyPackageConfig :: String
Right ok -> return ok
Left err -> do
old_pkg <- evaluate (parseOnePackageConfig str)
- `catch` \_ -> parse_failed
+ `Exception.catch` \_ -> parse_failed
putStr "Expanding embedded variables... "
new_old_pkg <- expandEnvVars old_pkg defines force
return (convertOldPackage old_pkg)
"restore the old configuration... ")
renameFile (filename ++ ".old") filename
hPutStrLn stdout "done."
- throw e
+ ioError e
writeNewConfig :: FilePath -> [InstalledPackageInfo] -> IO ()
writeNewConfig filename packages = do