
#16072: All dependencies of packages must be explicitly listed when defining flavour packages -------------------------------------+------------------------------------- Reporter: mpickering | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.6.3 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by snowleopard): I agree that having a more intelligent `packages` setting would be convenient, although I'm not sure what would be the best way forward.
It is also unclear to me why this function is defined recursively as surely when we `need` one dependency, that will in turn `need` its dependencies and so on.
This function doesn't `need` anything, it's purpose is to compute the list of transitive dependencies of a `Context`. I believe one of the call sites of this function does rely on transitive dependencies being included into the result, although I'm afraid I don't recall right now where exactly this call site is. It might have something to do with package registration/configuration. How is the current recursive definition problematic, apart from complexity? I don't think this is immediately relevant to this issue.
It would be much more robust for this check to be moved to the place where `win32` is built.
What do you mean? There is no one place where `win32` is built: several different build rules are involved in building `win32`, as any other package. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16072#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler