Commit d78b2eb7 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Fix the build with GHC < 6.12

parent 8008ed2c
......@@ -729,7 +729,7 @@ changeDBDir verbosity cmds db = do
do_cmd (AddPackage p) = do
let file = location db </> display (installedPackageId p) <.> "conf"
when (verbosity > Normal) $ putStrLn ("writing " ++ file)
writeFileAtomic file utf8 (showInstalledPackageInfo p)
writeFileUtf8Atomic file (showInstalledPackageInfo p)
do_cmd (ModifyPackage p) =
do_cmd (AddPackage p)
......@@ -1151,7 +1151,7 @@ writeNewConfig verbosity filename ipis = do
let shown = concat $ intersperse ",\n "
$ map (show . convertPackageInfoOut) ipis
fileContents = "[" ++ shown ++ "\n]"
writeFileAtomic filename utf8 fileContents
writeFileUtf8Atomic filename fileContents
`catch` \e ->
if isPermissionError e
then die (filename ++ ": you don't have permission to modify this file")
......@@ -1557,10 +1557,12 @@ writeBinaryFileAtomic targetFile obj =
hSetBinaryMode h True
B.hPutStr h (Bin.encode obj)
writeFileAtomic :: FilePath -> TextEncoding -> String -> IO ()
writeFileAtomic targetFile encoding content =
writeFileUtf8Atomic :: FilePath -> String -> IO ()
writeFileUtf8Atomic targetFile content =
withFileAtomic targetFile $ \h -> do
hSetEncoding h encoding
#if __GLASGOW_HASKELL__ >= 612
hSetEncoding h utf8
#endif
hPutStr h content
-- copied from Cabal's Distribution.Simple.Utils, except that we want
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment