Skip to content

Commit

Permalink
solver: parse cabal errors also on Windows
Browse files Browse the repository at this point in the history
Noticed on #2502. Basically, `isSuffixOf "suffix" "stuff suffix\r"` is
spuriously false, so we should better strip `\r`.

I've not yet verified that `\r` is actually there; I infer it from the
presence of `stripCR` and the parse failure. Time to test this.
  • Loading branch information
Blaisorblade committed Aug 17, 2016
1 parent 0b35c49 commit c975c84
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/Stack/Solver.hs
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ cabalSolver menv cabalfps constraintType

where
errCheck = T.isInfixOf "Could not resolve dependencies"
linesNoCR = map stripCR . T.lines
cabalBuildErrMsg e =
">>>> Cabal errors begin\n"
<> e
Expand Down Expand Up @@ -167,7 +168,7 @@ cabalSolver menv cabalfps constraintType
else errExit msg

parseConflictingPkgs msg =
let ls = dropWhile (not . errCheck) $ T.lines msg
let ls = dropWhile (not . errCheck) $ linesNoCR msg
select s = ((T.isPrefixOf "trying:" s)
|| (T.isPrefixOf "next goal:" s))
&& (T.isSuffixOf "(user goal)" s)
Expand All @@ -180,8 +181,7 @@ cabalSolver menv cabalfps constraintType
parseCabalOutput bs = do
let ls = drop 1
$ dropWhile (not . T.isPrefixOf "In order, ")
$ map stripCR
$ T.lines
$ linesNoCR
$ decodeUtf8 bs
(errs, pairs) = partitionEithers $ map parseCabalOutputLine ls
if null errs
Expand Down

0 comments on commit c975c84

Please sign in to comment.