
On Wed, 2008-08-20 at 20:53 +0200, Ben Franksen wrote:
Andrew U. Frank wrote:
when i run cabal i get an error message: :~/haskellSources/packages/MissingH-0.18.6$ runhaskell Setup configure
Setup.hs:19:35: Couldn't match expected type `(Either GenericPackageDescription PackageDescription, HookedBuildInfo)' against inferred type `PackageDescription' In the first argument of `(confHook defaultUserHooks)', namely `mydescrip' In the expression: let mydescrip = case os of "mingw32" -> ... _ -> ... in (confHook defaultUserHooks) mydescrip flags In the definition of `customConfHook': customConfHook descrip flags = let mydescrip = ... in (confHook defaultUserHooks) mydescrip flags
what is wrong? i use ghc 6.8.2 and cabal 1.2.3.0
Looks like you'll have to upgrade Cabal (the library). Which version exactly you need I don't know but I'd try the latest and if that fails from there on work backwards.
Actually it's an API change that came in in Cabal-1.2. Looking at the code in the error message it looks like you're generating a different package description based on the OS. That can now be done declaratively in the .cabal file itself using something like: library build-depends: base, blah, blah if os(windows) build-depends: Win32 cpp-options: -DDO_THE_OTHER_THING else ... Take a look in the Cabal user guide or at other .cabal files for examples. Duncan