reads package:cabal-install

A parser for a type a, represented as a function that takes a String and returns a list of possible parses as (a,String) pairs. Note that this kind of backtracking parser is very inefficient; reading a large structure may be quite slow (cf ReadP).
Wrapper for the .cabal file parser. It reports warnings on higher verbosity levels and throws CabalFileParseError on failure.
Like readSourcePackageCabalFile, but the warn function is an argument. This is used when reading .cabal files in indexes, where warnings should generally be ignored.
Converts a Haskell ReadS-style function into a parser. Warning: This introduces local backtracking in the resulting parser, and therefore a possible inefficiency.
Read the .cabal files for a set of packages. For remote tarballs and VCS source repos this also fetches them if needed. Note here is where we convert from project-root relative paths to absolute paths.