#782: When building a plan, use installed package dependencies in preference to those from Hackage ---------------------------------+------------------------------------------ Reporter: batterseapower | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: cabal-install tool | Version: HEAD Severity: normal | Keywords: Difficulty: unknown | Ghcversion: Platform: | ---------------------------------+------------------------------------------ I was installing a package, let us call it foo.
This package depended on a package foo', which in turn depended on bar, which in turn depended on baz < 0.3, but baz 0.3 was the default that came with the newer version of GHC I had just installed. Thus, I cabal-unpacked bar and bumped the baz dependency to < 0.4, **without changing the baz version number** since this was just a private change. This built and installed just fine with the new baz. I then went back to cabal install foo. I expected that cabal-install would just install foo' and then foo in that order. Instead, it tried to install baz 0.2, then bar, then foo', then foo. This seems stupid because I already had a perfectly acceptable bar installed. Why didn't Cabal just reuse that? It seems as if it is resolving dependencies by looking at the dependency information for bar **from the Hackage database** rather than the dependencies **from the installed bar**. The workaround is to go back to the unpacked bar and bump the version number, then reinstall it. Now when you install foo the installed baz is used as expected. It would be cool if this worked as expected without bumping the version number, because having to bump the version number even if not making a Hackage release is tiresome. -- Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/782> Hackage <http://haskell.org/cabal/> Hackage: Cabal and related projects _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel