[Hackage] #789: build-depends on packages that provide no library
Hackage
cvs-ghc at haskell.org
Tue Apr 10 16:03:15 CEST 2012
#789: build-depends on packages that provide no library
---------------------------------+------------------------------------------
Reporter: duncan | Owner:
Type: defect | Status: new
Priority: normal | Milestone: cabal-install-0.16
Component: cabal-install tool | Version: HEAD
Severity: normal | Keywords: solver
Difficulty: unknown | Ghcversion:
Platform: |
---------------------------------+------------------------------------------
Changes (by kosmikus):
* keywords: => solver
* milestone: cabal-install-0.14 => cabal-install-0.16
Comment:
I'm not prepared to add this as an option to the modular solver just yet.
In principle, it wouldn't be hard. We could have a configurable option
that excludes no-library packages while solving.
The tricky issue is the following: for user-specified goals, we want no-
library packages to be available, but *only* if they're not also build-
dependencies of other user-specified goals. However, while building the
tree, we do not know the complete reverse dependencies of the goal nodes
yet. We only have the knowledge for everything above the current node. So
we can, for example, say with certainty that a package is a user goal, but
we cannot say with certainty that we won't discover that it's a build-
dependency of another package later.
This implies that we cannot make the decision whether to exclude no-lib
versions of a package or not yet, and knowledge we acquire later can
invalidate the path of the tree we're currently on.
While this can also be implemented in the modular solver, it's subtle
enough so that I don't want to do it before the 0.14 release.
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/789#comment:3>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list