
I'm subscribed, so please reply to the list. Duncan Coutts wrote:
It sounds like you want to select a particular valid configuration in which case you should use finalizePackageDescription.
I actually did try finalizePackageDescription before flattenPackageDescription but I couldn't get it to typecheck. My attempt looked like this: import qualified Distribution.System as DS import qualified Distribution.Compiler as DC finalize :: GenericPackageDescription -> PackageDescription finalize generic = do let compiler = DC.CompilerId DC.GHC (Version [6, 10, 3] []) let flags = [(FlagName "splitBase", True)] let r = finalizePackageDescription flags Nothing DS.Linux DS.I386 compiler [] generic case r of Left _ -> error $ show r Right (d, _) -> d which resulted in: Ambiguous type variable `pkg' in the constraint: `Package pkg' arising from a use of `finalizePackageDescription' at cabal2debian.hs:91:12-88 Probable fix: add a type signature that fixes these type variable(s) and unfortunately, my Haskell foo is not yet strong enough to figure this one out.
So you need to decide what you mean by getting dependencies. The method you use depends crucially on your purpose with the data.
Ok, since I'm trying to generate a Debian package metadata from the Cabal metadata, finalize is definitely what I want. That just leaves me with this type checking problem. Cheers, Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/