@@ -123,6 +123,8 @@ filename = (do
123 checkThat (path == takeFileName path)
123 checkThat (path == takeFileName path)
124 "filename must contain no directory component"
124 "filename must contain no directory component"
126+textUntilEol :: MonadicParsing m => m String
127+textUntilEol = many (P.satisfy (not . isEol)) <* eol <* P.someSpace
127pClause :: PParser ()
129pClause :: PParser ()
128pClause = do reserved "executable"; lchar '=';
130pClause = do reserved "executable"; lchar '=';
@@ -189,40 +191,31 @@ pClause = do reserved "executable"; lchar '=';
190 <|> do reserved "readme"
192 <|> do reserved "readme"
191 lchar '='
193 lchar '='
192− rme <- many (P.satisfy (not . isEol))
194+ rme <- textUntilEol
195 st <- get
195 st <- get
196 put (st { pkgreadme = Just rme })
196 put (st { pkgreadme = Just rme })
198 <|> do reserved "license"
198 <|> do reserved "license"
199 lchar '='
199 lchar '='
200− lStr <- many (P.satisfy (not . isEol))
200+ lStr <- textUntilEol
202 st <- get
201 st <- get
203 put st {pkglicense = Just lStr}
202 put st {pkglicense = Just lStr}
205 <|> do reserved "homepage"
204 <|> do reserved "homepage"
206 lchar '='
205 lchar '='
207− www <- many (P.satisfy (not . isEol))
206+ www <- textUntilEol
210 st <- get
207 st <- get
211 put st {pkghomepage = Just www}
208 put st {pkghomepage = Just www}
213 <|> do reserved "sourceloc"
210 <|> do reserved "sourceloc"
214 lchar '='
211 lchar '='
215− srcpage <- many (P.satisfy (not . isEol))
212+ srcpage <- textUntilEol
218 st <- get
213 st <- get
219 put st {pkgsourceloc = Just srcpage}
214 put st {pkgsourceloc = Just srcpage}
221 <|> do reserved "bugtracker"
216 <|> do reserved "bugtracker"
222 lchar '='
217 lchar '='
223− src <- many (P.satisfy (not . isEol))
218+ src <- textUntilEol
226 st <- get
219 st <- get
227 put st {pkgbugtracker = Just src}
220 put st {pkgbugtracker = Just src}