@@ -77,14 +77,15 @@ parseDerivation :: String -> Maybe Derivation
77parseDerivation buf
77parseDerivation buf
78 | buf =~ "cabal.mkDerivation"
78 | buf =~ "cabal.mkDerivation"
79 , [name] <- buf `regsubmatch` "pname *= *\"([^\"]+)\""
79 , [name] <- buf `regsubmatch` "pname *= *\"([^\"]+)\""
80− , [vers] <- buf `regsubmatch` "version *= *\"([^\"]+)\""
80+ , [vers'] <- buf `regsubmatch` "version *= *\"([^\"]+)\""
81+ , Just vers <- simpleParse vers'
81 , [sha] <- buf `regsubmatch` "sha256 *= *\"([^\"]+)\""
82 , [sha] <- buf `regsubmatch` "sha256 *= *\"([^\"]+)\""
82 , plats <- buf `regsubmatch` "platforms *= *([^;]+);"
83 , plats <- buf `regsubmatch` "platforms *= *([^;]+);"
83 , maint <- buf `regsubmatch` "maintainers *= *\\[([^\"]+)]"
84 , maint <- buf `regsubmatch` "maintainers *= *\\[([^\"]+)]"
84 , noHaddock <- buf `regsubmatch` "noHaddock *= *(true|false) *;"
85 , noHaddock <- buf `regsubmatch` "noHaddock *= *(true|false) *;"
85 = Just $ MkDerivation
86 = Just $ MkDerivation
86 { pname = name
87 { pname = name
87− , version = maybe (error $ "cannot parse version " ++ show vers) id (simpleParse vers)
88+ , version = vers
88 , sha256 = sha
89 , sha256 = sha
89 , isLibrary = False
90 , isLibrary = False
90 , isExecutable = False
91 , isExecutable = False