From 7ab077e67ea4d96651275b2adb64fe536d20173d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 29 Jul 2013 12:20:53 -0700 Subject: [PATCH] Force UTF8 handling of build-plan.txt #90 --- Stackage/BuildPlan.hs | 5 +++-- stackage.cabal | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Stackage/BuildPlan.hs b/Stackage/BuildPlan.hs index 2c6135db..06a77ea1 100644 --- a/Stackage/BuildPlan.hs +++ b/Stackage/BuildPlan.hs @@ -9,17 +9,18 @@ import qualified Data.Map as Map import qualified Data.Set as Set import Distribution.Text (display, simpleParse) import Stackage.Types +import qualified System.IO.UTF8 readBuildPlan :: FilePath -> IO BuildPlan readBuildPlan fp = do - str <- readFile fp + str <- System.IO.UTF8.readFile fp case fromString str of Left s -> error $ "Could not read build plan: " ++ s Right (x, "") -> return x Right (_, _:_) -> error "Trailing content when reading build plan" 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 toString :: a -> String diff --git a/stackage.cabal b/stackage.cabal index eef1f011..f9e95764 100644 --- a/stackage.cabal +++ b/stackage.cabal @@ -41,6 +41,7 @@ library , old-locale , HTTP , time + , utf8-string executable stackage hs-source-dirs: app