pbrisbin/yesod-goodies — Issue #3: weird dependency conflict
Author: Tarrasch
Created: 2012-01-04 22:29:07+00:00
State: open

Hello, I've encountered issues when installing `yesod-goodies`, but it's so weird that I think it's a cabal bug unrelated to yg, so it likely should not be a open a ticket for this project, but since others might stumble upon this, let's have this discussion in public.

I get this error (sorry I lost the exact error message) that `yesod-paginator` depends on `HTTP-4000.2.2`, while this conflicts with `yesod-markdown` since it depends on `HTTP-4000.1.2`. This is nonsense, as `yesod-paginator` has no constraint on `HTTP`, and when I did the deep dig for the `yesod-markdown` to `HTTP` dependency I found out it too was on a slack constraint.

I think this is because we install the packages seperately, and `yesod-paginator` don't mind using the latest versions of stuff, and the stuff `yesod-markdown` uses have been in its turn was built with older versions of `HTTP`. Wow, maybe this isn't a cabal bug and just bad luck!

Anyway, for people interested, the below patch fixes this weird issue (it's weird that adding constraints makes it build).

```diff
diff --git a/gravatar/gravatar.cabal b/gravatar/gravatar.cabal
index 889677c..59e3b3b 100644
--- a/gravatar/gravatar.cabal
+++ b/gravatar/gravatar.cabal
@@ -18,7 +18,7 @@ library
, text >= 0.11 && < 0.12
, bytestring >= 0.9.1 && < 0.10
, pureMD5 < 3
- , HTTP
+ , HTTP == 4000.1.2

ghc-options: -Wall
```

Furthermore, I think you can use the daughter packages without the mother package `yesod-goodies`.