Btw, one more great pearl of Gentoo's package manager: predependencies and postdependencies.
These are packages (and/or programs) that must be installed in the system prior to the package being installed, and after the package is installed, respectively. Most packages have almost the same predeps, deps and postdeps. A Haskell compiler might be a (pre-)dependency for most packages, but not necessarily a post-dependency. Gtk should have "gtk2hs-buildtools" in its predependencies, but not in its postdependencies (once the package is installed, gtk2hs-buildtools is not needed anymore). The same is true for many packages that depend on happy, alex, etc. If your program needs an auxiliary program to run, but needs not be compiled against it, that's also the place for predeps/postdeps. I used it for a long time (not anymore), and it works wonders. It would be great to have something like this in cabal. On 16 December 2012 12:10, Ivan Perez <ivanperezdoming...@gmail.com> wrote: > On 12 December 2012 18:16, Bardur Arantsson <s...@scientician.net> wrote: >> On 12/12/2012 06:01 PM, Janek S. wrote: >> >> Well, one big issue is that Linux distribution packagers have control of >> the entire stack. A (hypothetical) Haskell package manager wouldn't. > > In Gentoo, there are many package overlays apart from the main > repository. You can add as many as you want (local or remote). > >> Typical package managers also restrict you to exactly one version of any >> given package. This can be a severe limitation for developers. > > Gentoo's emerge doesn't. It adds a concept called slots, which are > different versions of the same package that can be installed in the > same system without conflict. While this property is true for most > versions of most packages in hackage, it is not necessarily true if > those packages contain executables. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe