cabal-install-parsers provides parsers for cabal-install files:
cabal.project (Cabal.Project),
cabal.config (Cabal.Config),
01-index.tar (Cabal.Index);
as well as some other utilities.
The feature set is mainly motivated by the needs of haskell-ci package.
The parsed data is not complete, functionality is added on demand.
Changes
0.6.1
Use Cabal-syntax-3.10
0.6
Add sizes of tarball and cabal files to Cabal.Index.ReleaseInfo data structure.
0.5
Move to use Cabal-syntax package
It’s possible to have a build-plan with (old) Cabal,
and new cabal-install syntax, which may cause
...Version is not ...Version like errors.
0.4.5
Resolve .tar.gz package files to file: URI-locations
Make SHA256 be backed by four Word64.
Hackage cache file size drops from 11673149 to 4423787 bytes.
Update dependencies
0.3
Require Cabal-3.2.
Rename prjOrigFields to prjOtherFields to reflect its intended purpose:
contain all fields of a cabal.project file that are not already covered by
a different field of Project, such as prjPackages, prjOptPackages,
prjSourceRepos, etc. The semantics of parseProject have also been changed
accordingly, so Projects produced by parseProject will no longer have
prjOtherFields entries that overlap with other Project fields.
ParseError from Cabal.Parse now parameterizes the list type used in
peErrors. Most of the time, this will be instantiated to NonEmpty.