@@ -123,6 +123,8 @@ filename = (do
123123 checkThat (path == takeFileName path)
124124 "filename must contain no directory component"
125125
126+textUntilEol :: MonadicParsing m => m String
127+textUntilEol = many (P.satisfy (not . isEol)) <* eol <* P.someSpace
126128
127129pClause :: PParser ()
128130pClause = do reserved "executable"; lchar '=';
@@ -189,40 +191,31 @@ pClause = do reserved "executable"; lchar '=';
189191
190192 <|> do reserved "readme"
191193 lchar '='
192− rme <- many (P.satisfy (not . isEol))
193− eol
194− P.someSpace
194+ rme <- textUntilEol
195195 st <- get
196196 put (st { pkgreadme = Just rme })
197197
198198 <|> do reserved "license"
199199 lchar '='
200− lStr <- many (P.satisfy (not . isEol))
201− eol
200+ lStr <- textUntilEol
202201 st <- get
203202 put st {pkglicense = Just lStr}
204203
205204 <|> do reserved "homepage"
206205 lchar '='
207− www <- many (P.satisfy (not . isEol))
208− eol
209− P.someSpace
206+ www <- textUntilEol
210207 st <- get
211208 put st {pkghomepage = Just www}
212209
213210 <|> do reserved "sourceloc"
214211 lchar '='
215− srcpage <- many (P.satisfy (not . isEol))
216− eol
217− P.someSpace
212+ srcpage <- textUntilEol
218213 st <- get
219214 put st {pkgsourceloc = Just srcpage}
220215
221216 <|> do reserved "bugtracker"
222217 lchar '='
223− src <- many (P.satisfy (not . isEol))
224− eol
225− P.someSpace
218+ src <- textUntilEol
226219 st <- get
227220 put st {pkgbugtracker = Just src}
228221