From f47451a608e4e50d03178d690b9a365937bfc6aa Mon Sep 17 00:00:00 2001 From: Kai Wohlfahrt Date: Sun, 25 Sep 2016 16:06:15 +0100 Subject: [PATCH] Fix build with non-utf8 locale Run of elm-make was throwing an exception with LC_ALL=C, fixed by using readProcessWithExitCode from System.Process.ByteString instead of System.Process. --- elm-reactor.cabal | 2 +- src/backend/StaticFiles/Build.hs | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/elm-reactor.cabal b/elm-reactor.cabal index 5bccaac..e94c2ac 100644 --- a/elm-reactor.cabal +++ b/elm-reactor.cabal @@ -73,7 +73,7 @@ Executable elm-reactor filepath, fsnotify >= 0.2, mtl, - process, + process-extras, snap-core, snap-server, template-haskell, diff --git a/src/backend/StaticFiles/Build.hs b/src/backend/StaticFiles/Build.hs index d675b25..b5e8190 100644 --- a/src/backend/StaticFiles/Build.hs +++ b/src/backend/StaticFiles/Build.hs @@ -5,11 +5,12 @@ module StaticFiles.Build where import qualified Data.ByteString as BS +import Data.ByteString.Char8 (unpack) import System.Directory (removeFile) import System.Exit (ExitCode(..), exitFailure) import System.FilePath ((<.>), takeBaseName) import System.IO (hPutStrLn, stderr) -import System.Process (readProcessWithExitCode) +import System.Process.ByteString (readProcessWithExitCode) @@ -34,12 +35,13 @@ elmMake source target = readProcessWithExitCode "elm-make" [ "--yes", source, "--output=" ++ target ] - "" + BS.empty case exitCode of ExitSuccess -> return () ExitFailure _ -> - do hPutStrLn stderr (unlines ["Failed to build " ++ source, "", out, err]) + do hPutStrLn stderr (unlines ["Failed to build " ++ source, "", + unpack out, unpack err]) exitFailure