git.iko.soy/typeable/cabal2nix
on master help sign in
Re-defined readVersion with 'simpleParse'.
commit167204ec50d83f81e00907ac0c7b926f84679f42 authorPeter Simons <simons@cryp.to> dateMon 15 Aug 2011, 11:16 (15 years ago) parent1bccb4e
2 files changed+2−11
src/Distribution/NixOS/Derivation/Cabal.hs+1−7 src/Hackage4Nix.hs+1−4
src/Distribution/NixOS/Derivation/Cabal.hs+1−7
@@ -85,7 +85,7 @@ parseDerivation buf
8585 , noHaddock <- buf `regsubmatch` "noHaddock *= *(true|false) *;"
8686 = Just $ MkDerivation
8787 { pname = name
88− , version = readVersion vers
88+ , version = maybe (error $ "cannot parse version " ++ show vers) id (simpleParse vers)
8989 , sha256 = sha
9090 , isLibrary = False
9191 , isExecutable = False
@@ -109,9 +109,3 @@ regsubmatch :: String -> String -> [String]
109109regsubmatch buf patt = let (_,_,_,x) = f in x
110110 where f :: (String,String,String,[String])
111111 f = match (makeRegexOpts compExtended execBlank patt) buf
112−
113−readVersion :: String -> Version
114−readVersion str =
115− case [ v | (v,[]) <- readP_to_S parseVersion str ] of
116− [ v' ] -> v'
117− _ -> error ("invalid version specifier " ++ show str)
src/Hackage4Nix.hs+1−4
@@ -80,10 +80,7 @@ regenerateDerivation deriv buf = not (pname deriv `elem` patchedPackages) &&
8080 not (buf =~ "preConfigure|configureFlags|postInstall|patchPhase")
8181
8282readVersion :: String -> Version
83−readVersion str =
84− case [ v | (v,[]) <- readP_to_S parseVersion str ] of
85− [ v' ] -> v'
86− _ -> error ("invalid version specifier " ++ show str)
83+readVersion str = maybe (error $ "cannot parse version " ++ show str) id (simpleParse str)
8784
8885parseNixFile :: FilePath -> String -> Hackage4Nix (Maybe Pkg)
8986parseNixFile path buf