Add module to hold Cabal-related functions.

Signed-off-by: Magnus Therning <magnus@therning.org>
Move Cabal reading into its own module.

Put the Cabal reading into its own environment in order to avoid having to
pass around all paths used in patching/reading/copying etc.

Signed-off-by: Magnus Therning <magnus@therning.org>
Make Add use the new Cabal module.

Currently only used for reading from files.

Signed-off-by: Magnus Therning <magnus@therning.org>
Read Cabals from the index.

Move the Cabal reading from the index file into the new module.

Adapt Add and PkgBuild too.

Signed-off-by: Magnus Therning <magnus@therning.org>
Pull out reWrapErrT and rename it.

Signed-off-by: Magnus Therning <magnus.therning@evidente.se>
Add HackageIndex module and move readIndexFile.

Creating a new module to hold functions related to the index file.

Signed-off-by: Magnus Therning <magnus.therning@evidente.se>
Add function to extract packages and versions from index.

Signed-off-by: Magnus Therning <magnus@therning.org>
Move index related stuff out of Updates.

Signed-off-by: Magnus Therning <magnus@therning.org>
Add function to extract a Cabal file from an index.

Put it to immediate use in Util.Cabal.readFromIdx.

Signed-off-by: Magnus Therning <magnus@therning.org>
Remove Urls command.

Signed-off-by: Magnus Therning <magnus@therning.org>
Add command for extracting Cabal files from the index.

Signed-off-by: Magnus Therning <magnus@therning.org>