Google Summer of Code 2014 project suggestion

Hi I have a suggestion for a project for Google Summer of Code 2014 Currently Cabal-Install is not a fully featured package manager and can be improved considerably by adding package management features to it. Features that could be implemented include: Interaction with ghc-pkg to be able to modify (upgrade/downgrade) or remove packages Support for having multiple versions of the same package installed Automatic installation of build tools when needed (Alex, Happy) this is not an exhaustive list of what could be added to make Cabal-Install behave more like a package manager and it could be extended to interact with system package manager where available Do you agree this would be a good project for GSoC 2014 ? Do you think some important features have been overlooked ? Do you think it would be better to write a replacement for Cabal-Install from scratch rather than extending it? I would appreciate feedback. Regards Bjarki Geir Benediktsson

On Wed, Feb 5, 2014 at 2:00 AM, Bjarki Geir Benediktsson < bjarkigeirbenediktsson@gmail.com> wrote:
Hi I have a suggestion for a project for Google Summer of Code 2014
Currently Cabal-Install is not a fully featured package manager and can be improved considerably by adding package management features to it.
Features that could be implemented include: Interaction with ghc-pkg to be able to modify (upgrade/downgrade) or remove packages
This would be handy -- ghc-pkg / cabal sandbox hc-pkg help a lot here already, though, and aren't so bad to use. It would be nice, though. Support for having multiple versions of the same package installed
I think there is a good bit of on-going work to support multiple versions of one package in the same package db, and it's significantly less of an issue with sandboxes. My understanding is that this is significantly more challenging than it seems.
Automatic installation of build tools when needed (Alex, Happy)
Rather than implement tool installation directly, my preference would be to solve this first: https://github.com/haskell/cabal/issues/948 Then, once setup.hs has specific dependencies, write a simple EDSL / library that makes it trivial to conditionally install tool dependencies from within a custom build script. I think the result would be much more generally applicable, and solve a number of other issues along the way. It would also make it possible for anyone to prototype new cabal/cabal-install features without needing to distribute a new version of cabal/cabal-install. --Rogan
participants (2)
-
Bjarki Geir Benediktsson
-
Rogan Creswick