diff options
-rw-r--r-- | hadrian/src/Hadrian/Builder/Ar.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/hadrian/src/Hadrian/Builder/Ar.hs b/hadrian/src/Hadrian/Builder/Ar.hs index ad74653db0..d43bc0be00 100644 --- a/hadrian/src/Hadrian/Builder/Ar.hs +++ b/hadrian/src/Hadrian/Builder/Ar.hs @@ -50,8 +50,9 @@ arFlagsCount = 2 runAr :: FilePath -> [String] -> Action () runAr arPath argList = withTempFile $ \tmp -> do writeFile' tmp $ unwords fileArgs - cmd [arPath] flagArgs ('@' : tmp) + cmd_ env [arPath] flagArgs ('@' : tmp) where + env = Env [("LANG","C.utf8")] -- avoid encoding issue when reading stdout. See # flagArgs = take arFlagsCount argList fileArgs = drop arFlagsCount argList @@ -62,7 +63,8 @@ runAr arPath argList = withTempFile $ \tmp -> do runArWithoutTempFile :: FilePath -> [String] -> Action () runArWithoutTempFile arPath argList = forM_ (chunksOfSize cmdLineLengthLimit fileArgs) $ \argsChunk -> - unit . cmd [arPath] $ flagArgs ++ argsChunk + cmd_ env [arPath] flagArgs argsChunk where + env = Env [("LANG","C.utf8")] -- avoid encoding issue when reading stdout. See # flagArgs = take arFlagsCount argList fileArgs = drop arFlagsCount argList |