Force UTF8 handling of build-plan.txt #90

This commit is contained in:
Michael Snoyman 2013-07-29 12:20:53 -07:00
parent 7b9100386b
commit 7ab077e67e
2 changed files with 4 additions and 2 deletions

View File

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

View File

@ -41,6 +41,7 @@ library
, old-locale , old-locale
, HTTP , HTTP
, time , time
, utf8-string
executable stackage executable stackage
hs-source-dirs: app hs-source-dirs: app