@@ -9,17 +9,18 @@ import qualified Data.Map as Map
9import qualified Data.Set as Set
9import qualified Data.Set as Set
10import Distribution.Text (display, simpleParse)
10import Distribution.Text (display, simpleParse)
11import Stackage.Types
11import Stackage.Types
12+import qualified System.IO.UTF8
13readBuildPlan :: FilePath -> IO BuildPlan
14readBuildPlan :: FilePath -> IO BuildPlan
14readBuildPlan fp = do
15readBuildPlan fp = do
15− str <- readFile fp
16+ str <- System.IO.UTF8.readFile fp
16 case fromString str of
17 case fromString str of
17 Left s -> error $ "Could not read build plan: " ++ s
18 Left s -> error $ "Could not read build plan: " ++ s
18 Right (x, "") -> return x
19 Right (x, "") -> return x
19 Right (_, _:_) -> error "Trailing content when reading build plan"
20 Right (_, _:_) -> error "Trailing content when reading build plan"
21writeBuildPlan :: FilePath -> BuildPlan -> IO ()
22writeBuildPlan :: FilePath -> BuildPlan -> IO ()
22−writeBuildPlan fp bp = writeFile fp $ toString bp
23+writeBuildPlan fp bp = System.IO.UTF8.writeFile fp $ toString bp
24class AsString a where
25class AsString a where
25 toString :: a -> String
26 toString :: a -> String