On Wed, Nov 7, 2012 at 2:09 PM, Matthias Kilian <kili@outback.escape.de> wrote:
Small safety hint for distributors: the haskell-platform.cabal file
mandates network == 2.3.1.0 and HTTP == 4000.2.5, but the latter
by default depends on  network >= 2.4 && < 2.5. So if you want to
avoid to include the same package in different versions (which at
least OpenBSD does), you'll have to configure HTTP with -fnetwork23
(which changes the dependency to network < 2.4).

 I think HTTP can solve this in a better way, instead of using

    #ifdef NETWORK23
    uriDefaultTo a b = maybe a id (a `relativeTo` b)
    #else
    uriDefaultTo a b = a `relativeTo` b
    #endif

it could use

    #ifdef MIN_VERSION_network(2,4,0)
    uriDefaultTo a b = a `relativeTo` b
    #else
    uriDefaultTo a b = maybe a id (a `relativeTo` b)
    #endif

That way it will compile on both old and new network versions without any user interventions (including cabal flag).

-- Johan